Loop 真正值钱的,不是”让 AI 跑更久”
一个被误读的爆火概念
“Loop Agent”(循环型智能体)最近火得一塌糊涂。Addy Osmani(Google Chrome 工程负责人)连写三篇文章把它系统化,社区里 Ralph Loop、loop engineering、self-improving agent 这些词到处飞。
但绝大多数讨论都跑偏了——焦点全放在”让 AI 一直跑、跑很多轮”上。这是对 Loop 最大的误读。Loop 真正值钱的,从来不是”跑得久”。如果你只是开一个很长的对话让 AI 反复改,那不叫 Loop,那只是”更累的人工盯着”。
它的价值,在另一件事上。
顺带说一句:很多人拿 Loop 和”长会话”比来比去,争论它俩是不是一回事。那只是副产品,不重要。重要的是 Loop 凭什么值得被单独拎出来——这才是本文要讲清的。
价值一:把你从循环里替换出来
Addy 给 Loop Engineering 下的定义,是我见过最准的一句:
Loop engineering is replacing yourself as the person who prompts the agent. You design the system that does it instead.
(Loop 工程,就是把你这个”负责一轮轮提示 agent 的人”替换掉。你来设计那个替代你的系统。)
这句话点透了 Loop 的第一层价值:解放人。
传统做法里,每一轮要不要继续、做得对不对、什么时候算完——全是你在推动,AI 只是在你驱动下接力执行。Addy 把这比作”把 AI 当成只有短期记忆的实习生”:你给清单、你检查、你存盘。driver 是你,judge 也是你。
Loop 把这个”你”工程化地抽走了。不是让你更省力地推,而是根本不需要你推。
价值二:人可以离场
这是 Loop 最性感的一点:你可以关掉电脑去睡觉,醒来发现它自己把活干完、验证过、提交了 PR。 Addy 的原话是 “ship code while you sleep”。
传统方式做不到——你必须全程在场,每一轮都得你点头。而 Loop 靠 hook、条件触发、定时器自己跑下去。人类能不能离场,是 Loop 区别于一切”人盯着的循环”的命门。
有一个铁律般的检验标准:你能不能放心地去睡觉? 能,才是 Loop;不能,就还是你自己在 loop。
价值三(这才是核心):真正的杠杆是”把 done 编码清晰”
这是全篇最反直觉、也最关键的一点。
直觉会告诉你:Loop 的威力来自”跑很多轮””跑很久”。Addy 戳破了它——
杠杆不是”让 agent 跑更久”,而是”把 done 的定义编码得足够清晰,让 loop 有明确优化目标”。
想想看:如果一个 loop 没有”完成”的精确定义,它要么瞎跑(没有收敛目标),要么永远跑下去(没有终止条件)。真正给 Loop 赋能的,是你能把”什么叫做完”写成机器能判断的条件——测试通过、lint 干净、覆盖率达标、或一个 completion promise。
done 编码得越清晰,loop 收敛得越快越稳。很多人搭了 loop 却不灵,十有八九是 done 定义模糊,loop 不知道往哪使劲。
这条之所以是文眼,是因为它把 Loop 从”一个让 AI 多跑几轮的小技巧”提升为”一种把目标工程化的方法论”:Loop 的本质不是循环,而是给循环装上一个可机械验证的目标。
价值四:分离,让它既保质又可控
光有目标还不够,Loop 还有两个工程化保障:
Worker / Judge 分离。 干活的 agent 和打分的 judge 是两个独立角色。judge 是另一套 eval 脚本或另一个 agent,它不靠人主观判断,只认数字。这让每一轮迭代都有客观标准——好就是好,不行就回退,没有”我觉得差不多了”的含糊地带。
可审计、可回滚。 每一步都留痕,失败自动 revert,不留垃圾。Loop 不是黑箱对话,而是有范围、可追溯、可回退的工程过程。
这两点具体怎么落地成协议,后面讲 flow skill 时会展开(auto-iterate 的 keep/revert 就是它的实现)。
价值五:它会越来越强
传统做法里,AI 这一轮学到的经验,往往随会话结束就丢了(顶多靠上下文压缩苟延残喘一会儿)。
Loop 不一样——它能把每一轮的教训回写到 skills 和 memory,跨 session 持续改进 agent 自身。换句话说,loop 跑得越多,agent 越强。这是从”用完即弃”到”自进化”的质变。
业界实践:Loop 不是我一个人的玩法
如果你觉得”Loop”只是个人折腾的概念,那就错了——2026 年它已经是 Anthropic 官方在推、一线大厂在用、开源社区在标准化的东西。
官方就在推这套
Anthropic 在 Code with Claude 2026 大会上专设「Long-Running Agents」站点,并开源 anthropics/cwc-long-running-agents 作为模式参考。它把 quality loop 拆成原语,并直接对比两条兑现路径:
| 产品内(开箱即用) | 自建 harness | |
|---|---|---|
| 谁驱动 loop | /goal 命令 |
你写的原语 + loop |
| 谁判断 done | 一个独立快速模型检查条件 | 你的 evaluator |
换句话说,Anthropic 官方已经把”Worker/Judge 分离”和”done 编码”做进了产品——正是上文价值三、价值四的工业化版本。
两个让人坐直的案例
科学计算——Boltzmann 求解器。 Anthropic 的 long-running 实践里,Claude Opus 4.6 用几天就构建出一个 Boltzmann 求解器,与参考的 CLASS 实现达到亚百分点级精度一致。Addy Osmani 评价:这是”数月到数年的研究者时间,被压缩”。
大型工程——Rakuten 改造 vLLM。 据 Anthropic《2026 Agentic Coding Trends Report》,Rakuten 让 Claude Code 在 1250 万行代码的 vLLM 库里自主连续工作 7 小时,完成一种激活向量提取方法,数值精度 99.9%。这种规模、精度和自主时长,靠人在旁边一轮轮 prompt 是不可想象的——只有 loop 撑得住。
业界共识:别再手动 prompt 了
You shouldn’t be prompting coding agents anymore. You should be designing loops that prompt your agents.
—— Peter Steinberger(OpenClaw 作者)
Anthropic 内部同样如此——Claude Code 负责人 Boris Cherny 的工作就是写 loop,不是写单个 prompt。
想深入可以读
cobusgreyling/loop-engineering:loop engineering 的实践模式参考仓库- arXiv《Dive into Claude Code》:把 agent loop 归纳为”收集上下文 → 采取行动 → 验证结果”三阶段,并给出 auto-approve 率随使用从 20% 涨到 40% 的纵向数据
落地:flow skill 如何兑现这些价值
光说价值太虚。我自己搭了一套 ClaudeCode skill 体系来兑现它——核心是 flow-deep(深度编排管道)、auto-iterate(keep/revert 迭代协议)和 Ralph Loop(Stop Hook 强制持续)。它们不是三个孤立工具,而是同一套 Loop 思想在不同强度下的三层实现。
整体管道:从”人来 steer”到”机器自治”
flow-deep 把一次任务编排成 Stage 0 到 5.7 的管道。前半段是人参与的长会话(规划、执行),后半段是机器自治的 loop(验证、收敛)。关键在两者的切换点:
stateDiagram-v2
[*] --> 长会话: /flow-deep 启动 Stage 0-4
长会话 --> 验证: Stage 5 强制验证
验证 --> 完成: 全部 PASS
验证 --> 迭代: 有失败 开启 iterate
验证 --> 交还: 有失败 未开 iterate
迭代 --> 完成: N轮内达标
迭代 --> Ralph: N轮用完 ralph可用
迭代 --> 降级: ralph不可用
Ralph --> 完成: promise达成
Ralph --> 完成: 策略穷尽
Ralph --> 中断: cancel-ralph
完成 --> [*]
交还 --> [*]
降级 --> [*]
中断 --> [*]
这张状态机揭示了一个关键设计——Loop 不是一开始就启动,而是在”验证失败”这个明确节点上被触发。长会话负责开放式探索(方向没定,人来 steer);一旦方向定了、done 可量化,验证失败就自动切入 loop 收敛。这正好印证价值三:没有 Stage 5 那些可机械验证的验证项,整个 loop 机制都没有启动条件。
auto-iterate:价值四(分离 + 工程化)的落地
auto-iterate(Stage 5.5)是第一级 loop,在单个会话内做有界迭代。它把”Worker/Judge 分离”和”可审计可回滚”落成了一套 keep/revert 协议:
flowchart LR
A["Review 审查现状"] --> B["Pick 选一个方向"]
B --> C["Change 只改一处"]
C --> D["Verify 机械验证"]
D -->|"通过"| E["Guard 回归检查"]
D -->|"失败"| RV["Revert 自动回滚"]
E -->|"通过"| K["Keep 保留"]
E -->|"失败"| RV
K --> Q{"达标?"}
RV --> Q
Q -->|"否 且轮数剩余"| A
Q -->|"是 或 轮数用完"| END["退出 auto-iterate"]
style RV fill:#da1e28,color:#fff
style K fill:#198038,color:#fff
style END fill:#0f62be,color:#fff
它的 6 条核心规则,每条都是价值四的注脚:
- 每次只改一个——精确定位原因,失败时知道问题出在哪一处
- 机械验证——只信任验证命令输出的数字,杜绝主观判断(loop 只认数字,不认感觉)
- 自动回滚——失败不留痕迹,实验性改动用
experiment:前缀提交,不行就退 - 简洁优先——同等效果选更少代码,防止 loop 越改越臃肿
- Git 即记忆——每步存盘,可追溯可回退
- 卡住时变换策略——连续 3 次 revert 就换方向,避免死磕
这套协议让 Judge 完全独立于 Worker——judge 只看验证数字,不看”我觉得改得不错”。这就是价值四说的”没有含糊地带”。
Ralph Loop:价值二(可离场)的落地
auto-iterate 还不够——它跑在单个会话里,N 轮用完就停,人还得盯着。Ralph Loop(Stage 5.7)是第二级 loop,杀手锏是 Stop Hook:拦截会话退出,强行让 loop 继续。这才是真正兑现”可离场”的机制——人可以真的走开。
Ralph Loop 有四个关键约束,每一个都是”可离场”的必要条件:
- Stop Hook 拦截会话退出——这不是 Agent 级机制,是会话级机制。Agent 想停?不让停。
- 固定 prompt——每轮注入的是启动时写好的同一份 prompt,不支持动态更新。因为 Stop Hook 只能注入预设内容,没有动态生成能力。解法是让 LLM 每轮自己去读
progress.md的最新状态:固定的是”怎么取状态”的指令,变化的是”取到什么”。 状态是真实文件,不会像模型记忆那样失真,反而比动态生成 prompt 更健壮。 - Completion Promise 诚实性——只有 Stage 5 全部通过、或策略真穷尽时才能输出”完成”,不许为了退出而撒谎。
- session_id 隔离——Stop Hook 只拦截启动 loop 的那个会话,启动前必须清理 Stage 4 的 tmux 分屏,避免误伤其他会话。
嵌套:Ralph 包裹 auto-iterate
这两级 loop 不是替代,是嵌套:Ralph Loop 在外层,每轮 Ralph 内部仍跑 auto-iterate 的 keep/revert 协议。可以理解成——auto-iterate 负责”一轮内怎么逼近”,Ralph 负责”轮与轮之间怎么持续”。内层收敛,外层持续,合起来才是”你可以睡觉,它自己交活”。
五价值 ↔ flow skill 映射
| Loop 价值 | flow skill 兑现的机制 |
|---|---|
| 解放人 | Stop Hook 替代人手动驱动每轮 |
| 可离场 | Ralph Loop 的会话级强制持续 |
| done 编码是真杠杆 | Stage 5 的可机械验证验证项(loop 启动条件) |
| 分离 + 工程化 | auto-iterate 的 Worker/Judge 解耦 + keep/revert + Git 回滚 |
| 自进化 | 教训回写 skills/memory,跨 session 改进 |
别被空转骗了:怎么确认 Loop 真在收敛
Loop 有个隐藏陷阱——它可能假装在跑,其实原地空转。判断它真在收敛,盯这几样:
- STATE.md 在更新:
current_stage、ralph_iteration在变,说明它真在推进 - TSV 历迹有记录:keep/revert 决策和 metric 变化都留痕
- Git 有 experiment: 提交:迭代过程可追溯
- 验证命令输出真数字:禁止 “should pass” / “probably”,loop 只认实打实的输出
- Completion Promise 有证据支撑:不许为了退出而撒谎说”完成了”
没有这些证据,所谓”loop 跑完了”就不可信。这也是 Loop 的诚实性约束:策略真穷尽了才能宣告完成,否则必须附”部分完成”说明。
所以,Loop 到底值在哪
flowchart TD
M["动机 解放人 replacing yourself"] --> E["效果 可离场 while you sleep"]
M --> C["核心机制 done编码是真杠杆"]
C --> Q["质量保障 分离+工程化"]
C --> S["长期价值 自进化 跨session"]
style C fill:#0f62be,color:#fff,stroke:#0f62be
一句话:Loop 把”人盯着的循环”变成了”机制自治的收敛”。
- 解放人——替换掉那个每轮推你的角色
- 可离场——你能睡觉,它自己交活
- done 编码才是真杠杆——给循环装上可验证的目标
- 分离与工程化——质量靠机制,过程可追溯
- 自进化——跨 session 越用越强
它和长会话到底是不是一回事?不重要。重要的是——只要你能把”完成”写成机器认的条件,你就拥有了一个可以替你睡觉干活的系统。 这才是 Loop 的价值。
来源
- Addy Osmani — Loop Engineering
- Addy Osmani — Self-Improving Coding Agents
- Addy Osmani — Long-running Agents
- Addy Osmani — Ralph loop (Long-running Agents)
- Anthropic — When AI builds itself (Recursive Self-Improvement)
- Anthropic — 2026 Agentic Coding Trends Report
- GitHub — anthropics/cwc-long-running-agents
- arXiv — Dive into Claude Code