AI Agents: 内循环 vs 外循环

作者: Philipp Schmid (@_philschmid)
原文: https://x.com/i/status/2024141866841567535


核心观点

当人们谈论 AI Agent “闭环”时,他们通常指的是 Agent 在回应前会验证自己的工作。这可能会让人困惑:”如果工具调用循环是硬编码的,模型如何决定验证自己的工作?”

简短回答: 循环是硬编码的,但模型在循环内做什么不是。


内循环 (Inner Loop)

什么是内循环?

每个 Agent 框架都运行着大致相同的周期:

模型生成 → 如果有工具调用,执行它 → 将结果反馈 → 模型再次生成 → 重复直到模型返回文本(不再有工具调用)

这个循环是脚手架——对每个 Agent 都一样。

差异在哪里?

差异在于模型选择在循环内做什么。

一个”闭环”的模型不需要特殊的循环,它使用现有的循环来调用验证工具,然后才决定完成。

具体例子

场景: 你说”修复 auth.ts 中的失败测试”

弱 Agent: 编辑文件 → 说”完成了!”

强 Agent: 编辑 → 创建测试 → 运行测试 → 看到失败 → 修复边界情况 → 再次运行 → 看到通过 → 然后回应

相同的基础设施,不同的行为


外循环 (Outer Loop)

什么是外循环?

外循环发生在多个回合/会话之间,用户和 Agent 随着时间推移进行交互。

用户给 Agent 一个任务,它工作(内循环),返回结果,然后用户带着下一个任务回来。

关键问题: Agent 从上一轮学到了什么吗?

没有持久记忆的问题

没有持久记忆,每一回合都是全新的开始。

昨天在分页上失败的 Agent,今天会再次失败。

外循环的实现方式

几乎没有一个 Agent 原生做到这一点。外循环需要持久状态、技能、规则文件或笔记,能够在回合和会话之间存活。

一些早期例子:

  • OpenClaw 的 .claw 文件: 用户为未来回合编写的持久指令
  • 会话交接文档: Agent 为后续工作编写的结构化摘要
  • OpenClaw 的 Skills: Agent 分析失败并自动生成 Skills,以便下次任务不重复错误

总结

维度 内循环 外循环
关注点 单次任务内的可靠性 随着时间变得更聪明
机制 验证工具调用 持久记忆/技能
实现 提示词 + 后训练 持久状态管理

关键点:

  • 循环是硬编码的。每个 Agent 都有相同的 生成 → 工具调用 → 反馈 循环
  • Agent 在循环内做什么是学到的。好的 Agent 在回应前调用验证工具,弱的直接停止

整理时间: 2026-02-19
来源: Twitter/X