← 返回学习中心 · Agent 工程OiOi Academy
AGENT 理论 · 05

循环工程入门与实操

从"提示词解决你在场的问题"到"循环让 AI 自己动":四层演进、五部件、Ralph 循环与 5 分钟上手模板。

原作者 @smithandai / @Easycompany333 / @Formulasearch / @AnatoliKopadze 来源 X 发布 2026-06
🏃

开篇:提示词解决"你在场"的问题

传统用法是人肉发动机:你敲一句,AI 生成一段,你检查一遍,再敲一句——每一轮都要你在场,"你不在,流程就停了"(@Formulasearch)。

而 Claude Code 负责人 Boris Cherny 说:"我不再 prompt Claude 了,我让一堆循环跑着,由它们去提示 Claude;我的工作变成了写循环。"

原文配图:Boris Cherny 引言
原文配图:Boris Cherny 引言
高中生类比
提示词像遥控器:你按一下电视动一下,你走开它就停。循环像定时插座:你设好规则,它自己按时通电断电,你不在场它也照常工作。
记住:一句话结论:提示词解决"你在场"的问题,循环解决"你不在场"的问题。这门课讲循环是什么、怎么搭、怎么不翻车。
🧱

四层演进:Prompt → Context → Harness → Loop

以下来自 @smithandai 的中文长文,他把 2026 年的 Agent 工程切成四层,每一层解决一个不同的问题:

层 解决什么 一句话
Prompt 表达 把需求说清楚
Context 背景 给模型足够的上下文
Harness 执行 让 agent 真的能干活(调工具、跑验证)
Loop 闭环设计 让工作被持续调度、验证和积累
记住:Harness 让 agent 能干活,Loop 让 agent 的工作可以被持续调度、验证和积累。Loop 是 harness 之上的控制层:触发、 分派、检查、记录、恢复、停止。

Loop vs cron:cron 跑的是固定脚本,loop 每一轮都让模型读当前状态再做决策——"loop 是 cron 加上一个运行时决策者"。prompt 是单步棋,loop 是一套策略。

原文配图:四层演进示意
原文配图:四层演进示意
高中生类比
四层像开餐馆:Prompt 是点菜时把话说清楚,Context 是给厨师看完整菜单和库存,Harness 是厨房设备和传菜动线,Loop 是"每天自动备菜-做菜-质检-复盘"的经营制度。

分水岭问题

还在展示"我让 AI 做了什么"(demo),还是已经开始描述"我设计了什么系统让 AI 持续做、我怎么知道它没跑偏"(loop thinking)?从前者跨到后者,就是入门循环工程。

⚙️

最小 loop 的五部件,与 VERIFY / State / 停止条件

以下来自 @smithandai(五部件)与 @Easycompany333(三大件),两篇文章讲的是同一件事,这里合并为一次讲解:

最小可用 loop 的五个部件

  1. done check(完成检查)——先用代码定义"什么叫完成";
  2. context builder(上下文构建器)——每轮从 state 生成 prompt;
  3. act and capture(执行与捕获)——捕获 diff、输出、错误、新状态;
  4. feedback path(反馈路径)——失败变成下一轮的输入;
  5. stop conditions(停止条件)——轮数 / 预算 / 风险动作上限。
记住:真正的 loop 不是自动继续,而是有条件地继续。无 done check=失控,无 capture=失忆,无 feedback=重复撞墙,无 state=重新开聊,无 stop condition=账单事故。

三大件:Verify 是心脏

  • Verify(验证)是心脏:没有真检查,agent 只是在自我赞同。硬测试、可测量条件、或让模型按 rubric 打分——但注意,完成任务的模型对自己太宽容;
  • State(状态)让 loop 不重复犯错:记住试过什么、失败过什么、下一步是什么;
  • Stop condition(停止条件)让 loop 保持理智:成功就停,或到硬上限停下来汇报(比如"最多 8 次")。
原文配图:loop 架构示意
原文配图:loop 架构示意
原文配图:三大件示意
原文配图:三大件示意

目标接口(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 循环示意
原文配图:Ralph 循环示意
高中生类比
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 风险示意
原文配图:loop 风险示意

"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 变成摆设;"系统在跑我就不用看了"的危险舒服感;成本是复利。
记住:收束(@Formulasearch):循环让代码生产变廉价,不让"该做什么"的判断变廉价;那个判断现在、将来都是你的工作。别让自己沦为只会按启动键的机器看门人。
词

术语翻卡:点卡片看解释

循环 loop
loop
持续推进一个目标的系统:每轮读状态、做决策、验证、再来,直到满足完成条件。
驾驭层 harness
harness
让 agent 能干活的环境层:收集上下文、调工具、跑验证。Loop 是 harness 之上的控制层。
完成检查
done check
先用代码定义"什么叫完成",loop 每轮对照它判定,而不是让模型自己宣布。
验证器
verifier
loop 的心脏:独立检查产出是否达标。自己给自己打分会手软,所以 maker 和 checker 要分离。
拉尔夫循环
Ralph loop
Geoffrey Huntley 的极简循环:3 行 bash,每轮清空上下文,靠测试报错做硬性反馈。
状态
state
loop 的记忆:记下试过什么、失败过什么、下一步是什么,让循环不重复犯错。
停止条件
stop condition
让 loop 保持理智的上限:成功就停,或到轮数/预算上限停下来汇报。
触发器
trigger
启动循环的开关(定时/新 PR 等)。改造路径中应该最后加,最危险的是跳过前几步直接定时。
测

自测一下:点问题展开参考答案

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% 通常开始亏。