跳到正文
SGSteven Guan

原子概念 / Agent Loop

Agent执行循环

重复进行观察、行动、反馈与状态更新的执行过程。

要解决的问题怎样让模型行动循环支持插话、取消和可解释恢复?

检索别名:ReAct循环 · 代理循环

BLUEPRINT局部蓝图

01 输入

  1. 已提交Run状态
  2. 待处理用户输入
  3. 本步能力与预算
→

02 处理机制

  1. 在step边界消费输入
  2. 冻结本步上下文和工具视图
  3. 解析完整调用并执行
  4. 提交结果后判定下一状态
→

03 输出与证据

  1. 有序Step事件
  2. 工具调用与回执
  3. 继续、等待或完成候选

重复进行观察、行动、反馈与状态更新的执行过程。

一轮交互并不等于一次模型请求。用户可能在Agent搜索期间补充限制;模型可能一次请求多个工具,再根据结果继续推理;一次业务任务也可能经过多个交互turn。将Session、Turn、Step和ModelCall分开记录,才能解释一次操作为什么发生,以及哪个输入在当时有效。

Codex固定源码的run_turn在step边界消费待处理输入,执行hooks,并捕获该步的上下文。注释强调,context、模型可见工具和实际调用需要共享同一份请求视图。这避免模型按照旧工具定义作出决定,执行器却按新定义解释参数。该源码说明了公开CLI的设计,不能据此断言所有桌面或托管版本完全相同。

推荐的循环先读取已提交状态和新输入,再组装当前上下文;模型请求完成解析后,验证每个完整工具调用;对写操作预先持久化操作身份与意图,再交网关执行;工具回执和错误落盘后,才判断继续、等待或输出候选。流式文字可以先展示,但不能把半个JSON对象当可执行命令。取消和用户纠正应有明确入口,而非任意线程直接修改messages数组。

停止也是循环的一部分。最终输出、预算耗尽、权限不足、用户取消和结果未知是不同状态。模型没有再请求工具不一定代表工作完成,工具失败也不一定应该立即重试。测试应覆盖多工具并发、工具结果缺失、断流、插话和完成前取消,并检查持久事件能否解释每次状态转换。

例如用户先要求比较三家公司,Agent运行中又补充“只用截止昨日可见资料”。这条补充应在下一个step进入权威任务限制,并使已取得的不合格资料退出候选。若后台子Agent仍按旧截止日工作,父loop必须识别其产物版本,不能直接混入最后报告。这样的测试比只检查循环能跑十轮更接近企业需求。

实践重点:按turn与step消费输入;记录每次模型和工具结果,再决定继续、等待或完成。

验证抓手:检验工具失败、用户插话、预算耗尽及无工具最终输出。

常见误区:只写while直到模型说完成,没有预算、取消和恢复。

Codex:turn与step循环源码;Claude Code:工作原理。

RELATIONSHIP MAP

与其他节点的关系

箭头从本节点指向目标;关系是工程分析映射,不代表厂商合作或已披露的内部实现。

哪些节点指向本页 · 8
  • 执行轨迹、循环与故障归因 — 验证 → Agent执行循环

    验证循环的信息增益、停止、取消与预算行为。

  • Claude Code — 实现 → Agent执行循环

    公开能力或可见源码体现Agent执行循环的具体产品路线。

  • 端到端延迟关键路径 — 依赖 → Agent执行循环

    本节点的设计需要先明确Agent执行循环。

  • OpenAI Agents SDK — 实现 → Agent执行循环

    公开能力或可见源码体现Agent执行循环的具体产品路线。

  • OpenAI Codex — 实现 → Agent执行循环

    公开能力或可见源码体现Agent执行循环的具体产品路线。

  • Workflow与局部Agent — 依赖 → Agent执行循环

    本节点的设计需要先明确Agent执行循环。

  • DeepSeek Harness — 实现 → Agent执行循环

    公开能力或可见源码体现Agent执行循环的具体产品路线。

  • 规划与再规划 — 依赖 → Agent执行循环

    本节点的设计需要先明确Agent执行循环。

PRIMARY SOURCES

来源与阅读边界

来源按研究截止日整理。官方文档说明能力和约束,代码只证明对应版本,论文与讲座不自动证明生产效果。 资料截止:2026-10-15。

  1. Codex:turn与step循环源码 ↗公开代码

    观察基线:2026-10-15;固定源码与具体发行版本分别核验。

  2. Claude Code:工作原理 ↗官方文档 / 声明

    公开资料观察基线:2026-10-15。