4.5K Star!Loop Engineering 深度解析:别再写 Prompt 了,把 Agent 编成会自己干活的 Loop

一行命令装好 Loop,但什么才算"完成式",还得靠人来看。

最近「Loop Engineering」在 AI 圈爆火。Claude Code 之父、吴恩达、Karpathy 都先后为其背书。核心口号只有一句:

Stop prompting. Design the loop.(别再写 Prompt 了,去设计 Loop)

GitHub 上 cobusgreyling/loop-engineering 这个开源项目,已经累计 4.5K Star,MIT 协议。它不像很多"AI 玩具"只给个 Demo,而是一整套可操作、可打分、可审计、带安全护栏的 Agent 循环工程框架。本文基于其仓库真实源码(README、LOOP.md、docs、patterns/registry.yaml、safety.md 等)重新梳理,带你从概念、架构到实战,把这个"傻瓜式 Loop 教程"背后的工程思想讲透。


一、它到底解决了什么:从「写 Prompt」到「Design the Loop」

传统用 AI 写代码,是你一次次敲 Prompt 指挥 Agent:「帮我改下这个 bug」「再跑下测试」「这个 PR 怎么又红了」。

Loop Engineering 的思路是:你不再是那个不断敲 Prompt 的人,而是设计一个系统——它自己发现该干的活、把活派给 Agent、验收结果、把状态存下来,循环往复,直到达标或升级给你。

官方对 Loop 的定义很精确:

A loop is a recursive goal: define purpose, let the agent iterate (with sub-agents and external memory) until done, or until the loop escalates to a human.

一句话:Loop = 一个会自我迭代的递归目标。你定目的,Agent 带着子 Agent 和外部记忆反复跑,做完就停,做不动就喊人。

这正好对上吴恩达最近反复说的那句话:

现在根本没有人写 Prompt 了,新时代的核心工作是编写和管理 Loop


二、六大原语(+ 记忆):Loop 的乐高积木

很多人觉得"设计 Loop"很抽象。项目把 Loop 拆成 6 个基础元件 + 记忆/状态,全部可落地:

1. Automations / Scheduling(自动化 / 调度)—— 心跳

没有调度,Agent 跑一次就完了。调度可以是:

  • Grok 的 /loop
  • Claude Code 的 scheduled tasks / cron
  • GitHub Actions + repository dispatch
  • /goal(跑到某个可验证条件为真为止)
  • 自定义 harness 调度器

关键属性:间隔、是否立即触发、循环 vs 一次性、能否持久(重启后还在)。

2. Worktrees(工作树)—— 并行不混乱

两个 Agent 同时改同一批文件 = 合并地狱。Git worktree(或等价的隔离 checkout)给每个 Agent 一个独立工作目录,共享历史但不共享工作区。

项目里的 loop-worktree CLI 把这件事机械化了:一次尝试一个 worktree,记录在 manifest 里,被验证器否决或升级给人时自动清理。

3. Skills(技能)—— 意图的持久记忆

Skill(通常是一个 SKILL.md + 可选脚本/参考)沉淀的是项目约定:

  • 「我们因为 X 事故,不允许这么写」
  • 构建/测试/lint 命令
  • 评审标准、领域知识

没有 Skill,Loop 每次都从零重新推导一切——这叫 Intent Debt(意图债)。Skill 也是复用单元,可以打包成插件跨仓库/跨团队共享。

4. Plugins & Connectors(MCP 插件与连接器)—— 接入真实世界

只能读文件系统的 Loop 很有限。连接器让 Loop 能:

  • 读/更新 Linear、Jira 工单
  • 发 Slack、Discord
  • 查数据库或内部 API
  • 在 GitHub 建分支、开 PR
  • 触发部署

MCP(Model Context Protocol)成了通用底座,给一个工具写的连接器,往往别的工具也能用。

5. Sub-agents(Maker / Checker 拆分)—— 最重要结构模式

写代码的 Agent,绝对不适合给自己的代码阅卷。 这是可靠 Loop 最关键的一条。

常见拆分:

  • Explorer → Implementer → Verifier
  • Implementer → Security Reviewer
  • Implementer → Test Writer + Runner

在无人值守(L3)的 Loop 里,验证器就是你敢离开座位的底气/goal 也是这个思想的变体:用全新模型判断停止条件是否达成。

6. + Memory / State(记忆 / 状态)—— 最关键的产物

模型在跨 turn、跨 session 时没有长期记忆。Loop 必须读写一个持久载体:

  • 仓库里的 STATE.mdLOOP-STATE.json
  • Linear board / GitHub Project 的某个分区
  • 一个小数据库行

好的状态文件要回答三件事:现在在干什么?上次试了啥、结果如何?有什么在等人?

状态文件往往是 Loop 产出的最重要产物,没有之一。

概念图(Human 在最高杠杆点)

Human(最高杠杆)
  ├─ Design loop           设计 Loop
  ├─ Encode judgment       把判断写进 skills + verifiers
  └─ Human gates           高风险动作的人工闸门
        ↑
Loop(系统)
  Scheduler → Triage → STATE → Implementer → Verifier → MCP → STATE
                                          ↓
                                       Human gate

最小可用 Loop 通常从:调度 + 一个 triage Skill + 状态文件 起步;等证明价值后再加 worktree、子 Agent 验证、连接器。


三、八个开箱即用 Pattern(不是"7 个")

公众号说"七套现成工作流",但项目 registry 里实际有 8 个 Pattern(含一个极简的 thin-loop)。全部自带 starter 模板:

Pattern节奏第一周风险成本状态文件
Daily Triage(每日巡检)1d–2hL1 报告STATE.md
Thin Loop(轻量循环)1dL1 快照极低STATE.md
PR Babysitter(PR 看管)5–15mL1 观察pr-babysitter-state.md
CI Sweeper(CI 清扫)5–15mL2 谨慎极高ci-sweeper-state.md
Dependency Sweeper(依赖扫描)6h–1dL2 仅补丁dependency-sweeper-state.md
Changelog Drafter(更新日志起草)1d / tagL1 草稿changelog-drafter-state.md
Post-Merge Cleanup(合并后清理)1d–6hL1 非高峰post-merge-state.md
Issue Triage(Issue 处理)2h–1dL1 仅建议issue-triage-state.md

这些 Pattern 负责把"反复催 Agent 的动作"固定下来。比如:没人愿意每 10 分钟看一次 CI,每次发版前翻几十条提交记录——这些"持续盯着但判断标准清楚"的活,正是 Loop 该接走的。

还内置了交互式选取器:你描述"PR 总卡住"“Issue 太乱”,工具自动推荐对应循环和启动命令。


四、一行命令上手:5 分钟跑起来

在 Git 项目根目录,直接抄这行:

# 统一门面(推荐)
npx @cobusgreyling/loop init . --pattern daily-triage --tool claude

# 体检:输出 readiness 分数 + 改进建议
npx @cobusgreyling/loop doctor .

# 估算 Token 成本(高频循环会烧钱,先算账)
npx @cobusgreyling/loop cost --pattern daily-triage --level L1

--tool 可换 grok / codex / opencode--pattern 换成上面 8 个任意一个。第一周统一 report-only(只报告不改)

官方推荐的 6 步标准流程:

  1. 选模式:新手直接冲 daily-triage,风险最低,最适合学 Loop 逻辑。
  2. 脚手架:跑上面那行 init,生成 STATE.md + skills + 调度配置。
  3. 估算成本loop-cost 提前算清高频循环会烧多少 Token。
  4. 审计就绪度loop-audit . --suggest 输出 0–100 分 + 改进意见;达标可贴 loop-audit . --badge 的 “Loop Ready” 图标。
  5. 仅报告模式启动:以 Grok 为例, /loop 1d Run loop-triage. Update STATE.md. No auto-fix in week one.
  6. 读输出:打开 STATE.md 确认 Loop 有没有问题,有问题直接改。

旧版独立包(loop-init / loop-audit / loop-cost / loop-doctor)仍然兼容,但新项目建议用统一门面 npx @cobusgreyling/loop

Loop 成熟度分 L1 → L2 → L3

  • L1:只发现问题、更新 STATE.md,不碰代码
  • L2:验证器在场时,小范围自动改,但需人工审查
  • L3:完整自动、长时间无人值守

五、项目真实架构:它自己吃自己的狗粮

整个仓库目录结构(已瘦身、高信号):

loop-engineering/
├── patterns/        8 个 Pattern 定义 + registry.yaml(机器可读注册表)
├── docs/            26 篇:概念、原语、架构图、安全、失败模式、反模式、运营…
├── tools/           16 个 CLI 工具
├── skills/          7 个 Skill(triage/verifier/budget/constraints…)
├── starters/        18 个启动模板(每个 Pattern × 工具变体)
├── templates/       24 个模板(SKILL/STATE/GOAL/budget…)
├── examples/        11 个示例(claude-code/codex/grok/openclaw/opencode/windsurf/mcp…)
├── scripts/         17 个脚本(校验、徽章、tri-age 等)
├── stories/         22 个真实案例(成功 + 失败都记)
├── LOOP.md          「自己怎么被 Loop 维护」的活文档
├── STATE.md         Loop 实时状态
└── gate.yaml        自动合并白名单 / 路径黑名单

16 个工具中,统一门面是 loop,其余是能力包:
loop-init(脚手架)、loop-audit(打分)、loop-cost(估算)、loop-doctor(体检)、loop-statusloop-sync(状态同步)、loop-contextloop-gate(执行黑名单)、loop-worktree(隔离)、loop-sandbox(沙箱)、loop-swarm(多 Agent 共识沙箱)、loop-metricsgoal-initgoal-auditmcp-serverloop-action

最硬核的是:它真的在吃自己的狗粮。仓库 LOOP.md 记录自动化状态——Daily Triage 已经用 GitHub Action(daily-triage.yml)跑起来了,scripts/github-triage.mjs 自动写 STATE.md,update-last-run-badge.mjsdocs/last-run.json 作为实时徽章。

还有一组伴生仓库,且作者明确说"等 Loop 真跑起来再加":

  • memory-engineering(记忆工程)
  • harness-foundry(harness 工厂)
  • outerloop(外层 Loop)
  • fleet-engineering(舰队工程)
  • goal-engineering(目标工程)

学术上,论文 Lulla et al. 2026(arXiv:2608.21884) 把本仓库列为社区参考实现。


六、为什么它不像玩具:安全护栏

很多"自动修代码"的项目翻车,是因为没有护栏。Loop Engineering 把安全做成最低门槛,而且可机器强制执行:

路径黑名单(Path Denylist)

以下路径 Loop 绝不在无人工批准下自动改

**/.env  **/secrets/**  **/credentials/**  **/*_key*  **/*_secret*
**/.terraform/**  **/k8s/production/**  **/migrations/**
**/auth/**  **/payments/**  **/billing/**

loop-gate checkgate.yaml 机械执行这条黑名单(退出码 2 = 升级给人,0 = 放行)。

自动合并策略:默认关闭

只有白名单内的"琐事"能自动合并:注释 typo、仅测试文件的 lint 自动修复、import 排序、白名单 docs/ 路径下的配置。行为变更、依赖版本、lockfile 变更、任何黑名单路径,一律不自动合并。

MCP 连接器最小权限

连接器
GitHubissues / PRs / checkscomment / label(默认不 merge)
Linearteam issuescomment / status(不删)
Slack频道历史仅发到 #loop-escalations
Database禁止生产写入

必须人工闸门的场景

安全/鉴权/授权、支付账单/PII、基础设施/Terraform/K8s prod、依赖升级(供应链风险)、改动 >N 文件(建议 N=10)、同一项第三次失败、Token 预算扩展请求(Agent 不能自己提额,必须人改 loop-budget.md)。

机器可读约束

项目根放 loop-constraints.mdloop-constraints Skill 在每次 Loop 开始前读取并强制执行每一条规则。

事故响应也很具体:Loop 合了坏代码 → 立刻暂停所有 Loop → 回滚 → 写进 state 和 stories → 收紧验证器或缩小范围再重启。


七、吴恩达的三层 Loop:Loop 搭好后,人做什么?

前面解决"Loop 怎么搭起来",吴恩达最近讨论的是:Loop 跑起来后,人该干啥? 他把从 0 到 1 做产品的过程,拆成三层由快到慢的 Loop:

最内层:Agent 编码 Loop

人给产品说明 + 评测标准,Agent 负责写代码、测、改,直到没 bug。几分钟就出一版。 吴恩达举了个例子:上周末他给女儿做了个练打字的小应用,编程 Agent 靠 Loop 自己吭哧干了一小时,还反复自测页面,全程不用他插手

中间层:开发者反馈 Loop

过去开发者得亲自给 Agent 找问题;现在 Agent 自己反复测,效果还好。人不用时刻盯状态,注意力集中在产品效果优化上。这层慢一点,几十分钟到数小时一圈。吴恩达就以这个频率审查视觉、给反馈,Agent 再进下一轮。

最外层:外部反馈 Loop

产品交给朋友、Alpha 用户或真实用户用,通过反馈、使用数据、A/B 测试修正方向。最慢,数小时到数天甚至数周。

三层由快到慢组成一条链路:Agent 把东西快速做出来 → 开发者决定该做成什么样 → 用户证明它值不值得继续做。

吴恩达的核心判断:Loop 不会让人退出软件开发,相反,人类工程师有独到的上下文优势——关于用户和产品的经验,也可以叫"品味"。这正是 Loop 越循环越好的关键。


八、L1→L2→L3:升级路径与刹车

官方给的升级路径,强调绝不跳级

Report-only (L1)  →  稳定 triage 1–2 周
      ↓
Small auto-wins (L2)  →  验证器 + worktree + 最大尝试次数
      ↓
Connectors (L2+)  →  自动更新 PR/工单
      ↓
Unattended (L3)  →  只有具备 黑名单 + 预算 + 指标 + 人工闸门 才上

生产 repo 上新 Pattern 绝不跳过 L1

何时减速:Token 预算周中 >80%、triage 误报率 >30%、同项 48h 内升级 2 次、发版周(暂停自动修,只报告)。

何时暂停:生产事故进行中、破坏性 schema 迁移、关键评审人 OOO 且开了自动合并。

何时杀掉:连续 2 周成本 > 价值、团队全静音、被事件驱动方案替代。

项目还诚实记录了几个认知陷阱(来自 Addy Osmani 的概念谱系):

  • Cognitive Surrender(认知投降):让 Loop 跑,自己就停止有观点——用 Loop 避险 vs 用 Loop 偷懒,同一个动作,相反结果。
  • Comprehension Debt(理解债):Loop 跑得越快,你没读过的代码越多;不读 Loop 产出的东西,债就涨。
  • Intent Debt(意图债):每次 session Agent 从冷启动,缺的意图被自信猜测补齐——靠 Skill 偿还。
  • Orchestration Tax(编排税):协调并行 Agent 的人力成本(评审带宽、合并冲突、上下文切换);worktree 消除机械碰撞,但你仍是并行 Loop 数量的天花板。

九、给 Agent 开发者的启示

  1. 把"反复催 Agent 的动作"固定成 Loop。 CI 巡检、Issue 分诊、依赖扫描、更新日志——这些"持续盯着但判断标准清楚"的活,最该交给 Loop。
  2. 每个原语,等上一个证明价值再加。 调度 + triage Skill + 状态文件起步,再上 worktree、子 Agent 验证、连接器。
  3. 执行者不能给自己阅卷。 maker/checker 拆分是可靠 Loop 的命门;L3 无人值守尤其依赖验证器。
  4. Loop 放大的是你的判断力(好与坏)。 护栏、预算、人工闸门不是可选项,是上线门槛。
  5. 一行命令可以装好 Loop,但"完成式"靠人看。 正如吴恩达所说,人的"品味"才是 Loop 越循环越好的关键。

参考链接

  • 项目仓库:https://github.com/cobusgreyling/loop-engineering
  • 互动选取器(Showcase):https://cobusgreyling.github.io/loop-engineering/#interactive
  • 吴恩达推文:https://x.com/AndrewYNg/status/2071988145667928442
  • 论文 Lulla et al. 2026:https://arxiv.org/abs/2608.21884

总结:Loop Engineering 把"Agent 协作"从玄学变成工程——六大原语是积木,八个 Pattern 是模板,L1/L2/L3 是成熟度,安全护栏是底线。它不一定适合所有团队,但如果你想让你的 Agent 不只是"听一次话",而是"自己找活、自己执行、自己验收、有问题再叫人",这套框架值得抄作业。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐