循环工程 Loop Engineering
从手动提示到自主 Coding Agent 循环系统
Addy Osmani 分析 · Claude Code × Codex 五模块同构 · 约 18 分钟 · 深度解读
构成完整循环
验证·理解·认知
底层模块同构
Addy Osmani 深度分析
- 范式转移:从「人逐步 prompt Agent」→「人设计循环系统,Agent 自主迭代直到目标达成」
- 五模块 + 外部记忆:Automations · Worktrees · Skills · Connectors · Sub-agents · 持久化状态文件
- 工具趋同:Claude Code 与 Codex 底层模块高度同构,竞争焦点从「选哪款工具」转向「能否设计通用循环逻辑」
- 三笔新债:验证责任仍在人、理解债(Comprehension Debt)、认知投降(Cognitive Surrender)
- FDE 映射:循环 = 可复用编排资产;Skill/状态文件 = 组织记忆;子 Agent 验证 = eval 治理面
一背景:从手动提示到循环工程#
The Shift · 范式转移
| 维度 | 内容 |
|---|---|
| 视频来源 | Best Partners TV · 基于 Google AI 总监 Addy Osmani 深度分析 · 约 18 分钟 |
| 核心信源 | Addy Osmani X 帖;Peter Steinberger(OpenClaw);Boris Cherny(Claude Code);Andrej Karpathy(AutoResearch) |
| 概念层级 | Agent Harness Engineering(单 Agent 运行框架)< Loop Engineering(计时器上的自主运行环境,可生成子 Agent)< 工厂模型(整套软件构建系统) |
Agent 是「你全程握持的工具」——每一步都要人触发,串行、走走停停,产能上限是你的手速。
你只定义最终目的,循环在后台反复迭代执行;人从「逐步发令」变成设计能自转的系统。
Boris Cherny:「我现在很少手动提示 Claude 了,有很多循环在后台运行,它们负责提示 Claude、判断下一步。我的核心工作是编写这些循环。」
二循环工程是什么#
Definition · 概念定位
Loop Engineering(循环工程):用你设计的系统,替代你自己完成对 Agent 的提示与调度。循环 = 一个递归目标——你只定义最终目的,AI 反复迭代执行直到完成。
整套软件生产系统——从需求到交付的完整流水线。
跑在计时器上,能自主生成子 Agent、自我驱动、持续运转。
为单个 Agent 搭建运行环境(prompt、工具、权限)。
关键变化:一年前跑自动循环还需自己写 bash 脚本长期维护;现在五模块能力已内置进 Claude Code 与 Codex,Steinberger 总结的循环清单与两款产品功能几乎一一对应。启示是:设计通用循环逻辑,工具可替换。
三五模块 + 外部记忆#
The Loop Engine · 循环引擎
自动化Automations
定时触发、持续到条件达成、无人值守归档。
工作树Worktrees
独立目录/分支、共享历史,物理层避免冲突。
技能Skills
写一次、每次可读,把规范沉淀成组织记忆。
连接器Connectors
MCP 协议接入需求/数据库/CI/IM,跨工具复用。
子 AgentSub-agents
第二个模型对照验证,发现自审忽略的问题。
外部记忆External Memory · 跨会话状态
Markdown 状态文件、项目看板——记录「已完成/待做」。长时间运行的循环必须依赖持久化存储,Agent 会忘,仓库不会。
3.1 Automations —— 定时与持续运行
两款工具实现路径不同、逻辑相同:
| 能力 | Codex | Claude Code |
|---|---|---|
| 定时任务 | 自动化标签页:选项目、提示词、频率、本地/工作树 | /loop、定时任务、生命周期钩子(hooks) |
| 持续运行至条件达成 | /goal:跨多轮直到可验证停止条件成立 | /goal:每轮结束由独立小模型检查是否完成 |
| 无人值守 | 结果进分类收件箱;无问题则自动归档 | 可推送到 GitHub Actions 关电脑后继续 |
| Skill 调用 | 自动化任务可直接调用 Skill | 同上逻辑 |
/loop = 固定节奏重复;/goal = 直到「认证模块测试全过且 lint 通过」类停止条件成立。写代码的 Agent 与判断是否完成的 Agent 不是同一个——生成与校验分离从停止条件层就已体现。
3.2 Worktrees —— 并行隔离
Codex 内置多线程;Claude Code 支持 --worktree 与子 Agent 工作树隔离,多 Agent 同时改同一文件从物理层避免冲突。
工作树只解决机械层文件冲突。真正瓶颈是人一天能审核多少份产出——你能并行跑几个 Agent,取决于你能读几份 PR,而非工具线程数。
3.3 Skills —— 意图复利
每次新会话从零解释项目 → 意图债务:没说清楚的,Agent 用猜测填补。Skill 写一次、每次可读。
- Skill = 内容编写格式;Plugin = 内容分发方式(跨仓库共享、打包多个 Skill)
- 描述要简洁明确——准确匹配比花哨文案有用
3.4 Connectors —— 融入工作环境
基于 MCP 协议的连接器让循环读需求跟踪器、查数据库、调测试环境、发 IM,两款工具 MCP 互通可跨工具复用。普通 Agent 告诉你「这里有修复方案」;完整循环能自己建 MR、关联工单、CI 通过后自动通知频道。
3.5 Sub-agents —— 生成分离
第二个 Agent(不同指令/模型)能发现第一个忽略的问题。常见分工:探索 → 实现 → 对照规格验证。无人值守时,可信验证环节是放心让它跑的前提;代价是更多 token,只在关键场景开启。
四完整循环实例#
Loop in Motion · 每日 CI 巡检
你只需设计一次循环规则,之后无需手动提示任何步骤——这正是 Steinberger「不要手动提示 Coding Agent」的工程化体现。
早上自动启动,调分类 Skill,读昨日 CI 失败 / 未解 issue / 最近提交。
写入状态文件(Markdown / 看板),建立可断点续跑的基线。
每个问题建工作树:子 Agent A 起草修复,B 对照 Skill/测试审查。
连接器自动建 MR、关联工单;CI 通过后通知频道;复杂问题进人工收件箱。
状态文件记录已尝试方案 / 通过验证 / 进行中,次日从断点继续。
五三笔「债」:循环放大的副作用#
The New Debts · 递进的风险
循环让产出变快,也把三类风险同步放大——严重度自左至右递增:
验证责任Verification Responsibility
无人值守循环 = 无人值守犯错。「完成」只是一句声明,不是严格验证。
应对交付的仍是你亲自确认可运行的代码。
理解债Comprehension Debt
循环产出越快,你没亲手写的代码越多,对代码库的理解持续退化。
应对认真读每一份循环生成的代码,保持掌控力。
认知投降Cognitive Surrender
循环自运行时,人停止主动思考,直接接受所有结果——加速能力退化。
应对带着判断力设计循环;逃避思考则是最深的债。
此外还有现实约束:token 成本(不同模式消耗差异巨大)、代码质量下滑(无人值守放大粗糙产出)。方向仍处早期,但可能是未来协作雏形。
六FDE / ToB 映射#
Field Mapping · 落到客户现场
- i杠杆点转移:从「写好单次 prompt」→「设计可复用循环系统 + 组织记忆」——与 Alex Albert 访谈中「eval / 书面文化 / 并行 Agent 治理」同向。
- ii工具选型降级:五模块同构意味着客户场景应优先问「循环逻辑是否可审计、可回滚」,而非「Claude Code vs Codex」。
- iii编排税 = 交付瓶颈:ToB POC 并行 Agent 时,审核/验收人力是硬上限;循环设计必须包含人工收件箱 + 分级自动化。
- ivSkill = 组织意图资产:对应企业内 coding 规范、架构决策记录、踩坑清单——循环每次运行都复利读取。
- v子 Agent 验证 = eval 治理:生成分离、对抗审查,是无人值守场景最低限度的质量门禁。
循环工程是解药也是毒药——取决于你是否仍承担验证与理解责任。可以搭建循环,但要以工程师身份设计系统,而非做只会按启动键的人。找到「直接提示」与「自动化循环」之间的平衡,比全盘押注任一极端更务实。
七待验证问题#
Open Threads · 留给后续
- 企业场景下,循环的 token 成本 vs 人力节省,盈亏平衡点在哪类任务形态?
- 状态文件 / Skill 的版本治理:谁来审批变更、如何防止「意图漂移」?
- 子 Agent 验证的 false negative 率:什么任务类型仍必须人工 gate?
- 与 Dynamic Workflows(JS 编排脚本、1000 agent 上限)如何组合,而非二选一?
- ToB 交付中,如何把客户侧的「理解债」纳入验收与知识转移 SLA?
修订记录:2026-06-18 初稿 · 视觉重构版 · 视频 KgiwIEBeOHw