一、核心定义:什么是 Loop 工程
+ ++Loop Engineering(循环工程)是 2026 年 6 月正式命名的 AI 编程新范式。其核心主张:不再手动为编程 Agent 写提示词,而是设计一套自主循环系统,让系统去发现任务、分派工作、验证结果、记录进度、决定下一步。 +
+ +这一范式由三位关键人物共同推动:
+ +| 人物 | 身份 | 核心贡献 |
|---|---|---|
| Boris Cherny | +Anthropic · Claude Code 创建者 | +2026 年 5 月 Sequoia AI Ascent 大会首次公开阐述 Loop 理念 自述每天管理"数千个"AI Agent 并行工作,一个月 259 个 PR 全由 Claude Code 生成 核心引用:"我的工作是写 Loop,不再是写 Prompt" |
+
| Peter Steinberger | +OpenAI · OpenClaw 创始人 | +2026 年 6 月 7 日推文引爆舆论(800 万+ 浏览) 原话:"你不再应该为编程 Agent 写提示词了,你应该设计循环,让循环去提示你的 Agent" |
+
| Addy Osmani | +Google Cloud · AI 总监 | +2026 年 6 月 7 日发表同名博客,正式将范式命名为 Loop Engineering 提出"五种积木 + 一层记忆"六模块框架 同时提出三大人类职责警告 |
+
+一句话总结:Prompt Engineering 是你给 Agent 写指令;Loop Engineering 是你设计一个系统,让系统自动给 Agent 写指令、检查结果、决定下一步。开发者角色从"执行者"变为"系统设计者与仲裁者"。 ++
二、演进历程:四个阶段的范式跃迁
+ +阶段一 · Agent 原语期 — 单次会话内的 Tool Calling Loop
+核心突破:LLM 不只是单次问答,而能在一次会话中反复调用工具——读文件、执行命令、根据结果修正——形成 Model → Tool → Result → Model 的基础闭环。Claude Code 和 Codex CLI 作为"Agent Harness"(运行时外壳)出现。
关键洞察(Michael Bolin, OpenAI):无状态请求设计(不使用 previous_response_id)、Prompt Caching 最大化(每次新 Prompt 是前一次的精确前缀扩展)、/responses/compact 自动压缩防止 Context 溢出。
局限:会话结束 = Agent 停止。人必须手动开启新会话、重新描述上下文。
+阶段二 · Ralph Loop — Context Reset + 状态外置
+创造者:Geoffrey Huntley,澳大利亚开源开发者。原始实现仅 5 行 Bash:
+while :; do
+ cat PROMPT.md | claude-code
+done
+ 两个核心洞察:
+-
+
- Context Reset 即能力:每轮迭代用全新 Context Window,避免"上下文腐烂"——越后期推理质量越差 +
- 状态外置到磁盘:Agent 的"记忆"不在 Context 里,而在文件系统、git history、测试结果中。每轮从磁盘重建理解 +
停止条件:Stop Hook 检测完成信号(如文件中出现 COMPLETE 标记)。
影响:Boris Cherny 公开承认这直接启发了 Claude Code /loop。Anthropic 后续将其纳入官方插件系统。
阶段三 · 定时调度 + 条件收敛 — Loop 产品化
+两大产品答案:
+-
+
/loop(时间驱动):Claude Code v2.1.72+。Cron 定时唤醒,固定间隔或动态自选间隔。
支持项目级默认行为(.claude/loop.md),限制单会话 50 个任务、7 天自动过期。
+ /goal(条件驱动):Claude Code v2.1.139(2026-05-14)。设置完成条件,每轮结束后独立 Evaluator 模型(Haiku)判断是否满足,不满足则自动继续。
核心创新——Generator-Evaluator Split:生成和验证用不同模型,禁止自评。Cherny 称此架构源于 GAN 的启发。
+
Codex 同期发布 /goal(v0.128.0),一次记录为连续 25 小时、1,300 万 token、产出 3 万行代码。
阶段四 · Loop Engineering 系统化 — 多 Agent 编排 + 自优化
+三件事引爆:
+-
+
- 6 月 2 日:Cherny @ Acquired Unplugged 重申"我的工作是写 Loop" +
- 6 月 7 日:Steinberger 推文(800 万浏览)→ Addy Osmani 正式命名 Loop Engineering +
- 6 月 16 日:LangChain 发表 "The Art of Loop Engineering",提出 四层 Loop 栈(Agent → Verification → Event-driven → Hill-climbing) +
当前前沿:Cherny 自述 Anthropic 内部已做到 Agent 之间通过 Slack 互相通信;LangChain 的 Hill-climbing Loop 实现了 Agent 分析自身 Trace → 自动改写 Prompt/Tool/Grader 配置的自优化闭环。
+演进速查表
+| 阶段 | 时间 | 核心突破 | 代表技术 | 局限 |
|---|---|---|---|---|
| 一 · Agent 原语 | +2024 Q4 | +单次会话内 Tool Calling Loop | +Claude Code, Codex CLI | +会话结束 = Agent 停 | +
| 二 · Ralph Loop | +2025 中 | +Context Reset + 状态外置 | +5 行 Bash, Stop Hook | +粗暴 while true |
+
| 三 · 调度 + 收敛 | +2026 Q1 | +定时触发 + Evaluator 判断停止 | +/loop, /goal | +单 Agent 模式 | +
| 四 · 系统化 | +2026.06 | +多 Agent 编排 + 自优化 | +LangChain Engine, Agent Slack | +高 Token 成本 | +
三、关键技术 / 理念清单(16 项)
+ +按出现时间排列,标注首创来源。每一项都是 Loop 工程的构成要件。
+ +| # | 技术/理念 | 含义 | 来源 |
|---|---|---|---|
| 1 | Agent Harness | 协调 User / Model / Tool 的运行时外壳,管理会话生命周期 | Claude Code / Codex CLI(2024 Q4) |
| 2 | Stateless Requests | 每次 API 请求完全独立,不使用 previous_response_id,支持 ZDR | Codex · Michael Bolin(2026-01) |
| 3 | Prefix Caching | 每次新 Prompt 是前一次的精确前缀扩展,最大化缓存命中率 | Codex / Claude Code 共同演进 |
| 4 | Context Compaction | Token 超限时自动压缩对话历史,保留"潜在理解" | Codex /responses/compact(2026-01) |
| 5 | Context Reset | 每轮迭代用全新 Context Window,状态留磁盘。防止"上下文腐烂" | Ralph Loop · Huntley(2025 中) |
| 6 | State Externalization | Agent 记忆 = 文件系统 + Git History + 测试结果 + 看板。不在 Context 里 | Ralph Loop(2025 中) |
| 7 | Time-driven Trigger | Cron 定时唤醒 Agent,无需人工触发 | Claude Code /loop(v2.1.72) |
| 8 | Condition-driven Convergence | 条件满足时停止,非计时结束就停。由独立 Evaluator 判断 | Claude Code /goal(2026-05-14) |
| 9 | Generator-Evaluator Split | 生成和验证用不同模型、不同 Context Window。禁止自评。GAN 启发 | Anthropic 内部 → /goal 产品化 |
| 10 | Worktree Isolation | git worktree 隔离并行 Agent 的工作目录,避免文件冲突 | Claude Code --worktree / Codex 内置 |
| 11 | Skill Codification | 项目知识编码为 SKILL.md 文件,Agent 每轮自动加载,不重新推导 | Claude Code / Codex |
| 12 | MCP Connectors | 标准化协议连接外部工具:Issue Tracker、数据库、Slack | Anthropic MCP 协议 |
| 13 | Multi-Agent Delegation | Agent 把子任务派给独立子 Agent,平行执行后汇总 | Claude Code Sub-agents |
| 14 | Event-driven Trigger | 外部事件(Webhook、Slack 消息、CI Failure)触发 Agent 运行 | LangChain Fleet(2026-06) |
| 15 | Hill-climbing Self-improvement | Agent 分析自身 Trace → 自动改写 Prompt / Tool / Grader 配置 | LangChain Engine(2026-06) |
| 16 | Inter-Agent Communication | Agent 之间通过 Slack 等渠道直接通信、协作、传递不确定性 | Boris Cherny 实际工作流 |
这 16 项并非独立存在——它们构成一条清晰的演进链:先有单 Agent 的 Harness(#1-4),再用 Context Reset 和状态外置解决跨会话问题(#5-6),然后加上触发和收敛机制让 Agent 自主运行(#7-9),最后扩展到多 Agent 隔离、编排、通信、自优化(#10-16)。
+四、核心方法论:六层架构 + 七大原则
+ +(一)六层架构
+ +综合所有一手资料(Claude Code 官方文档、Codex Agent Loop 技术文章、Addy Osmani 六模块、LangChain 四层栈),当前 Loop 工程可归纳为以下统一架构:
+ +(二)七大核心原则
+ +| # | 原则 | 内容 | 原始出处 |
|---|---|---|---|
| 1 | +生成与验证分离 | +Generator 永远不能给自己的作业打分。用独立 Evaluator(更小模型、独立 Context Window)判断完成条件和质量。这是 Loop 工程最底层的架构约束。 | +Anthropic 工程实践 产品化于 /goal |
+
| 2 | +状态外置 | +Agent 的"记忆"不在 Context Window 里。状态持久化于文件系统、Git Log、看板(KANBAN.md / Linear)、测试结果中。每轮从磁盘重建理解。Context Window 只管"当下这一轮"。 | +Ralph Loop Huntley(2025 中) |
+
| 3 | +Context 即成本 | +Context 越少越新鲜越好。两种策略按任务选择:① Ralph-style 每轮全新窗口(适合重复执行模式化任务)② Prefix Caching 最大化复用(适合持续改进同一目标)。选错策略的代价是 Token 浪费或推理退化。 | +Ralph Loop + Codex Michael Bolin(2026-01) |
+
| 4 | +隔离并行 | +多个 Agent 同时工作 → 必须用 Git Worktree 隔离。共享工作区是 Loop 工程的头号故障源。每个 Agent 有自己的分支、自己的工作目录、自己的 Context Window。 | +Claude Code --worktreeAddy Osmani 六模块 |
+
| 5 | +触发多样化 | +不再只有"人按回车"一个触发源。成熟的 Loop 系统应同时支持: · 时间触发(Cron /loop)· 条件触发( /goal 直到条件满足)· 事件触发(Webhook、Slack、CI Failure) |
+ Claude Code + LangChain Fleet |
+
| 6 | +人是最终仲裁者 | +Loop 越自动,越需要人在关键节点介入。三大风险:验证责任在人("Done"是声明不是证明)、理解债务在积累(Agent 产出越快你的差距越大)、认知投降在蔓延(Loop 越顺畅人越不思考)。 | +Addy Osmani "Loop Engineering"(2026-06-07) |
+
| 7 | +自优化闭环 | +最高的 Loop 形态:Agent 分析自身生产 Trace → 发现模式 → 改写自身 Prompt / Tool / Grader 配置。从"人设计 Loop"进化到"Loop 设计 Loop"。 | +LangChain Hill-climbing Loop(2026-06-16) |
+
五、三大产品对比
+ +| 功能 | Claude Code(Anthropic) | Codex CLI(OpenAI) | LangChain |
|---|---|---|---|
| 定时循环 | +✅ /loop Cron 调度动态间隔或固定间隔 裸 /loop 运行内置维护 Prompt |
+ ✅ Automations 标签页/goal 长期目标模式 |
+ ✅ Fleet Channels / Schedules 事件驱动触发 |
+
| 条件收敛 | +✅ /goal(v2.1.139+)独立 Haiku Evaluator 最多 4,000 字符条件 |
+ ✅ /goal(v0.128.0+)一次记录连续 25h / 13M tokens |
+ ✅ Verification Loop RubricMiddleware after_agent hooks |
+
| 工作隔离 | +✅ --worktreeGit Worktree |
+ ✅ 内置 Worktree | +— (编排层,非执行层) | +
| 技能文件 | +✅ .claude/agents/SKILL.md |
+ ✅ .codex/agents/ TOML |
+ — (使用 LangGraph 定义) | +
| 子代理 | +✅ Sub-agents Agent Teams |
+ ✅ Sub-agents(TOML 定义) | +✅ Multi-Agent via LangGraph | +
| 连接器 | +✅ MCP Servers + Plugins | +✅ MCP Connectors | +✅ LangChain Integrations | +
| 记忆/状态 | +✅ Memory 文件系统.claude/loop.md |
+ ✅ State Files | +✅ LangGraph Persistence LangSmith Traces |
+
| 自优化 | +— (尚未产品化) | +— (尚未产品化) | +✅ Hill-climbing Loop LangSmith Engine |
+
| Agent 间通信 | +🔶 内部使用(Slack) 未对外发布 |
+ — | +— | +
六、实战指南:从零搭建 Loop 系统
+ +(一)搭建路线图(五步递进)
+ +| 步骤 | 做什么 | Claude Code 命令 | 预计收获 |
|---|---|---|---|
| Step 1 | +状态化项目:将任务管理从大脑/聊天记录迁移到 Markdown 看板 Agent 每轮自动读取看板,知道"已完成什么 / 下一步做什么" |
+ —(创建 KANBAN.md + CLAUDE.md) |
+ Agent 不再"失忆" | +
| Step 2 | +配置定时循环:将重复性维护任务交给 /loop例:每小时检查 CI / 每天整理 Issue / 每 30 分钟抓反馈 |
+ /loop 1h 检查 CI 状态,有失败就修复/loop 24h 整理未关闭的 Issue 并归类 |
+ 重复劳动自动化 | +
| Step 3 | +启用目标驱动:对明确知道"完成条件"的任务用 /goal例:所有测试通过才停 / CHANGELOG 更新完毕才停 |
+ /goal all tests in test/ pass and lint is clean/goal CHANGELOG.md has entry for every merged PR |
+ 无人值守跑到底 | +
| Step 4 | +引入验证分离:不让同一个 Agent 审自己的代码 Generator Agent 写代码 → 提交 PR → Evaluator Agent 独立审查 |
+ Agent 1: claude --worktree feat-xxx "实现功能"Agent 2: claude --worktree review-xxx "/goal PR 审查通过" |
+ 质量门禁自动化 | +
| Step 5 | +建设技能库:将反复教 Agent 的知识写成 SKILL.md每新增一个 Loop,检查是否有可复用的知识需要固化 |
+ 编写 .claude/agents/skill-xxx/SKILL.md |
+ Token 成本持续下降 | +
(二)常用 Loop 模式速查
+ +| 模式 | 典型场景 | 示例命令 | 来源 |
|---|---|---|---|
| 🔧 CI 修复 | +PR 合并后 CI 失败,自动分析并修复 | +/loop 30m 检查 CI 失败项,分析原因并修复 |
+ Boris Cherny 实际使用 | +
| 📋 看板推动 | +按看板优先级自动推进 Backlog 任务 | +/loop 2h 读取 KANBAN.md,选最高优先级待办推进 |
+ Addy Osmani 示例 | +
| 📊 反馈聚合 | +定时抓取外部反馈,聚类汇总 | +/loop 30m 抓取反馈并聚类为三类问题 |
+ Boris Cherny 实际使用 | +
| ✅ Deploy 验证 | +部署后持续检查,直到健康检查通过 | +/goal deploy health check returns 200 and all pods are ready |
+ Claude Code 官方文档 | +
| 🔍 代码审查 | +独立 Agent 审查所有未 review 的 PR | +/loop 4h 审查所有待 review 的 PR,在代码行级添加评论 |
+ Generator-Evaluator 模式 | +
| 📝 文档同步 | +代码变更后自动更新相关文档 | +/loop 1h 检查 git diff,更新受影响的 .md 文件 |
+ LoopFlow 预设模式 | +
(三)避坑指南
+ +| 坑 | 症状 | 对策 |
|---|---|---|
| 无限循环 | +Agent 在模糊任务上不停转圈,烧 Token | +始终设硬上限(最大迭代次数、最大 Token、最大时长)。用 /goal 而非裸 /loop |
+
| Context 腐烂 | +第 N 轮后推理质量显著下降 | +启用 Context Reset(每轮全新窗口 + 磁盘状态),或用 Prefix Caching 控制窗口增长 | +
| 文件冲突 | +多个 Agent 同时修改同一文件导致 Git 冲突 | +每个 Agent 用 --worktree 隔离。不要共享工作目录 |
+
| Token 爆炸 | +Loop 间隔过密,月度账单失控 | +对非紧急的周期性检查用 1h+ 间隔;能事件驱动就不要轮询(Monitor 优于高频 Loop) | +
| 认知投降 | +Loop 跑顺后不再审查输出,直接合并 | +强制人工 Review 步骤:Evaluator 通过 → 打 Tag → 人工确认 → 才合并 | +
七、原始资料来源
+ +本文所有技术事实均源自以下一手资料,未使用自媒体转述。
+ +| # | 标题 | 作者/来源 | 日期 | URL |
|---|---|---|---|---|
| 1 | +Boris Cherny: Why Coding Is Solved(Sequoia AI Ascent 2026 访谈) | +Boris Cherny × Lauren Reeder(Sequoia) | +2026-05-04 | +Training Data 播客 | +
| 2 | +Loop Engineering(正式命名文章) | +Addy Osmani(Google Cloud) | +2026-06-07 | +addyosmani.com | +
| 3 | +原推文:"shouldn't be prompting coding agents anymore" | +Peter Steinberger @steipete(OpenAI) | +2026-06-07 | +X @steipete | +
| 4 | +Claude Code 官方文档:Keep Claude working toward a goal(/goal) | +Anthropic | +2026-05-14 | +code.claude.com/docs | +
| 5 | +Claude Code 官方文档:Run prompts on a schedule(/loop) | +Anthropic | +v2.1.72+ | +code.claude.com/docs | +
| 6 | +Unrolling the Codex Agent Loop | +Michael Bolin(OpenAI Technical Staff) | +2026-01-23 | +openai.com | +
| 7 | +Build Iterative Repair Loops with Codex(Cookbook) | +OpenAI | +2026-05-11 | +developers.openai.com | +
| 8 | +The Art of Loop Engineering(四层 Loop 栈) | +Sydney Runkle(LangChain) | +2026-06-16 | +langchain.com | +
| 9 | +Ralph Wiggum Loop 官方插件 | +Anthropic / Geoffrey Huntley | +2025 | +GitHub anthropics/claude-code | +