循环工程总论:14 步路线图
以 @0xCodez 的 14 步路线图为骨,融 Addy Osmani 的原创概念与 @sairahul1 的百科扩展:四条件测试、五构建模块、最小可行循环、安全税。
开篇:杠杆点从写提示转到设计循环
以下主干来自 @0xCodez 的 14 步路线图(综合 Anthropic 工程文档、Addy Osmani 长文、AlphaSignal 分析)。先看大背景:
Anthropic 工程师日均合入代码量是 2024 年的 8 倍——Anthropic 自己说这个数字"几乎肯定高估"了,但方向没错:杠杆点已经从"写提示"转到了"设计循环"。
两句奠基引言(三篇同源,这里只保留一次):@steipete 说"你应该设计能够提示你代理的循环";Anthropic Claude Code 负责人 @bcherny 说"我的工作是编写循环"。
以前你是司机,亲自打方向盘(写提示词);现在你要当交警,设计红绿灯和环岛(循环),让车流自己走。你不再开每一辆车,但要为每一辆车负责。
四条件测试:值不值得建循环
以下来自 @0xCodez。这是 14 步路线图的第一步,也是最重要的决策框架——缺一条,循环就是亏的:
- 任务重复:至少每周重复一次;
- 验证可自动化:坏结果能被机器自动拒绝(测试/类型/构建/lint 失败);
- token 预算扛得住浪费:循环一定会烧掉试错成本;
- agent 有高级工程师的工具:能真正动手改代码、跑测试。
30 秒检查清单(5 项,含"人工审核不可逆操作"):出发前逐项打勾,任一不满足就先别建。
谁适合、谁不适合
- 新手友好循环:CI failure triage(CI 失败分类)、dependency bump PRs、lint-and-fix、flaky test reproduction、issue-to-PR;
- 坏循环:架构重写、auth/支付、生产部署、主观"完成"(审美类判断)。
个人 $20 套餐的独立开发者先跳过——无自动验证的循环,等于让 agent 自己给自己判作业。
5 构建模块(+记忆)
以下主干来自 @addyosmani 的总论,细节融合 @0xCodez 与 @sairahul1:
① 自动化 Automations
定时触发 / 发现分类。Codex 的 Automations tab、Claude Code 的 /loop / cron / hooks / GitHub Actions。/loop vs /goal:/loop 按间隔重跑,/goal 由一个独立小模型验证完成条件再停。
② 工作树 Worktrees
并行防冲突:多个 agent 同时改代码不打架。Codex 内建,Claude Code 用 --worktree+isolation: worktree。
③ 技能 Skills
SKILL.md 文件夹:可复用的任务说明。@0xCodez 给了 ci-triage skill 完整示例。
Skill 写得越含糊,agent 猜得越多,欠下的"意图债务"就越多——将来每个循环都在为当初没说清的意图付利息。写 skill 时把意图写死,是还债不是欠债。
④ 插件与连接器
MCP 接入外部系统。@0xCodez 点名回报最快的四个:GitHub、Linear/Jira、Slack、Sentry。
⑤ 子代理 Sub-agents
maker-checker 分离:做的和查的不能是同一个。Anthropic 2024 年 12 月工程博客就有的 evaluator-optimizer pattern(生成→批评→打回重修)。
⑥ 记忆 Memory(@sairahul1 单列)
"代理会忘记,代码库不会。"VISION.md / ARCHITECTURE.md / RULES.md 三文件是记忆的载体。
示例循环(@addyosmani):每日 CI 失败分类 → worktree 起草修复 → 子代理审查 → 连接器开 PR。
最小可行循环:1 automation+1 skill+1 state file+1 gate
以下来自 @0xCodez。别一上来就搭大系统,最小可行循环只要四件套,顺序是:手动跑通 → 固化成 skill → 套 loop → 放 schedule。
STATE.md 完整示例(状态文件长这样):
# STATE.md
## Goal
[本轮目标,一句话]
## Tried
- [试过什么]
## Failed
- [失败过什么、报错是什么]
## Next
- [下一步做什么]
## Done when
- [完成条件,可检查]
状态文件可以放 markdown,也可以放外部系统(Linear / GitHub Issues),两种选址各有利弊。
指标:cost per accepted change(每个被接受的改动的成本)——接受率低于 50% 则亏。
Ralph Wiggum loop(Geoffrey Huntley 命名)
agent 过早宣布完成、循环静默烧钱。三种成因:无真 verifier、软完成条件、无硬停止;修复:换成客观 gate(机器可判定的门)。
视频:worktree 并行演示
以下来自 @0xCodez 原文附带的 worktree 演示视频。Worktrees 让多个 agent 在隔离的工作区并行干活、互不打架:
Worktree 像厨房里的多块砧板:切菜、切肉、切水果各用一块,互不串味。没有 worktree,所有 agent 挤在一块砧板上,迟早切到手。
进阶:开放 vs 封闭循环,单 agent vs Fleet
以下来自 @sairahul1 的百科扩展:
开放 vs 封闭循环
| 开放循环 open | 封闭循环 closed | |
|---|---|---|
| 特点 | 探索性强 | 有界、路径人类先设计好 |
| 代价 | 烧 token,易成 slop 机器 | 每步有 eval,有停止点 |
| 建议 | 先 closed,后 open | |
单 agent loop vs fleet loop
fleet 是树状结构:orchestrator 拥有目标 → specialists 拥有步骤 → subagents 做窄活 → eval gates 保质量,每个节点跑同一套 5 阶段(DISCOVER→PLAN→EXECUTE→VERIFY→ITERATE)。案例:6 天重写整个代码库 ≈ 人工一年。
4 类实战循环(统一骨架 Goal→Action→Check→Fix→Repeat)
- Coding Loop、Research Loop、Content Loop、Sales Outreach Loop——骨架相同,换的是每步的内容。
中国 LLM(DeepSeek、Kimi、MiniMax)正在解决 token burn 问题:DeepSeek V4 有 1M 上下文、384K 最大输出、极低价格;"1.7B tokens for $20"。单循环 5–20 万 tokens、群组 50–200 万、每日循环每周数百万——便宜模型让循环的试错成本大幅下降。
Prompt Engineer vs Loop Engineer 对照:"One reliable loop is worth a thousand perfect prompts."(一个可靠的循环,胜过一千个完美的提示词。)
警示与安全税:大多数人现在还不需要循环
三大警示(@addyosmani)
- 验证仍是你负责;
- comprehension debt 理解债务:循环越快发出你没写过的代码,你对代码库的理解就越少;
- cognitive surrender 认知投降:"带着判断设计循环时它是解药,为逃避思考设计时它是助燃剂。"
结论:两个人建相同的循环,结局可以截然相反。"构建循环,但要像一个打算继续当工程师的人去构建"——杠杆点转移了,工作没有变轻松。
安全税(@0xCodez)
- 无人值守 = 无人值守的攻击面;
- skill 可作注入向量;
- 日志里散落凭证;
- 权限范围 creep(悄悄扩大);
- 审计数据:17,022 个被审计 skills 中 520 个泄露凭证。
无自动验证就上循环;不可逆操作无人审;skill 从不可信来源直接装;日志明文记密钥;无 token 预算上限;无硬停止条件;maker 自己当 checker;状态文件与代码库脱节;fleet 无 eval gate;把循环当"设置完就不用看"的东西。
术语翻卡:点卡片看解释
自测一下:点问题展开参考答案
任务重复(至少每周)、验证可自动化、token 预算扛得住浪费、agent 有高级工程师工具。缺一则循环就是亏的。
1 个 automation+1 个 skill+1 个 state file+1 个 gate。顺序:手动跑通→固化成 skill→套 loop→放 schedule。
成因:无真 verifier、软完成条件、无硬停止。修复:换成客观 gate(机器可判定的门)。
开放循环探索性强但烧 token、易成 slop 机器;封闭循环目标清晰、步骤预定、每步有评估、有停止条件。先建封闭循环。
17,022 个被审计的 skills 中有 520 个泄露凭证——skill 可作注入向量,无人值守等于无人值守的攻击面。