"We define loops as agents repeating cycles of work until a stop condition is met."
中文大意:循环 = Agent 重复执行工作周期,直到满足某个停止条件。
— Anthropic Claude Code 团队《Getting started with loops》,2026-06-30
Field Guide · 循环工程
Loop Engineering(循环工程)说的是一次角色转变:不再由你逐条 prompt Agent,而是设计一套替你 prompt Agent 的系统。这一页把 2026 年 6–7 月爆发的这场讨论收拢成一张地图——谁提出的、官方怎么定义、循环由什么零件组成、什么任务值得建循环、生产环境里踩过哪些坑——最后用 10 道题验证你真的学会了。
四个一手来源:Anthropic《Getting started with loops》(即 @ClaudeDevs 推文所载 X 文章)· 吴恩达 The Batch #359 三循环信 · 本地 LLM-WIKI 概念群(LoopEngineering / Ralph / Harness / AgentLoop)· 阿里《Loop Engineering 实战:从日志扫描到预发部署的全自主闭环》。
先立两块基石:官方定义 + 概念谱系。然后做一个最容易混淆的区分——内层 agent loop 和外层 Loop Engineering 不是一回事。
"We define loops as agents repeating cycles of work until a stop condition is met."
中文大意:循环 = Agent 重复执行工作周期,直到满足某个停止条件。
— Anthropic Claude Code 团队《Getting started with loops》,2026-06-30
"I don't prompt Claude anymore. I write loops that prompt Claude and decide what to do next. My job is to write the loop."
中文大意:我已经不再 prompt Claude——我写循环,由循环去 prompt 它并决定下一步。我的工作就是写循环。(转引自 The New Stack 报道)
— Boris Cherny,Anthropic Claude Code 负责人
while true 反复喂同一个 prompt 文件(见 §6)。一条判别公式贯穿全文:循环 = 生成器 + 验证器。能跑起来的循环不等于有用的循环——没有验证器,自动化只是在更快地烧 token(阿里实战文的开篇论断)。
AI 工程化像带新人,四层逐级叠加,上层包含下层全部能力。点每一层,看它解决什么、卡在哪。(框架来自阿里实战文与老金的演进链:Prompt → Context → Harness → Loop)
| 维度 | Harness(挽具) | Loop(循环) |
|---|---|---|
| 触发方式 | 你手动启动一次会话 | 按时间 / 事件自动触发 |
| 运行周期 | 单次会话,做完即止 | 持续运转,跨会话 |
| 状态在哪 | 在 context 窗口里,关掉就没 | 在磁盘上:markdown、看板、git 历史 |
| 你的角色 | 操作者(operator) | 设计者(designer) |
跨越单次对话的记忆,是「循环」和「一次性操作」的分界线。Harness 是为单个 Agent 搭舞台,Loop 是让整出戏自己演下去。(老金)
官方按「怎么触发、怎么停止、用哪个原语、适合什么任务」把循环分成四种。记住原则:不是所有任务都需要复杂循环,从最简单的开始,按需升级。
/loop 在你电脑上按间隔重跑一条 prompt(关机即停);/schedule 把循环搬上云端变成 routine| 循环 | 你交出的是 | 什么时候用 | 伸手用什么 |
|---|---|---|---|
| 回合循环 | 检查这一步 | 你还在探索或做决定 | 自定义验证 SKILL.md |
| 目标循环 | 停止条件 | 你知道 done 长什么样 | /goal |
| 时间循环 | 触发这件事 | 工作按时间表发生在项目之外 | /loop · /schedule |
| 主动循环 | prompt 本身 | 工作重复且良定义 | 以上全部 + dynamic workflows |
读表方式:从上到下,你逐级把「检查 → 停止 → 触发 → prompt」交给系统——这正是 §1 那句「把 prompt Agent 的人替换掉」的分步实现。
Anthropic 分类回答「循环怎么触发」;吴恩达在 The Batch #359 里分的是「循环包着谁、多久转一圈」——从写代码上升到造产品。两套坐标互补。
"So long as the human knows something the AI does not, human-in-the-loop is needed."
中文大意:只要人还知道一些 AI 不知道的事(关于用户、关于业务),人就必须留在循环里。这是吴恩达给「全自动」画的边界——人的价值在于 context advantage(上下文优势),不在于打字速度。
— Andrew Ng,The Batch #359,2026-06-30
两套分类拼起来用:Anthropic 的四种循环是工具箱(拿什么建),吴恩达的三个循环是仪表盘(加速哪个环节最值)。内层循环再快,产品迭代速度仍卡在最慢的外层循环上。
Addy Osmani 的五构件与阿里实战的「五动作 + 六组件」高度同构。这一节用阿里那条生产级 Loop(AI 云诊断系统的日志维护链路)做标本。
| 动作 | 做什么 | 靠什么组件 | 对应 Osmani 构件 |
|---|---|---|---|
| 发现 | 找出该做的事(而不是等人指派) | Connectors + Automations | Automations 定时发现工作 |
| 交付 | 隔离地交给 Agent 执行 | Skills + Worktrees | Skills 项目知识 / Worktrees 并行隔离 |
| 验证 | 换一个 Agent 说不——生成者不能批改自己的试卷 | Sub Agents | Sub-agents 把「出主意」和「验证」分成不同角色 |
| 持久化 | 状态写到对话之外(模型跨轮会遗忘) | State | markdown / Linear 记录已完成与下一步 |
| 调度 | 一圈圈自动转——没有调度就不是循环 | Automations | 「跑在定时器上、会派生小助手、会喂养自己」 |
logger.error 改成 logger.warning——单测全过,但独立诊断复查发现 Trace 里 ERROR 还在。修复 Agent 能骗自己,骗不了独立验证 Agent。整条链路:一句指令或每日定时 → 从 3 个日志库挖出 bug → 8 阶段诊断 → 生成补丁 → 跑 334 条测试 → 提交 CR → 预发部署 → 集成验证 → 钉钉通知。人只点一次「批准发布」。验证失败自动重试,最多 3 轮,三轮不过升级人工——不在错误方向上无限空转。
建 Loop 有 setup 成本(写 Skill、接 Connectors、调验证器)。先过四格检验,四格全满才值得建;缺任何一格,老老实实用回合循环。
Geoffrey Huntley 把循环做到最朴素:一个 while true,反复把同一个 prompt 文件喂给 Agent。prompt 永不变化,变化只发生在文件系统和 git 历史里——文件即记忆,Agent 每轮读自己上一轮的产出来自我纠错。约定一个完成短语(completion promise),输出它就结束;配 --max-iterations 做逃生舱。Claude Code 官方已有 ralph-wiggum 插件(用 Stop hook 在会话内部拦截退出并喂回 prompt,无需外部脚本)。
Ralph 哲学四条:迭代优先于完美;失败即数据("deterministically bad"——失败可预测且有信息量);操作者技能(写好 prompt)比模型更关键;坚持即胜利。
功能性 prompt 保留英文原文(是拿来用的,不是拿来读的),每条附中文大意。从上到下,自动化程度递增。
用在:有确定性验收判据的任务。评估模型会在 Claude 每次想停时检查条件,不达标打回重做。
/goal get the homepage Lighthouse score to 90 or above, stop after 5 tries.
中文大意 把首页的 Lighthouse 分数提到 90 以上,最多尝试 5 次。要点:分数阈值是确定性判据 + 显式轮数上限,两者缺一不可。
用在:轮询外部环境并对变化做出反应。跑在本机,关机即停;间隔要匹配所盯对象的变化频率。
/loop 5m check my PR, address review comments, and fix failing CI
中文大意 每 5 分钟检查一次我的 PR:处理 review 意见、修掉挂了的 CI。PR 合并即自然停止。
用在:良定义的重复工作流。四个原语一次组合:routine 发现工作、/goal 定义完成、workflow 编排多 agent、auto mode 免审批。
/schedule every hour: check #project-feedback for bug reports. /goal: don't stop until every report found this run is triaged, actioned, and responded to. When fixing a bug, use a workflow to explore three solutions in parallel worktrees and have a judge adversarially review them.
中文大意 每小时检查 #project-feedback 频道的 bug 报告;本轮发现的每个报告都要分诊、处理、回复完才许停。修 bug 时用 workflow 在并行 worktree 里探索三种方案,并由一个裁判 agent 对抗式评审。
用在:任何循环的「验证」步。检查越量化,Agent 越能自验——这是回合循环减少来回、目标循环判定 done 的共同基础。官方原文示例:
--- name: verify-frontend-change description: Verify any UI change end-to-end before declaring it done. --- # Verifying frontend changes Never report a UI change as complete based on a successful edit alone. Verify it the way a human reviewer would: 1. Start the dev server and open the edited page in the browser. 2. Interact with the change directly. For a new control (button, input, toggle): click it, confirm the expected state change, and screenshot before/after. 3. Check the browser console: zero new errors or warnings. 4. Use the Chrome Devtools MCP, run a performance trace and audit Core Web Vitals. If any step fails, fix the issue and rerun from step 1 — do not hand back partially verified work.
中文大意 任何 UI 改动都不许只凭「编辑成功」就报告完成:起 dev server 亲自打开页面 → 直接操作改动点并截图前后对比 → 控制台零新增报错 → 用 Chrome DevTools MCP 跑性能 trace 审计 Core Web Vitals。任一步失败就修掉并从第 1 步重来,不许交回部分验证的工作。
用在:良定义 + 可自动验证 + 可放手的任务。--completion-promise 是精确字符串匹配,表达不了多种完成状态,所以 --max-iterations 才是首要安全阀。
/ralph-loop "Implement the spec in SPEC.md one item at a time. After each change, run the full test suite and fix failures before moving on. When every item is implemented and all tests pass, output DONE." --max-iterations 20 --completion-promise "DONE"
中文大意 逐条实现 SPEC.md 里的规格;每次改动后跑全量测试、修完失败再继续;全部实现且测试全绿时输出 DONE(完成短语)。最多迭代 20 轮。取消用 /cancel-ralph。
| 周 | 做什么 | 产出 | 验收标准 |
|---|---|---|---|
| 1 | 四格检验 + 选场景 | 一张四格表 + 一个确定的目标场景 | 四格全满 |
| 2–3 | 建 Connectors(接日志 / 监控 / 发布) | Agent 能查日志、能触发发布 | 一条命令跑通全链路 |
| 4 | 写第一个 Skill + 加定时调度 | 每天自动跑一轮 Loop | 连续 3 天无人值守运转 |
老金的同构建议:最小可用 Loop = cron + 一个 skill + markdown 记忆,先跑起来再逐层加——Maker/Checker 分离和防静默失败(changelog + 异常上报 + 通知)随后补上。
先看阿里在生产环境交的四笔学费,再看两条来自命名者和吴恩达的认知边界,最后是官方的 token 纪律。
retry=3 改成 retry=0,线上超时率翻倍。对策:每周至少抽查 3 个 diff。logger.error → warning 的假修复畅通无阻。对策:至少 3 层独立验证才允许自动合并。/usage 按 skill / subagent / MCP 拆用量;/goal 不带参数看轮数与 token;/workflows 看每个 agent 的消耗并可随时叫停。收束到一句话:工程师的价值正从「写 prompt」转向「设计能自己转的循环」——别再当循环里最慢的那一环。但循环转得再快,diff 还是要看,责任还是你的。
10 道题:定义与谱系、四种循环选型、三循环视角、解剖学、适用判断、实战纪律。答错会告诉你回读哪一节。全对解锁一句话总结。