用白话理解 AGENT 闭环

Loop Engineering 入门

好的 Agent Loop 不是让 AI 永远干下去,而是让一个有边界的系统知道目标、一次做好一小步、读取真实证据、记住进度,并因正确的理由停止。

从逐轮催促 Agent,转向设计整个系统

没有工程化 Loop 时,人要不断在目标、Agent、测试结果和下一条 Prompt 之间搬运信息。AI 也许很能干,但每次前进仍依赖人看到结果、判断问题,再亲手决定下一步。

Loop Engineering 把这些重复协调外化成系统:触发工作、装配一次有限尝试、读取证据、保存状态,再选择安全路线。人移到更外层,负责定义合同、批准高风险后果,并在循环失败时改进系统。

先记住三件事

  • 自动化不等于没人管

    人离开的是重复路由,不是责任。

  • Loop 包在模型外面

    Prompt 和工具调用只是更大运行系统里的部件。

  • 停止本身也要设计

    成功、阻塞、升级和预算耗尽都是合理终点。

先看懂最小可用闭环

Loop 最简单的含义是:一次观察会改变下一步。Agent 读取当前状态、采取动作、观察环境、调整计划,最后做出一次路线判断。

真正的工程工作发生在这条循环周围:让目标可观察、让每个动作有边界、把高信号反馈带回来,并防止返回箭头退化成无限重试。

最小结构只有三件关键事

  • 目标

    必须是能对照的结果,而不是“继续优化”这种活动描述。

  • 真实反馈

    环境需要返回能改变下一次行动的事实。

  • 路线

    每一圈都要落到重试、停止、阻塞、升级或取消。

把意图变成可执行契约

“把结账体验做得更好”给了 Agent 很多自由,却没有给控制器足够的判断依据。第一次尝试之前,先把意图变成系统能够读取的字段。

一份好用的运行合同需要写清目标、范围、非目标、允许的工具、验收证据、预算、停止条件和升级负责人。它不必像法律文件,但必须精确到系统不用临时发明规则也能决定下一条路线。

防止漂移的合同字段

  • 范围与非目标

    同时说明可以改什么,以及必须保持不动的东西。

  • 证据与权限

    说明什么能证明成功,以及允许触碰哪些真实系统。

  • 预算与升级

    限制尝试、时间、Token 和并行度,并指定谁来接手。

让一次尝试只完成一个有限任务

长时间运行的 Loop 不应该要求一个上下文窗口解决整个项目。一次尝试只调查一个窄假设,做一个小而最好可逆的改动,运行声明过的检查,再记录学到了什么。

尝试失败时,有价值的产物不只是代码。失败测试、日志、被否定的假设、成本与剩余不确定性,都会变成下一次尝试更好的输入。Loop 正是这样收敛,而不是机械重复。

有限尝试保护什么

  • 上下文质量

    任务足够小,模型才有空间理解真正相关的事实。

  • 可逆性

    小 diff 更容易检查、撤销,也更容易与证据对照。

  • 学习价值

    只要证据被保存,失败的尝试也能推动系统前进。

让“完成”成为裁决,而不是感觉

语言模型可以给出逻辑自洽、语气自信的解释,却仍然错误理解了真实环境。所以执行者说“做完了”只能算一项主张,不能直接当作完成信号。

独立证据既可以是确定性的,例如测试或数据库不变量;也可以是判断性的,例如另一位审查者按 Rubric 评价。强 Loop 会组合多层信号:便宜检查自动跑,真实 E2E 观察用户行为,而品味、意图与重大后果交给人。

证据需要分层

  • 确定性检查

    测试、类型、不变量和策略规则快速且可重复。

  • 真实场景观察

    浏览器、CI、日志、截图和用户路径能发现环境差异。

  • 人的判断

    意图、品味、取舍与不可逆后果仍然属于人的领域。

把记忆移出对话窗口

上下文窗口是工作记忆,不是数据库。长对话会被压缩,Agent 会重启,文件会变化,早期假设也会过期。如果进度只存在聊天里,新尝试就可能重复旧调查,甚至推翻已经正确的修复。

持久状态要保存恢复所需的事实:当前目标、允许范围、工作队列、试过的方案、测试输出、重要决策、剩余阻塞、成本,以及上一次为什么停止。Git、进度文件、任务系统或数据库都可以承担这个角色。

持久状态不是聊天全文

  • 事实优先

    保存当前代码、检查、决策和阻塞,而不是所有思维过程。

  • 每轮刷新

    每次尝试重新读取当前现实,而不是迷信旧记忆。

  • 可恢复交接

    不同 Agent 或人无需重建整段对话也能继续。

设计多种正确的停止方式

不安全的 Loop 只认识一个终点:成功。其他一切都会自动变成下一次重试。可靠控制器会把停止看成路由问题,并在运行前就命名所有终态。

PASS 表示声明过的证据已满足;BLOCKED 表示外部依赖阻止推进;ESCALATE 表示系统缺少权限或判断力;BUDGET EXHAUSTED 表示实验已经触顶;CANCELLED 表示人或策略主动结束。它们都不应该被伪装成无声失败。

停止控制器要问四个问题

  • 证据通过了吗?

    通过就打包证据并停止,不再重复同一任务。

  • 失败能教会下一轮吗?

    只有出现新且可行动的信息、预算仍够时才重试。

  • 需要人来决定吗?

    遇到模糊、高风险、权限不足或预算耗尽就升级。

拿掉一个部件,看 Loop 怎样坏掉

可靠行为来自多个部件协同,而不是某个模型单独足够聪明。缺少证据、记忆、权限边界、隔离空间或停止控制器时,再强的模型也无法长期补偿。

理解 Loop Engineering 最快的方法,是故意把机器拆坏。每个缺失部件都会产生可识别的故障模式,系统应该能监测这些信号并修复对应层。

每种故障都有特征

  • 观察症状

    重复尝试、过早完成、diff 冲突和审查积压都是系统信号。

  • 修对应层

    不要把每次失败都归因于 Prompt 不够长或模型不够大。

  • 从 Trace 改进

    把重复事故固化为测试、Skill、Hook、Grader 或更窄权限。

看清 Loop Engineering 里的五层循环

人们会在不同时间尺度上使用“Loop”。最内层是模型在一次运行中调用工具;外一层由验证器推动重试;更宽的运营 Loop 发现工作并跨会话保存;改进 Loop 根据 Trace 修改 Harness;最外层的人类 Loop 负责目标、权限、风险和后果。

这些层是嵌套关系,不是相互替代。更好的 Prompt 仍然重要,上下文仍然要策划,Harness 仍然提供工具和护栏。Loop Engineering 追问的是:这些部件怎样在时间中反复与现实互动。

每一层回答不同问题

  • Agent 能行动吗?

    执行循环把模型决策连接到工具和环境反馈。

  • 工作能收敛吗?

    验证与运营把多次尝试变成持续、证据驱动的进展。

  • 系统能负责吗?

    改进与人类 Loop 管理学习、权限和真实世界后果。

走一遍真实的 CI 修复 Loop

实用 Loop 可以远小于“软件工厂”。想象一个只响应结账测试失败的 Routine:CI 是触发器,合同把修改限制在结账模块,Agent 在隔离分支里工作,独立检查决定下一条路线。

关键产物不只是补丁。一份好运行应该交付证据包:什么触发了工作、改了什么、跑了哪些检查、还不确定什么、用了多少预算、为什么停止,以及是否仍需要人工批准。

适合第一次部署的形状

  • 稳定信号

    选择触发与验收都明确的工作,例如可复现的 CI 失败。

  • 最窄权限

    只给任务确实需要的权限与最小可写范围。

  • 可审查交付

    以小 diff、证据、停止原因、成本和已知缺口收尾。

自动化下一轮之前,先回答七个问题

当任务会重复、环境能够返回有意义证据,并且下一步可以被限制时,Loop Engineering 才最有价值。如果工作是确定性的、很容易写成脚本,那就直接用脚本;如果成功无法判断,或后果无法安全隔离,就让人继续留在执行路径里。

从一个工作流、低权限、可见 Trace 和很小的尝试上限开始。密切审查前几次运行。只有当系统能解释它看到了什么、改了什么、为什么停止、还不确定什么时,才逐步扩大自治。

第一个 Loop 检查表

  1. 什么可观察结果代表工作结束?
  2. Agent 可以改什么,哪些内容明确不在范围内?
  3. 哪些证据来自环境,而不是 Agent 自己的报告?
  4. 一次有限尝试做什么;尝试、时间、Token 和并行度预算是多少?
  5. 进度、证据、决策与阻塞保存在哪里,怎样跨越对话?
  6. 哪些结果会重试、停止、阻塞、取消或升级给哪位负责人?
  7. 重复失败怎样变成测试、Skill、Hook、Grader、工具或更安全策略?

不要混淆这些设计尺度

  • Prompt这条指令怎样表达?

    一次尝试中的一个控制输入。

  • Context模型此刻应该看到什么?

    为一次推理选择的高信号信息。

  • Harness这个 Agent 能安全地做什么?

    模型周围的工具、权限、沙箱、Hook、记忆和恢复。

  • Loop工作怎样持续推进并停止?

    触发、合同、尝试、证据、状态、路由和人工边界。

  • Factory大量 Loop 怎样规模化组织?

    队列、隔离、审查容量、治理与组合层学习。

Loop Engineering 不是让 AI 一直做,而是设计系统怎样知道下一步、怎样证明做对、怎样在该停时停下,并把失败变成下一次更好的运行。

术语说明:“Loop Engineering”是正在形成中的 AI Agent 实践标签,不是单一正式标准。本指南综合了 2024–2026 年 Anthropic / Claude、Addy Osmani、OpenAI、LangChain 与 IBM 的公开工程资料,不宣称某个个人是绝对首创者。