循环工程入门与实操
从"提示词解决你在场的问题"到"循环让 AI 自己动":四层演进、五部件、Ralph 循环与 5 分钟上手模板。
开篇:提示词解决"你在场"的问题
传统用法是人肉发动机:你敲一句,AI 生成一段,你检查一遍,再敲一句——每一轮都要你在场,"你不在,流程就停了"(@Formulasearch)。
而 Claude Code 负责人 Boris Cherny 说:"我不再 prompt Claude 了,我让一堆循环跑着,由它们去提示 Claude;我的工作变成了写循环。"
提示词像遥控器:你按一下电视动一下,你走开它就停。循环像定时插座:你设好规则,它自己按时通电断电,你不在场它也照常工作。
四层演进:Prompt → Context → Harness → Loop
以下来自 @smithandai 的中文长文,他把 2026 年的 Agent 工程切成四层,每一层解决一个不同的问题:
| 层 | 解决什么 | 一句话 |
|---|---|---|
| Prompt | 表达 | 把需求说清楚 |
| Context | 背景 | 给模型足够的上下文 |
| Harness | 执行 | 让 agent 真的能干活(调工具、跑验证) |
| Loop | 闭环设计 | 让工作被持续调度、验证和积累 |
Loop vs cron:cron 跑的是固定脚本,loop 每一轮都让模型读当前状态再做决策——"loop 是 cron 加上一个运行时决策者"。prompt 是单步棋,loop 是一套策略。
四层像开餐馆:Prompt 是点菜时把话说清楚,Context 是给厨师看完整菜单和库存,Harness 是厨房设备和传菜动线,Loop 是"每天自动备菜-做菜-质检-复盘"的经营制度。
分水岭问题
还在展示"我让 AI 做了什么"(demo),还是已经开始描述"我设计了什么系统让 AI 持续做、我怎么知道它没跑偏"(loop thinking)?从前者跨到后者,就是入门循环工程。
最小 loop 的五部件,与 VERIFY / State / 停止条件
以下来自 @smithandai(五部件)与 @Easycompany333(三大件),两篇文章讲的是同一件事,这里合并为一次讲解:
最小可用 loop 的五个部件
- done check(完成检查)——先用代码定义"什么叫完成";
- context builder(上下文构建器)——每轮从 state 生成 prompt;
- act and capture(执行与捕获)——捕获 diff、输出、错误、新状态;
- feedback path(反馈路径)——失败变成下一轮的输入;
- stop conditions(停止条件)——轮数 / 预算 / 风险动作上限。
三大件:Verify 是心脏
- Verify(验证)是心脏:没有真检查,agent 只是在自我赞同。硬测试、可测量条件、或让模型按 rubric 打分——但注意,完成任务的模型对自己太宽容;
- State(状态)让 loop 不重复犯错:记住试过什么、失败过什么、下一步是什么;
- Stop condition(停止条件)让 loop 保持理智:成功就停,或到硬上限停下来汇报(比如"最多 8 次")。
目标接口(goal)、状态接口(state)、上下文接口(context)、执行接口(act)、结果接口(capture)、停止接口(stop)。以"修登录 bug"为例:goal 写清修好什么;state 记当前试到哪;context 每轮拼出带状态的 prompt;act 跑测试改代码;capture 收 diff 与报错;done 判定测试全绿;feedback 把报错喂回下一轮;stop 设最多 10 轮。
Ralph 循环:3 行 bash 的传说,与今天的实操
以下来自 @Formulasearch 整理的 Ralph 循环由来:
2025 年,开发者 Geoffrey Huntley 提出了"拉尔夫循环"(Ralph loop),最纯粹的形式只有 3 行 bash:
while :; do cat PROMPT.md | claude-code; done
没有多智能体通信,没有复杂架构:每轮清空上下文,靠测试报错做硬性反馈。他用这个"简陋"循环,花了 3 个月让 AI 从零写出了一个全新编程语言的编译器。2026 年 6 月,Peter Steinberger(OpenAI)、Boris Cherny(Anthropic)、Addy Osmani(Google Chrome)集体站队,把它命名为"循环工程"。
Ralph 循环像不倒翁:推倒(清空上下文)→ 自己弹起来(读 PROMPT.md)→ 被测试报错再推倒 → 再弹起来。没有记忆负担,每次都从"地上"重新站起,靠的不是聪明,是摔不坏。
实操方法 A:轻量 loop prompt 模板(@Easycompany333,可直接复制)
任何 LLM 里贴一段 prompt 就能体验循环——任务、成功标准、PLAN-DO-VERIFY-DECIDE,每项标准 1–10 打分,低于 8 分不许说完成:
任务:[写清要做什么]
成功标准:[列出可检查的标准,每条可打分]
循环执行 PLAN-DO-VERIFY-DECIDE:
1. PLAN:制定本轮计划
2. DO:执行计划
3. VERIFY:对每条成功标准打分(1-10)
4. DECIDE:全部 8 分以上则输出 FINAL 并结束,
否则找出最弱的一项,继续下一轮迭代。轻量模板缺自动触发——关掉标签页循环就消失。真自动要进入"工具+托管+代码+验证+账单"的重型世界。
实操方法 B:/goal 命令(@Formulasearch 新手推荐)
写清验收条件(比如"所有测试通过,且不能修改 test/ 目录"),干活的模型改代码,背后一个独立小模型评估进度,不达标打回。作者用 Codex 的 /goal 实测做了个推特内容自动收集排期插件:"写了验收条件,启动,去做别的事,完成了。"门槛只有一条:说清"什么叫完成"。
实操方法 C:极简 bash 循环(折腾派)
progress.txt(持久记忆)+ spec.md(验收标准与任务列表)+ while 循环喂给 AI(Aider 或 claude CLI)。核心哲学:每轮清空上下文,靠物理状态机传进度,不让上下文污染。建议从 /goal 开始,别上来就复杂化。
5 分钟上手:SELF-CHECKING LOOP 可粘贴模板
以下来自 @AnatoliKopadze 的大众科普帖:循环就是 DISCOVER → PLAN → EXECUTE → VERIFY → ITERATE,Verify 是心脏,State 让循环学习,Stop condition 保 sanity。下面这个模板可以直接粘贴进 Claude / ChatGPT:
PLAN:先列出本轮要做的 3-5 步计划。
DO:按计划执行。
VERIFY:对每条成功标准打分(1-10 分)。
DECIDE:全部 8 分以上,打印 FINAL 并结束;
否则打印 ITERATING,挑最弱的一项改进,进入下一轮。
注意它的局限:缺触发器——关 tab 即消失。它帮你体验"循环感",但不是真正的自动化。
视频在原帖中播放(X 站内视频无法直接下载嵌入),点此去原帖观看。
搭建顺序:四步,别跳步(@Easycompany333)
先亲手把任务完整跑通一次,确认 agent 能端到端完成。
最危险的是跳过前几步直接定时。四条"值得搭 loop"的前提缺一不可:任务至少每周重复一次;坏结果可被自动拒绝(测试/类型/构建/lint 失败);agent 能端到端完成;"完成"必须客观(审美这类主观判断仍需人把关)。
成本与风险:先给门装仪表,再放大循环
成本真相(@Easycompany333)
- loop 跑 10 轮 ≠ 10 次 prompt,而是 10 次越来越大的 prompt;
- 单 agent 中等任务约 50,000–200,000 tokens;maker+checker 账单翻倍;
- 看"每个被接受的有效改动的成本":接受率低于 50% 通常开始亏——这是盈亏线。
自动化的三笔债(@Formulasearch)
- 验证债:AI 说 Done 是宣称不是证明,无硬性停止条件会糊弄过关;
- 理解债:产出速度远超阅读速度,几个月不读 PR 会变成自己代码库的陌生人;
- 认知投降:最危险——太舒服就不思考"该不该做",交出判断力。
另有一笔账单:无迭代上限的循环一夜重试几百次刷爆 API 钱包。
"loop 是 plumbing,skill 才是资产"(@smithandai)
没有 skill 的 loop,每轮都要重买上下文、重付认知税。正确做法:重复步骤抽成 skill,难问题的解法存成 skill。
1. 选做过 10 次以上的重复任务;2. 先写完成条件;3. 固定 context pack;4. 沉淀 skill;5. 放进 harness 跑;6. 单独设计 checker(不让 maker 自己判自己);7. 结果写外部 state;8. 最后加 trigger;9. 加预算 / 迭代上限 / 无进展检测。trigger 应该最后加。
Loop 的风险:连续几天产出"看起来完整"的垃圾;context 每轮膨胀、噪音压过信号;checker 变成摆设;"系统在跑我就不用看了"的危险舒服感;成本是复利。
术语翻卡:点卡片看解释
自测一下:点问题展开参考答案
Prompt 解决表达,Context 解决背景,Harness 解决执行(让 agent 能干活),Loop 解决闭环设计(让工作被持续调度、验证和积累)。
done check、context builder、act and capture、feedback path、stop conditions。真正的 loop 不是自动继续,而是有条件地继续:每轮对照完成检查决定是否再来。
Geoffrey Huntley 2025 年提出的极简循环:3 行 bash,每轮清空上下文、靠测试报错做硬性反馈。他用它花 3 个月让 AI 从零写出一个编程语言编译器,证明简单可靠的循环胜过复杂架构。
因为要先有完成条件、skill、验证器和外部 state,trigger 只是自动化的最后一步;跳过前几步直接定时最危险。50% 是盈亏线:看"每个被接受的有效改动的成本",接受率低于 50% 通常开始亏。