首页 / 技术博客 / "Loop Engineering:设计驱动 AI Agent 的系统,而不是自己去 prompt"
技术动态 2026-06-27

"Loop Engineering:设计驱动 AI Agent 的系统,而不是自己去 prompt"

"AI 编程 Agent 正在从「你来 prompt」变成「系统来 prompt」。Loop Engineering 是一套设计自动化循环的方法论,把调度、子 Agent、状态管理、MCP 连接器组合成自运行的工程系统。"

一个反直觉的观点

Boris Cherny,Anthropic 的 Claude Code 负责人,说了这么一句话:

我不再 prompt Claude 了。我有循环在运行,让循环去 prompt Claude、让循环去决定下一步做什么。我的工作是写循环。

听起来有点玄。但如果你用过 Cursor、Claude Code、Codex 这些 AI 编程 Agent,你应该能感受到一个趋势:手动 prompt 这件事正在变成瓶颈。

每次你写一个详细的 prompt,告诉 Agent「先看这个文件,再改那个函数,记得跑测试,如果有报错就修」,你本质上是在充当一个调度器。你把任务拆开、喂给 Agent、看结果、再给下一步指令。

这个过程能不能自动化?

2026 年 6 月,Cobus Greyling 开源了 loop-engineering 这个项目(目前 3000+ star),把这个问题的回答变成了可以跑的代码。它不是又一个 Agent 框架,而是一套「怎么设计循环」的方法论 + 工具链。


什么是「循环」

Loop Engineering 里的「loop」不是一个简单的 while 循环。它是一个递归目标:你定义一个目的,AI Agent 反复迭代,带着子 Agent、验证步骤和外部状态,直到目标完成或者决定把控制权交还给你。

最简单的例子:每天早上 9 点跑一个 Agent,扫描仓库里的 issue 和 PR,更新一个 STATE.md 文件,列出优先级。不改代码,只报告。

再进一步:Agent 发现 CI 挂了,自动创建工作分支,写修复代码,跑测试,提 PR。如果测试通过,标记为「等人工审核」;如果失败,记录原因,等下一轮再处理。

更激进:多个循环同时跑,一个管 issue 分诊,一个管依赖更新,一个管 CI 修复,各自有子 Agent 做 maker/checker 拆分。

这就是 Loop Engineering 要解决的问题:怎么设计这些循环,让它们可靠地运行,而不是制造一堆半成品 PR 和 token 账单。


五个构建块

这个项目定义了五个核心原语,加一个「+1」。不是什么新发明,而是从 Grok、Claude Code、Codex 等工具的实际使用中提炼出来的结构。

1. 调度(Automations)

循环的心跳。没有调度,你就只是一次性的 Agent 调用。

不同工具的实现方式不一样。Grok 用 /loop 1d 这样的命令,Claude Code 有 scheduled tasks,Codex 可以用 GitHub Actions + repository dispatch。核心是一个东西:定期触发,带着上下文。

调度的关键属性:间隔(5 分钟还是 1 天)、是否立即触发第一次、单次还是循环、是否持久化(机器重启后还在不在)。

2. Worktree(隔离工作目录)

两个 Agent 同时改同一个文件,灾难就来了。Git worktree 让每个 Agent 有自己的工作目录,共享历史但不共享工作区。

Grok 里可以传 isolation: "worktree" 启动子 Agent。Claude Code 和 Codex 也有类似机制。

容易忽略的一点:任务完成后要清理 worktree。如果不清理,磁盘和分支管理都会出问题。

3. Skills(技能文件)

循环的持久记忆。一个 skill 通常是 SKILL.md 加一些脚本和参考文档,记录:

  • 项目的编码规范
  • 「去年因为 X 事故,我们不这样做」
  • 构建、测试、lint 的命令
  • Review 标准
  • 领域知识

没有 skill,循环每次运行都要从零推导这些信息。Cobus 管这叫「意图债」(intent debt)——你欠了循环太多没说清楚的上下文,它就靠猜。

其实 Hermes Agent 的 skill 机制就是这个思路的实践。

4. 连接器(Plugins & MCP)

一个只能读文件系统的 Agent,能力有限。连接器让 Agent 可以:

  • 读写 Linear / Jira ticket
  • 在 Slack / Discord 发消息
  • 查数据库、调内部 API
  • 在 GitHub 上创建分支和 PR
  • 触发部署流水线

MCP(Model Context Protocol)正在成为连接器的标准协议。为一个工具写的 MCP server,其他支持 MCP 的 Agent 也能用。

5. 子 Agent(Maker / Checker 拆分)

这是可靠循环最重要的结构性模式。

写代码的 Agent 判断自己写得好不好,这件事本身就不太靠谱。所以需要第二个 Agent 来验证——用不同的指令,有时候用更强的模型。

常见的拆分方式:

  • 探索者 → 实现者 → 验证者
  • 实现者 → 安全审查员
  • 实现者 → 测试编写 + 执行者

在无人值守的循环里,验证者是你(人类)能放心走开的关键。

+1:状态(State)

模型没有跨会话的长期记忆。循环必须读写某种持久化的东西:仓库里的 STATE.md、Linear board 的一个 section、或者一个小数据库。

好的状态文件回答三个问题:

  1. 当前在处理什么?
  2. 上次试了什么,结果怎样?
  3. 有什么在等人工处理?

这个文件通常是循环产出的最重要的一件工件。


七个生产模式

这个项目提供了 7 个可以开箱即用的循环模式:

模式 频率 第一周目标 Token 消耗
Daily Triage(每日分诊) 1 天 只报告,不改代码
PR Babysitter(PR 守护) 5-15 分钟 观察 PR 状态
CI Sweeper(CI 清扫) 5-15 分钟 谨慎修复 CI 失败 很高
Dependency Sweeper(依赖更新) 6 小时-1 天 只 patch 版本
Changelog Drafter(更新日志) 1 天或打 tag 只写草稿
Post-Merge Cleanup(合并后清理) 1 天-6 小时 低峰期执行
Issue Triage(Issue 分诊) 2 小时-1 天 只建议,不操作

建议从 Daily Triage 开始。风险低,token 消耗少,能帮你理解循环的工作方式。


实际怎么跑

这个项目提供了三个 CLI 工具,全部可以通过 npx 直接用,不需要 clone 仓库。

第一步:初始化

npx @cobusgreyling/loop-init . --pattern daily-triage --tool grok

这会在你的仓库里创建 STATE.mdLOOP.mdloop-budget.mdloop-run-log.md

第二步:估算 token 消耗

npx @cobusgreyling/loop-cost --pattern daily-triage --level L1 --cadence 1d

高频循环(比如 CI Sweeper 每 5 分钟一次)token 消耗会爆炸。先算清楚再上。

第三步:审计就绪度

npx @cobusgreyling/loop-audit . --suggest

评分 0-100,给出具体改进建议。

第四步:第一周只报告

Grok 的例子:

/loop 1d Run loop-triage. Update STATE.md. No auto-fix in week one.

Claude Code 的例子:

/loop 1d Run $loop-triage. Read STATE.md. Merge findings into High Priority and Watch List. Do not edit code.

第一周不改代码。只让循环产出报告,你来读、来判断。这是建立信任的过程。

分阶段推进

L1(报告)→ L2(辅助修复)→ L3(无人值守)

别跳级。每一个级别都要验证循环的判断能力,再考虑让它自己动手。


现实中的坑

Token 成本可能失控

子 Agent + 长时间运行的循环 = 账单惊喜。loop-cost 工具能帮你估算,但实际消耗往往比估算高 20-50%。尤其是 PR Babysitter 和 CI Sweeper 这种高频模式。

验证还是你的事

无人值守的循环会犯无人值守的错误。你给它多少自主权,它就能制造多少麻烦。

理解债(Comprehension Debt)

循环帮你做的事越多,你读它的输出就越少。积累下来,你不知道仓库里多了什么代码、改了什么逻辑。这和代码债一样危险。

同一个循环,两个人跑,结果可能相反

循环不知道你的项目有什么隐含约束。你跑 daily-triage 会发现它列出的优先级跟你直觉一致,因为你有上下文。换个人跑,结果可能完全不同。


跟传统 Prompt Engineering 的区别

Prompt Engineering 的核心是「怎么写出好的 prompt」。Loop Engineering 的核心是「怎么设计一个系统,让系统来写 prompt」。

这不是说 prompt 不重要了。而是 prompt 的编写本身变成了一个可以自动化、可以迭代、可以版本控制的工程问题。

一个好的循环里,prompt 可能是个 skill 文件,版本化管理,每次运行前由调度器组装上下文、注入状态、选择合适的工具。人类的职责变成了设计这个组装过程,而不是每次都手动写指令。

Addy Osmani 在他的文章里给了一个判断标准:

建循环。但要像一个打算继续当工程师的人那样去建,而不是一个只想按按钮的人。


对 51domino 的启示

如果你在用 AI Agent 做日常开发,loop-engineering 的几个核心思路可以直接迁移:

  1. 从报告模式开始。先让 Agent 每天给你一份分析报告(代码质量、依赖状态、issue 趋势),不改任何东西。建立信任后再逐步授权。

  2. 状态文件是关键。不管你用不用这个项目的工具,在仓库里维护一个 STATE.md 记录 Agent 的决策历史,是一个简单但有效的习惯。

  3. 子 Agent 做验证。如果你的 Agent 要自动改代码,至少用一个独立的验证步骤检查结果。可以是另一个 Agent,可以是 CI 流水线。

  4. 先慢后快。从每天一次的低频循环开始,确认可靠后再提高频率。高频循环的 token 成本和错误累积速度都会指数增长。

  5. MCP 连接器放大能力。一个能读写 Linear ticket、发 Slack 通知、触发 CI 的 Agent,比只能读写文件的 Agent 有用得多。


工具链速查

工具 用途 命令
loop-init 初始化循环脚手架 npx @cobusgreyling/loop-init . --pattern daily-triage --tool grok
loop-cost 估算 token 消耗 npx @cobusgreyling/loop-cost --pattern daily-triage --level L1
loop-audit 审计就绪度 npx @cobusgreyling/loop-audit . --suggest

三个工具都发布在 npm 上,不需要 clone 仓库。支持 Grok、Claude Code、Codex 三种工具的模式映射。

GitHub 仓库:cobusgreyling/loop-engineering

参考文章: - Cobus Greyling 原文:Loop Engineering (Substack) - Addy Osmani:Loop Engineering

想让AI真正落地到你的业务中?

51domino 提供企业级AI Agent本地化部署方案——从模型选型到生产上线,全程技术支持。

订阅更新

获取最新的AI本地化技术文章和教程