TL;DR

Agent Loop 是 AI Agent 完成任务时的内循环。 它让模型不再只是回答一句话,而是能在“观察、推理、行动、反馈”之间多轮迭代。理解 Agent Loop 的关键,不是把它神秘化成“自主智能”,而是把它拆成可控的运行机制:状态如何保存、工具如何调用、错误如何恢复、何时继续、何时停止。

目录

核心要点

  • Agent Loop 是运行时机制:它发生在一次 Agent 任务执行过程中,不是团队层面的研发方法论。
  • 循环必须有边界:最大步数、超时、成本预算、工具权限和人工审批是生产环境的基本约束。
  • 工具调用只是其中一环:真正的 Agent Loop 还要处理观察、状态、错误、重试、停止和输出。
  • 轨迹比最终答案更重要:要调试 Agent,就必须记录每一步的决策、工具调用、工具结果和状态变化。
  • 越开放的循环越需要验证器:没有结构化验证的 Agent Loop,很容易把错误观察放大成连续错误。

相关工具:Agent 导航 可用于查找 Agent 框架和平台;JSON 格式化工具 适合检查 Agent 运行日志、工具结果和轨迹 JSON。

Agent Loop 是什么

Agent Loop,也常被写作 Agentloop,是指 AI Agent 在执行任务时反复进行的一组步骤:

text
观察当前状态
→ 推理下一步
→ 选择动作或工具
→ 执行动作
→ 读取反馈
→ 更新状态
→ 判断继续或停止

如果传统聊天机器人像一次函数调用,那么 Agent Loop 更像一个受控的事件循环。模型每一轮都基于当前上下文和上一轮反馈决定下一步动作。

一个简单例子是“帮我分析一个 JSON 报错”:

text
用户目标:找出 JSON 解析失败原因
观察:读取用户粘贴的 JSON
推理:怀疑是尾逗号或字符串转义错误
行动:调用 JSON 解析工具
反馈:工具返回第 18 行第 24 列错误
更新:定位到未转义的双引号
输出:解释原因并给出修复后的 JSON

这里的关键不是模型“想了很多”,而是它能够把工具反馈纳入下一轮判断。

Agent Loop 的标准流程

生产级 Agent Loop 通常可以拆成 7 个环节。

1. Goal:明确目标

Agent 首先需要一个目标。目标越模糊,循环越容易跑偏。

差的目标:

text
优化一下这个项目

好的目标:

text
检查最近新增的 3 篇博客是否存在无效内链,修复后运行链接校验,不要修改无关文件

目标里最好包含范围、成功标准和约束。否则 Agent 会把“看起来合理”的动作当成正确动作。

2. Context:构造上下文

上下文包括用户输入、系统规则、相关文件、历史状态、工具列表和安全策略。它决定模型能看见什么,也决定模型会忽略什么。

Context Engineering 的价值就在这里:它不是简单塞更多文本,而是让 Agent 在每一轮拿到最相关、最少冗余、最可执行的信息。

3. Reason:推理下一步

模型根据当前观察决定下一步。常见决策包括:

  • 直接回答
  • 调用工具
  • 读取更多上下文
  • 请求用户澄清
  • 停止并报告失败
  • 进入人工审批

这个环节可以使用 ReAct 思路,也可以使用 Planner-Executor、状态机或图编排。关键是让决策可解释、可约束、可追踪。

4. Act:执行动作

动作通常是 Tool Use:搜索、读取文件、调用 API、运行测试、写入数据库、创建 PR 或操作浏览器。

工具层必须有边界。一个好的工具定义应该说明:

  • 输入 schema
  • 输出 schema
  • 是否有副作用
  • 是否需要审批
  • 超时和重试策略
  • 错误格式

5. Observe:读取反馈

工具结果不是“答案”,而是下一轮推理的证据。Agent 需要解析工具输出,判断它是否支持继续执行。

例如测试失败时,Agent 不应该只说“测试失败了”,而应该提取:

  • 哪个测试失败
  • 失败断言是什么
  • 失败是否由本次变更引起
  • 是否需要读取相关代码
  • 是否应停止并请人决策

6. Update:更新状态

状态可以放在内存、数据库、任务文件或运行时对象中。状态至少应包含:

json
{
  "goal": "修复 JSON 校验错误",
  "step": 4,
  "observations": ["第 18 行解析失败", "定位到未转义双引号"],
  "actions": ["parse_json", "read_file"],
  "remainingBudget": {
    "maxSteps": 8,
    "tokens": 12000
  }
}

如果要支持长任务、中断恢复和审计,就需要 Agent Runtime 来管理状态生命周期。

7. Stop:判断停止

停止条件和行动条件同样重要。常见停止条件包括:

  • 已达到用户目标
  • 达到最大步骤数
  • 达到成本或时间预算
  • 工具连续失败
  • 需要高风险权限
  • 观察信息不足
  • 验证器失败且无法自动修复

没有停止条件的 Agent Loop,迟早会变成成本和风险问题。

它和 ReAct、Tool Use、Agentic Workflow 的关系

这几个概念经常混用,但层级不同。

概念 关注点 和 Agent Loop 的关系
ReAct 推理和行动交替的提示范式 Agent Loop 的一种常见认知模式
Tool Use 模型调用外部工具 Agent Loop 的行动环节
Agent Runtime 管理 Agent 会话执行 承载 Agent Loop 的运行环境
Agentic Workflow 由 Agent 参与的任务流程 可以包含一个或多个 Agent Loop
Agent Harness 权限、观测、评估和治理控制层 给 Agent Loop 加上工程护栏

Agentic Workflow 更偏流程编排,而 Agent Loop 更偏单个 Agent 在运行时的步骤循环。一个 Agentic Workflow 可以调用多个 Agent,每个 Agent 内部又有自己的 Agent Loop。

最小可用架构

一个最小但可控的 Agent Loop 可以这样设计:

flowchart TD A["User Goal"] --> B["Context Builder"] B --> C["LLM Decision"] C --> D{"Action Type"} D -->|Answer| E["Final Response"] D -->|Tool Call| F["Tool Executor"] F --> G["Observation Parser"] G --> H["State Store"] H --> I{"Stop Condition?"} I -->|No| B I -->|Yes| E D -->|Needs Approval| J["Human Approval"] J --> F

这个架构故意保持克制。很多团队一上来就做多 Agent、复杂图编排和长期记忆,反而忽略了最基础的状态、工具错误和停止条件。

如果你正在构建第一个 Agent Loop,建议先只做三件事:

  1. 定义工具 schema 和错误格式。
  2. 记录完整 Agent 轨迹
  3. 设置最大步数、超时和审批门。

工程落地中的失败模式

失败模式 1:目标漂移

用户要求“修复测试”,Agent 最后重构了半个模块。这通常不是模型能力问题,而是目标边界没有被写进循环状态。

修复方式:把目标、不可做事项和验收标准放进每轮上下文,而不是只放在第一轮。

失败模式 2:工具结果不可解析

工具返回一大段自然语言,Agent 只能猜测是否成功。猜测会导致错误重试。

修复方式:工具输出结构化 JSON,例如:

json
{
  "ok": false,
  "errorCode": "VALIDATION_FAILED",
  "message": "Missing required field: title",
  "retryable": false
}

失败模式 3:自我验证

同一个 Agent 写代码、解释代码、再判断代码正确,很容易形成确认偏差。

修复方式:用脚本、测试、规则引擎或独立 Reviewer Agent 做验证。对高风险动作,加入 Approval Gate

失败模式 4:无成本上限

Agent 在失败工具上连续重试,或者每一轮都读取大文件,成本会快速失控。

修复方式:设置步骤预算、token 预算、工具调用预算和单工具重试次数。

设计检查清单

上线 Agent Loop 前,至少检查这些问题:

检查项 问题
目标 目标是否有明确成功标准?
上下文 每轮是否只注入必要上下文?
工具 工具 schema、权限和错误格式是否清楚?
状态 是否记录步骤、观察、行动和成本?
停止 是否有最大步数、超时和失败停止条件?
验证 是否有模型之外的验证手段?
审批 高风险动作是否需要人工确认?
观测 是否能复盘完整 Agent 轨迹?

这个清单比“换更强模型”更重要。模型能力越强,越需要清晰边界。

FAQ

Agent Loop 必须使用多 Agent 吗?

不需要。Agent Loop 可以只由一个模型和几个工具组成。多 Agent 是协作模式,不是闭环运行的前提。

Agent Loop 和普通 while 循环有什么区别?

普通 while 循环的逻辑由程序员完全写死。Agent Loop 的每一步决策部分由模型生成,但运行时仍应由程序控制边界、权限和停止条件。

Agent Loop 是否等于自主智能?

不等于。Agent Loop 只是让模型能多步骤执行任务。它可以表现出一定自主性,但本质仍是受目标、上下文、工具和策略约束的运行机制。

如何判断 Agent Loop 是否值得做?

看任务是否高频、可拆分、可验证,并且工具反馈足够结构化。如果任务无法验证、风险很高或强依赖主观判断,先做人机协作流程,而不是全自动 loop。

总结

Agent Loop 是理解 AI Agent 工程化的基础概念。它把一次模型回答扩展成多轮“观察、推理、行动、反馈”的受控执行过程。

真正可靠的 Agent Loop 不依赖玄学提示词,而依赖清晰目标、结构化工具、可复盘轨迹、严格停止条件和外部验证。掌握这个内循环后,再去理解 Loop Engineering、Agent Harness 和多 Agent 编排,会更容易分清每个概念的位置。