原子概念 / Agent Loop
Agent执行循环
重复进行观察、行动、反馈与状态更新的执行过程。
检索别名:ReAct循环 · 代理循环
01 输入
- 已提交Run状态
- 待处理用户输入
- 本步能力与预算
02 处理机制
- 在step边界消费输入
- 冻结本步上下文和工具视图
- 解析完整调用并执行
- 提交结果后判定下一状态
03 输出与证据
- 有序Step事件
- 工具调用与回执
- 继续、等待或完成候选
重复进行观察、行动、反馈与状态更新的执行过程。
一轮交互并不等于一次模型请求。用户可能在Agent搜索期间补充限制;模型可能一次请求多个工具,再根据结果继续推理;一次业务任务也可能经过多个交互turn。将Session、Turn、Step和ModelCall分开记录,才能解释一次操作为什么发生,以及哪个输入在当时有效。
Codex固定源码的run_turn在step边界消费待处理输入,执行hooks,并捕获该步的上下文。注释强调,context、模型可见工具和实际调用需要共享同一份请求视图。这避免模型按照旧工具定义作出决定,执行器却按新定义解释参数。该源码说明了公开CLI的设计,不能据此断言所有桌面或托管版本完全相同。
推荐的循环先读取已提交状态和新输入,再组装当前上下文;模型请求完成解析后,验证每个完整工具调用;对写操作预先持久化操作身份与意图,再交网关执行;工具回执和错误落盘后,才判断继续、等待或输出候选。流式文字可以先展示,但不能把半个JSON对象当可执行命令。取消和用户纠正应有明确入口,而非任意线程直接修改messages数组。
停止也是循环的一部分。最终输出、预算耗尽、权限不足、用户取消和结果未知是不同状态。模型没有再请求工具不一定代表工作完成,工具失败也不一定应该立即重试。测试应覆盖多工具并发、工具结果缺失、断流、插话和完成前取消,并检查持久事件能否解释每次状态转换。
例如用户先要求比较三家公司,Agent运行中又补充“只用截止昨日可见资料”。这条补充应在下一个step进入权威任务限制,并使已取得的不合格资料退出候选。若后台子Agent仍按旧截止日工作,父loop必须识别其产物版本,不能直接混入最后报告。这样的测试比只检查循环能跑十轮更接近企业需求。
实践重点:按turn与step消费输入;记录每次模型和工具结果,再决定继续、等待或完成。
验证抓手:检验工具失败、用户插话、预算耗尽及无工具最终输出。
常见误区:只写while直到模型说完成,没有预算、取消和恢复。
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。
- Codex:turn与step循环源码 ↗公开代码
观察基线:2026-10-15;固定源码与具体发行版本分别核验。
- Claude Code:工作原理 ↗官方文档 / 声明
公开资料观察基线:2026-10-15。