flowchart LR
N0["01 能力与边界"]
N1["02 工具与权限"]
N2["03 会话与上下文"]
N3["04 执行与恢复"]
N4["05 追踪与验证"]
N5["06 扩展与钩子"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5
Agent Harness
现代 Agent Engineering 学习路线:Agent Harness
0 子目录6 文档

CHAPTER OVERVIEW · 章节概览
先区分模型决策和模型外的运行支撑,再把工具、权限、会话、执行和恢复接起来;扩展点应有清晰边界。
本章学习路线
箭头表示建议的学习顺序;先理解问题,再逐步进入实现与实践。
按顺序学习
6Agent Harness 架构:模型之外的能力来源模型知道下一步想做什么,还需要程序替它准备材料、执行动作和保存状态。Harness 就是组织这些工作的运行环境。下面先看一条任务怎样跑起来,再逐步拆出权限、恢复和日志等部分。Tool Registry、Permission Gate、Session Store 与 Compaction工具列表、用户权限、会话状态和历史压缩常出现在同一个运行过程中,却各有职责。先用一次读取文件的调用把它们连起来,再看分别怎样管理,能避免把所有状态都塞进一个不断增长的对象。Trace、调试、失败恢复与 ValidationAgent 报告“任务失败”,还不够帮助排查。需要知道它看到了什么、选择了哪个动作、工具实际返回什么。Trace 把这些事件串起来;恢复与验证则利用记录判断从哪里继续,以及结果是否真的完成。Executor 执行器:从已解析决策到可恢复的真实动作代码里叫 Executor 的对象,可能执行一次工具,也可能调度整轮任务。先明确正在讨论哪一层,再看事件和状态如何流动。下面把模型决策与实际执行分开,尤其关注超时、取消和部分成功。Middleware、Hooks 与 Callbacks:横切能力的可控扩展点日志、审批和重试全写进主循环,代码很快会难以阅读。扩展点可以把它们拆出去,但也要说明谁先执行、谁能中止、出错后怎么办。下面用这些问题理解 middleware、hooks 与 callbacks。Agent Harness 推荐阅读阅读 Harness 源码时,选一次具体任务作为线索会更容易:谁接收输入,谁调用模型,谁执行工具,最后谁判断完成?沿这条路径查文件和测试,比先看完整模块图更容易建立理解。