别再问我什么是 Loop Engineering(循环工程橙皮书)

一句话概括

花叔”橙皮书系列”的第四本,把 2026 年 6 月那一周爆火的 loop engineering(循环工程) 一次说清楚:用 4 部分 9 章讲透”别再自己一句句指挥 agent,去设计一个替你指挥它的系统”——是 Harness-Engineering 橙皮书的”上一层楼”,独立成书。版本 v260615,MIT 许可,含中英双版 PDF。

实践内容

四层栈(每层管一件更大的事):

管什么核心问题
Prompt engineering写好一次的提示词我该告诉模型什么
Context engineering这一刻窗口里放什么检索/摘要/清掉什么
Harness engineering单次运行的武装给哪些工具、什么算完成
Loop engineering在 harness 之上调度怎么让它自己一遍遍跑起来

一个循环的五个动作: 发现(discovery)→ 交付(handoff)→ 验证(verification)→ 持久化(persistence)→ 调度(decide next)。少一个 loop 就转不起来或只是空转。

六个零件 ↔ 五动作对应表:

零件是什么对应动作一句话原话
Automations挂时间表/触发器自动跑调度make a loop an actual loop
Worktrees隔离并行 agent 工作目录交付same headache as two engineers
Skills固化项目知识、还意图债发现fire $skill-name, not a wall of instructions
ConnectorsMCP 接外部系统持久化/发现only see the filesystem is a tiny loop
Sub-agents生成者与评判者分离验证too nice grading its own homework
Memory磁盘上的持久状态持久化the agent forgets, the repo doesn’t

Claude Code 的 loop 原语(带版本与示例):

# /loop —— 按时间间隔重跑(v2.1.72 后可用;时间单位 s/m/h/d,cron 最小 1 分钟)
/loop 5m check the deploy        # 固定 5 分钟一次
/loop check the deploy           # Claude 自己决定节奏(1 分钟~1 小时)
/loop                            # 裸跑:执行内置维护任务或 .claude/loop.md 里的内容
# 关掉所有 cron:环境变量 CLAUDE_CODE_DISABLE_CRON=1
# recurring 任务 7 天后过期(不是某些教程说的 3 天);session-scoped;机器关了就停

# /goal —— 跑到条件满足为止(v2.1.139 后可用),完成由 fresh 小模型判定,非干活的 agent
/goal all tests in test/auth pass and the lint step is clean

# 并行隔离:给每个后台 agent 开独立 git worktree
--worktree   # 或 -w

调度三种形态对比(睡觉时跑靠什么):

Cloud RoutinesDesktop 定时任务/loop
跑在哪Anthropic 云你的机器你的机器
需要开机吗
需要开着会话吗
最小间隔1 小时1 分钟1 分钟
能看本地文件吗否(fresh clone)

关机/睡觉也要跑 → Cloud Routines 或 GitHub Actions 的 schedule 触发;要频繁、要看本地文件 → 本地 /loop。

Claude Code vs Codex 能力对照(2026-06): 定时调度 /loop ↔ Automations 标签页;跑到条件满足 /goal ↔ 靠 automation 重跑+判断;并行隔离 --worktree ↔ 专用 background worktree(结果进 Triage 收件箱);子 agent .claude/agents/.codex/agents/ TOML;外部连接 MCP+Plugins ↔ MCP connector;显式调技能 Skills(SKILL.md) ↔ $skill-name;关机也跑 Cloud Routines ↔ 云端 Codex Jobs(规划中)。注意:/loop/goal 是 Claude Code 的命令,不是 Codex 的。

第一个 loop 检查清单(6 条): ① 发现源(定时去读 CI/issue/commit/收件箱)② 状态文件(跨轮记忆落在哪个磁盘文件)③ evaluator(有没有独立的、会说”不”的检查)④ 隔离(并行 agent 各自一个 worktree)⑤ token 上限(设没设花费天花板)⑥ 人工复核点(哪一步停下来等你看一眼)。前两条决定能不能跑,后四条决定跑起来会不会闯祸。

摘录

命名这个词、把它写成文章的人,是 Addy Osmani,Google Chrome 团队的工程师。原文:Loop engineering is replacing yourself as the person who prompts the agent. You design the system that does it instead. 翻成中文:循环工程,就是把”那个负责 prompt agent 的人”从你自己换成一套系统。你不再亲自一句句喂,而是设计那套替你喂的系统。这句话的重心,在”替换你自己”——不是把提示词写得更好,也不是把上下文管得更精,是把你这个人从那个位置上挪走。

一个 loop 最难的地方,不是让 agent 跑起来,而是放一个能说”不行”的东西进去。可写代码的那个 agent,恰恰是最不会说”不行”的。Anthropic 的工程师 Prithvi Rajasekaran 在官方博客里观察到:when asked to evaluate work they’ve produced, agents tend to respond by confidently praising the work—even when, to a human observer, the quality is obviously mediocre。调一个独立的评判器让它变得怀疑,比让生成器自我批判要容易得多——区别在结构,不在措辞。

循环替你干活,听着全是好处,但它也在悄悄替你欠债。四笔账:验证债(产出堆着没人验,错误安静积累)、理解腐烂(loop 交付你没写的代码越快,“实际存在”和”你真正理解”的差距越大)、认知投降(循环跑顺了人就懒得有意见,执行可外包、拿主意不行)、token 失控(用量剧烈波动,取决于你是 token 富人还是穷人)。这四笔账有个共同点:它们都不会在循环跑的当下报警。

涉及实体

涉及主题

我的评注

橙皮书把一手来源(Addy 奠基文、Anthropic harness 博客、Stripe Minions 播客、Claude Code/Codex 官方文档)整理得很克制,对”九成 Claude Code 由 AI 自写""Nubank 提效 12 倍”这类二手大数字明确标注”姑且当参照”。最值得带进知识库的不是炫目数字,而是那张”四层栈 + 五动作 + 六零件”的骨架,以及”loop 的下限是它的 evaluator”这条判断——它把 Harness-Engineering 里”能说不的检查”上升成了循环时代的核心矛盾。可进一步追:英文完整版(Complete Guide)相比中文橙皮书是否有额外章节或一手出处链接。