Part 10:Agent Loop 工程
Part 9 解释了 Agent 为什么需要 Harness。Part 10 继续深入 Runtime:面对长上下文、庞大工具面、进程重启、运行中追问、Provider 卡死、重复动作和并行调用时,怎样让循环仍然可靠。
公开源码快照:实现细节取自 Kocoro 公开仓库
origin/main的4ec6772提交,复核日期为 2026-07-27。章节讲的是不变量;具体常量应以当前源码为准。
章节地图
| 章节 | 主题 | 回答的问题 |
|---|---|---|
| 34 | 从 DAG 到 Agent Loop | 解释确定性 DAG 何时应切换到自适应 Agent Loop,以及长驻 Daemon 每个 Turn 必须重建哪些状态。 |
| 35 | 上下文压缩 | 设计分阶段的上下文压缩阶梯:溢出前主动处理、验证摘要,并保留紧急恢复路径。 |
| 36 | Tool Result 预算与外溢 | 说明如何把大型 Tool Result 移出 Prompt,同时保留可用预览和持久指针。 |
| 37 | 分层压缩 | 解释旧工具证据的首次分层、正文型工具下限与字节稳定重写。 |
| 38 | Deferred Tool Loading 与 Tool Search | 通过 Token 预算、类别延迟、Warm Set 与 Tool Search 控制 MCP Tool Schema 膨胀。 |
| 39 | Prompt Cache 稳定性 | 说明稳定 Prompt 前缀、字节一致的 Fork Request 与执行期权限检查如何提高 Prompt Cache 命中。 |
| 40 | 持久化 Agent Loop | 用阶段边界 Checkpoint、中断标记、有界无人恢复与幂等持久化设计可恢复 Agent Turn。 |
| 41 | 运行中操控 Agent | 解释运行中 Agent 如何吸收追问、保持消息寻址、区分 Delivery Ack 与重放,并安全响应中断。 |
| 42 | Agent 超时与 Watchdog | 区分 Soft Idle 告警、Hard Cancel、Stream Gap 检测与阶段感知策略,处理 Agent 卡死。 |
| 43 | 卡循环检测 | 用互补进展信号、有界 Nudge、ForceStop 与公开的零字节写入事故构建卡循环检测。 |
| 44 | 并行工具执行 | 解释如何用按调用判定的并发 Trait、有序结果配对和保守 Bash 分类安全执行并行工具。 |
| 45 | Computer Use 上下文管理 | 分离文本观察、浏览器截图与全局图像预算,让 GUI Loop 保留可行动状态而不让 Prompt 无限增长。 |
推荐阅读路径
- 上下文与成本:35 → 36 → 37 → 38 → 39
- 持久性与控制:40 → 41 → 42
- 可靠性、速度与 GUI 上下文:43 → 44 → 45
- 从 DAG 工作流进入:34 → 40 → 43 → 44
源码边界
只使用 Kocoro 公开 origin/main 中被 Git 跟踪的文件。排除本地架构笔记、未推送分支、私有事故复盘、托管服务拓扑、内部 Token 与私有仓库路径。
第 45 章已经纳入,因为 Observation Window 与图像预算实现现已进入公开 origin/main。