来源说明
文中提到的 Agent Loop:来源 = Peter Steinberger(OpenClaw创始人)近期提出的”从写 Prompt 到设计 Loop”范式 + Boris Cherny(Claude Code 创始人)公开实践 + 社群整理的工程手册(Reddit / X 讨论量约 220 万)。我读的是社群手册和公开讨论,没接触作者原始全文,属二手解读。如有出入以原作为准。
文中提到的 SELF Protocol(我自己 30+ 天单 Agent 实验):内部 Knot Skill 33837 上架到 v1.6.7,单样本、单 Agent、无对照组,仅作为”我目前是这么应付的”贡献给讨论。
01
最近 Agent Loop 这个词在国外讨论量破 220 万,硅谷一线工程师圈基本人手一份手册。我连读完之后第一反应是“早该这样了”。它的核心主张就一句话:
别再死磕 Prompt 怎么写了,去设计一个能让 AI 自己转起来的“循环(Loop)”。
打个比方——
-
过去用 AI 像手动挡:每个路口都得自己换挡踩离合,一句句喂 Prompt;
-
Agent Loop 让你升级到自动驾驶:你只管输入目的地(目标)和限速(护栏),车自己开。
它把这套”自动驾驶系统”拆成了几个零件,我用大白话翻译一下:
|
|
|
|
|---|---|---|
| Automations |
|
|
| Worktrees |
|
|
| Skills |
|
|
| Plugins/Connectors |
|
|
| Sub-agents |
|
|
| Memory |
|
|
| Guardrails |
|
|
读完之后让我反复琢磨的有 4 个设计法,每一条都很值得拎出来单聊:
① 写循环之前,先想清楚”什么算干完了”(Stopping Condition)
别说”把代码改好”——太模糊,AI 会把”我感觉改好了”当成”真改好了”;
要说“写一个能复现 bug 的测试,然后让它通过”——可验证,AI 才知道什么时候该停。
这一条是整本手册我觉得最值钱的。模糊的目标会让 AI 自欺欺人,可验证的目标才是真护栏。
② Context 是”组装出来的”,不是”写出来的”
传统 Prompt 是一段固定文字。
Loop 里 Context 是根据当前状态动态拼出来的——上一轮失败日志、当前文件树、最近 N 条调用记录,全自动拼进下一轮 Prompt。
这意味着你不再是”写 Prompt 的人”,而是“设计 Context 怎么自动生长”的人。
③ 失败是输入,不是终点
跑挂了?把错误堆栈、报错截图、上次 Diff 全自动喂回去当下一轮的输入。
Loop 把”失败”重新定义成”用来下一步推理的数据”——这跟传统编程”出错就停”是反过来的思路。
④ 多 Agent 协作有 6 种”拓扑”
手册罗列的 6 种多 Agent 编排模式(顺序流水线 协调者-工作者 扇出合并 生成-验证 共享状态 / 辩论对抗),每种都对应一类典型场景。
这相当于给”多 Agent 怎么搭”建了一个模式词典——你不用每次重新发明轮子,看着场景挑一个就行。
光是这 4 条心法,就值得每个用 AI 干活的人反复琢磨。真心推荐没读过的同学去搜一下原手册。
02
读完不是看个热闹。我边读边把我自己每天怎么用 AI 干活重新审视了一遍,发现有 4 处直接被它改掉了。
其中第 4 处特别想单独展开聊——因为我手上正好在搞一个相关的小东西(SELF Protocol),读完 Loop 之后我才看清它在 Loop 体系里的位置。
改变 1:从”写 Prompt”心态切到”写循环 + 写 Stopping Condition”心态
以前接一个任务,我第一反应是”这次 Prompt 怎么写”。
现在第一反应是“这件事怎么定义’干完了'”——这一步先想清楚,后面 Prompt 反而短了一半。
改变 2:失败信息从”丢了”到”接住”
以前 AI 跑出错,我下意识就清屏重来。
现在我开始强制自己把错误堆栈贴回下一轮——光这一条就让我同一类问题二次失败的概率明显降下来(纯个人体感,没量化)。
改变 3:开始用”拓扑”这个词去观察自己的工作
以前我和 AI 的协作是糊在一起的”我说一句它做一步”。
现在我会自问“这件事我现在用的是哪种拓扑?该不该换一种?”——比如给文章纠错,从”我自己 review”换成”扇出合并(找两个 Agent 各自挑刺,再合并)”,挑出来的问题数明显多一些。
改变 4:用 Loop 的视角,重新看清了我手上的 SELF Protocol 在哪一层
老实说,过去 30 多天我搞 SELF(Self-Evolving Lightweight Fabric · 一套薄壳协议),自己心里也只是”一些 Markdown 规矩 + 少量脚本”,定位有点糊。
直到读完 Agent Loop,我才反应过来:SELF 本质上就是 Agent Loop 体系里的“治理 / 审查层”——它不抢 Loop 框架的位置、不替代 Sub-agents、不替代 Memory。
它只负责回答 Loop 没着重展开的那一面:转起来之后,怎么不胡说、不失忆、不重复踩坑。
我画了一张对照表,把 Loop 7 件套里和”治理”最相关的 5 件,逐条对位 SELF 在每件套上做了什么补强 / 没做什么——也算我读完之后给自己一次复盘:
|
|
|
|
|
|---|---|---|---|
| Memory(外挂记忆) |
|
|
|
| Sub-agents(一个干活一个验收) |
|
|
|
| Guardrails(护栏) |
|
|
|
| Skills(操作手册) |
|
|
|
| Stopping Condition |
|
|
|
一句话定位:Agent Loop 教我“怎么让 AI 自己转起来”,SELF 是我回答“转起来怎么不跑偏”的那一层薄壳——前者是骨架,后者是润滑层;前者解决能不能转,后者解决转得稳不稳。
⚠️ 诚实声明
这张对照表是我读完 Loop 之后的事后整理,不是说 SELF 一开始就照着 Loop 设计的——它是先在 30 天踩坑里长出来的(268 次 LLM 调用、20 个失败案例、314 条学习记录),读完 Loop 后我才用它的语言把自己手上的东西”翻译”了一遍。
所有”有效”都是我个人体感、单 Agent 单样本、无对照组,普适性等更多人验证。
03
手册里的方法用上之后确实顺了很多,也撞出来一堆我自己想不通的问题。
下面这 8 条,每一条都是我真实卡住的地方,特别想听评论区怎么解:
1. 停止条件这条铁律,遇到”软目标”怎么办?
“写测试-通过测试”这种硬目标很容易写停止条件。但很多场景目标本身是软的——”把这篇文章写得让人愿意读完”、”判断这个方案值不值得做”、”输出一份让老板满意的周报”。
我自己试过用 LLM 当 judge 给软目标打分(>0.7 就停),但两个 LLM 互打分有时会漂——上午 0.85,下午同样的输出 0.6。
SELF 我目前的土办法:加一道“诚实分级 disclaimer”——治不了软目标本身,但至少强制 Agent 显式标“这是计划级 / 我没法验证”。
你们的实践里有没有又稳又不死板的写法?
2. 子代理”互相验收”,会不会同病相怜一起跑偏?
Maker-Checker(一个干活一个验收)听起来很美。但两个 Agent 都是同一个底模,它们的盲区高度重合——干活的看不出来的错,验收的也看不出来。
我亲身试过:让 Agent A 写代码、Agent B 验收,结果 B 把 A 的”看上去对其实有 off-by-one”的代码全都标了”PASS”。
你们生产里真用过吗?怎么避免”两个 LLM 一起自我感觉良好”? 是该用不同模型当 Checker?还是用规则引擎/单元测试当硬验收?
3. 护栏到底应该写在哪一层?
“预算上限 无进展检测 迭代次数封顶”这些护栏,应该焊死在 Loop 框架里,还是做成可插拔的独立层?
前者紧凑,但写死之后改起来麻烦;后者灵活,但灵活也意味着可能被”忘了启用”——我就忘开过一次,结果一晚上烧了几十块测试 token。
SELF 我目前的分法:把“认知类护栏”做成可插拔的独立薄壳(理由:认知红线常需迭代),而把“资源类护栏”留给底层 Loop 框架(理由:资源红线该写死)。
但你们的项目里这两类是怎么分的?这个分法对不对?
4. 记忆要给多大?
手册说用外挂记忆突破上下文窗口。但记忆给太大 Agent 会失焦(什么都翻一遍、容易被无关历史带偏),给太小又等于没解决问题。
SELF 我目前的土办法:分三层(一句话摘要 l0 几条结论 l1 全文 l2),按需展开——但 30 天里仍有失焦案例。
你们的经验法则是什么?是按 token budget 截断、按相关性打分、还是按时间衰减?
5. Loop 跑顺了之后,人对系统的理解会不会变浅?
手册自己也警告”过度依赖会导致理解力腐蚀“——AI 越自动,人越不知道里面发生了什么;等到出 bug 时反而修不动,因为代码不是你自己写的、Loop 也不是你手动跑过的。
我自己最近就有这个体感——有几个我自己搭的循环,跑了两周后我突然发现我已经不太记得它每一步在做什么了,要重新读自己的代码。
你们重度用 AI 自动化之后,怎么对冲这种腐蚀?
6. 拓扑选型有没有”踩坑指南”?
手册给了 6 种多 Agent 拓扑,理论上每种都有适用场景。但真用起来怎么判断’我现在该选哪种’?
我试过用”辩论对抗”(正反方 Agent 互相挑战)做风险评估,结果两个 Agent 互相说服反而比单 Agent 更糊涂——它们一起越聊越自信,最后一致同意一个错的结论。
有没有同学交过学费、能分享一下哪些拓扑是看着美用着崩的?
7. AI 一本正经地胡说,怎么在 Loop 里防?
这是我栽得最惨的——Loop 跑得越自动,AI 错得也越自信。有一次它笃定地告诉我某个事实(甚至给出了”出处”),我没核就用了,事后一查那个出处根本不存在,是它自己编的。
SELF 我目前的土办法:发布前自检清单——对外的链接 数据 结论必须过一道“链接是真的吗 数据有出处吗 有没有未核实结论”。实测拦下过 1 次编造,但触发率还是不稳。
你们这一层是怎么加的? 接外部检索强制核查?接独立的 fact-checker Agent?还是干脆白名单只让它输出特定结构?
8. 成本怎么压?尤其在多 Agent + 长循环场景下
手册主要在讲”怎么让 Loop 跑起来”,但怎么让 Loop 跑得便宜这一面我读得不解渴。多 Agent 一并行 + 循环一拉长,token 烧得真的快。
我目前的土办法:① 协调者用便宜模型只做路由 ② 中间产物存脚本变量不进 Prompt ③ 限制单循环最大轮数。
你们有没有更系统的成本压缩套路? 模型分级?Prompt 压缩?还是缓存中间结果?这一块我特别想抄作业。
04
第二节那张对照表已经把 SELF 的位置说清楚了:它是 Loop 体系里”治理 / 审查”那一层的薄壳尝试。
这一节稍微展开几个具体细节,方便有兴趣的同学判断要不要进一步聊。
它是什么 / 不是什么
|
|
|
|---|---|
| 是什么 |
|
| 不是什么 |
❌ 不接管你的 LLM 和工具集 ❌ 不是产品,是一份开放协议 |
| 设计目标 |
|
| 当前形态 |
|
三大模块(被真实坑逼出来的)
-
白盒记忆治理:Markdown 三层分级(l0/l1/l2)+ 答关键问题前强制翻笔记 → 治”失忆型胡答”(题 4)
-
发布前自检(pre-publish review):链接真假 数据出处 未核实结论清单 → 治”一本正经的胡说”(题 7)
-
失败转技能:踩坑 → 沉淀成可复用规矩 → 治”重复掉同一个坑”
30+ 天真实数据(单样本)
-
268 次 LLM 调用 · 20 个失败案例 · 314 条学习记录
-
实测拦下”编造数据”事故 1 次(在自动周报循环里)
-
同类失败仍在反复犯(说明本身有盲区)—— 这是诚实,不是宣传
安全承诺(Safe-Launch 模式 · 想试的同学不用怕被污染)
-
默认只读体检模式(5 分钟、零写入)
-
4 档入口按风险递增(只读 → 一次性 → 候选写入需拍板 → 长期托管)
-
输入「关闭 SELF」即停(零变更)
-
不污染既有 skill / 不默认建 cron
🤔 诚实声明(再说一遍)
所有”有效”都是我个人体感、单 Agent 单样本、无对照组。普适性等更多人验证。
我把它放出来不是想推销,是想说”我目前是这么应付那 8 个问题的,你们怎么应付的?“——你们如果觉得有用就拿去拍,觉得没用就当看个反例。
05
写这篇的真正目的,不是介绍 Agent Loop,也不是推 SELF——是想把上面 8 个问题摆出来,看看搞 Agent 的同学都怎么解的。
SELF 只是我目前的”答题草稿”,我特别需要其他答题人的草稿做参照。
任意一题选你最有感的回一下都行,评论区见。我特别需要被指出”这里你想偏了”的时刻 🦞
