跟一次完整工作过程:它怎样一步步完成任务
跟着同一个访谈任务,看系统怎样读取材料、采取行动、接收新结果、调整下一步并在明确条件下停止。
- 能画出完整 Agent 状态机
- 能定义循环预算与终止条件
- 能识别重复调用和假完成
一句任务,怎样变成一串可观察、可暂停、可检查的动作?
Claude Code 官方把工作概括为收集上下文、采取行动、验证结果,三个阶段会交织发生;为了观察状态,本站再把它展开为“判断—行动—观察—调整”。这是一种教学视角,不是每个 Agent 都要机械执行的四步协议。
生产系统还要处理更多状态:工具请求可能被策略拒绝,审批会暂停任务,工具可能超时,用户可能取消,上下文和费用可能超限。模型说“完成了”只是一个终止候选,最终成功必须绑定外部证据。
循环可靠性的核心是进展。连续两次得到相同错误却重复相同动作,说明系统在消耗预算但没有获得新信息。Harness 要检测重复、限制重试,并在无法继续时交付已有成果和明确阻塞。
先记住这句话一次 Turn 内可以包含多轮模型推理和工具调用。模型请求动作,Harness 校验并执行,结果作为 Observation 回到上下文;结束条件由最终回答、限制策略或人工控制共同决定。
先看懂一个正常循环
用户提交任务后,Harness 创建状态和预算,组装上下文并调用模型。模型请求搜索资料;策略判断为只读并允许;工具返回片段;该 Observation 被加入下一次调用。模型再请求读取全文,最后生成洞察候选。
每一轮都应回答三个问题:新增了什么事实,任务状态发生了什么变化,剩余预算和风险是否允许继续。没有状态变化的循环不是进展。
审批和失败是正常分支
当 Agent 要向外部系统写入研究结论时,状态进入 awaiting_approval。用户允许后恢复,拒绝后旧计划失效,Agent 可以降级为导出草稿。审批不是弹窗装饰,而是暂停和恢复 Turn 的双向协议。
工具失败也不等于任务立即失败。暂态且幂等的读取可有限重试;稳定错误应更换路径;缺少业务判断应询问用户;不可恢复时应终止并保留证据。
终止条件必须覆盖四类结局
completed 表示完成证据通过;completed_with_limits 表示交付了部分价值并明确限制;failed 表示目标未达成且无法继续;cancelled 表示用户或策略主动停止。不同终态需要不同文案、产物和后续动作。
时间、工具次数、Token、费用和风险都可以成为预算。预算不是只为控制成本,也防止无限循环和副作用扩大。
把透明度放在可验证事件上
用户不需要阅读全部内部日志,但应看到计划变化、关键工具、审批、失败、验证和最终影响。事件要说明谁做了什么、输入输出是什么、状态为何变化。
本站透明 Agent 是确定性教学模拟,用来解释状态变化;它不是 Codex、Claude Code 或其他产品内部实现的复刻。真实产品会采用不同事件名和模块边界。
同一个任务,怎样穿过一次 Agent Loop?
骨架不动;信号每移动一步,只表示系统状态真实改变了一次。
任务请定位登录超时测试失败的原因,修复代码,并运行相关测试验证。
创建 thread_042 / turn_007,预算设为 12 次工具调用、8 分钟。
Harness 创建状态与预算;模型尚未调用。
用户目标 + 当前项目工作区
创建 thread_042 / turn_007,预算设为 12 次工具调用、8 分钟。
结构化任务契约
有术语没听懂?在这里用人话再看一遍6 个词+
- Agent Loop
- 模型判断、工具行动、环境观察和状态调整反复发生,直到进入明确终态。
- 状态机
- 列出系统允许的状态以及状态之间可发生的转换。
- 预算
- 对时间、费用、Token、工具次数或风险暴露设置的运行上限。
- 终止候选
- 模型建议停止,但仍需 Harness 用完成证据判断是否真的成功。
- 进展检测
- 判断新一轮是否获得了新信息或改变了任务状态,用于阻止无效重复。
- 降级交付
- 无法完成全部目标时,保留已验证产物并明确未完成范围。
登录超时 Bug 的九步循环
搜索文件、读取认证逻辑、修改、测试失败、读取错误、调整 Mock、再次测试、检查 Diff、总结风险。
- 01
第一次 Observation 把问题定位到时间单位
- 02
测试失败不是任务失败,而是下一轮有效 Observation
- 03
最终回答之前检查测试退出码与 Diff 范围
真正的完成状态绑定代码、测试和风险说明,而不是模型停止调用工具。
本章依据与证据边界6 条结论 · 5 份原始材料+
正文已经把关键来源放在相关概念旁边。这里保留完整核验清单:每条材料能支持什么、不能支持什么;不要求离开本站才能继续学习。
- [1]
OpenAI 对 Codex 的公开拆解说明模型会在工具调用和工具结果之间循环,直到产生最终输出或被系统条件打断。
官方事实OPUnrolling the Codex agent loop官方工程文章 · 核验 2026-07-14 - [2]
Anthropic 将 Claude Code 的工作描述为收集上下文、采取行动与验证结果,并明确这些阶段会交织发生。
官方事实ANHow Claude Code works官方文档 · 核验 2026-07-14 - [3]
Hermes 固定提交源码展示了工具调用校验、修复、去重、执行与结果回填;这些确定性处理都发生在模型之外。
固定源码观察NOHermes Agent tool loop (fixed commit)官方源码 · 核验 2026-07-14 - [4]
Hermes 固定提交的 Turn Finalizer 会区分预算、失败与完成,保存轨迹并持久化会话,说明循环结束还需要系统关账。
固定源码观察NOHermes Agent turn finalizer (fixed commit)官方源码 · 核验 2026-07-14 - [5]
Anthropic 的可信 Agent 研究强调在现实部署中管理自主性、监控、错误与人类控制。
官方事实ANTrustworthy agents in practice官方研究 · 核验 2026-07-14 - [6]
本站四类终态、事件名称和透明模拟器是教学状态机,不代表 Codex 或 Claude Code 的内部枚举。
本站推演OPUnrolling the Codex agent loop官方工程文章 · 核验 2026-07-14
查看全部一手材料与源码证据 5 条
这份材料区分了由预定义代码路径控制的 Workflow 与由模型动态控制过程的 Agent,并强调先采用能工作的最简单方案。它还给出 Prompt Chaining、Routing、Parallelization、Orchestrator-Workers、Evaluator-Optimizer 等组合模式,以及何时值得承担 Agent 的延迟、成本和复合错误。
官方产品实现 · 核验 2026-07-11How Claude Code worksAnthropic这份文档把 Claude Code 的 Agent Loop 描述为收集上下文、采取行动、验证结果三个相互交织的阶段,并说明模型与工具如何通过结果反馈持续调整。它还解释 Claude Code 作为 Harness 所承担的上下文管理、执行环境、会话、压缩、检查点和权限职责。
官方产品实现 · 核验 2026-07-11Unrolling the Codex agent loopOpenAI这份材料逐步解释 Codex Harness 如何组装 instructions、tools 与 input,通过 Responses API 在一次 Turn 内循环完成模型推理和工具调用。它还说明对话增长、上下文窗口、Prompt Caching 与 Compaction 为什么属于 Harness 的核心工程责任。
固定提交源码 · 核验 2026-07-11Hermes Agent conversation loopNous Research这段固定提交源码展示 Hermes 如何检查工具名、修复参数、限制委派数量、去重调用、执行工具,并把结果写回消息历史。它直接证明生产级 Agent Loop 在模型输出与真实动作之间还需要确定性处理。
固定提交源码 · 核验 2026-07-14Hermes Agent turn finalizationNous Research这段固定提交源码定义 Turn 结束时的预算与完成判定,并把轨迹保存、资源清理、会话持久化和清理错误纳入统一关账。它支持课程把 completed 视为需要系统证据与退出处理的状态,而不是模型的一句话。