4.5K Star!Loop Engineering 深度解析:别再写Prompt了,把Agent编成会自己干活的Loop
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.md或LOOP-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–2h | L1 报告 | 低 | 低 | STATE.md |
| Thin Loop(轻量循环) | 1d | L1 快照 | 低 | 极低 | STATE.md |
| PR Babysitter(PR 看管) | 5–15m | L1 观察 | 中 | 高 | pr-babysitter-state.md |
| CI Sweeper(CI 清扫) | 5–15m | L2 谨慎 | 中 | 极高 | ci-sweeper-state.md |
| Dependency Sweeper(依赖扫描) | 6h–1d | L2 仅补丁 | 中 | 中 | dependency-sweeper-state.md |
| Changelog Drafter(更新日志起草) | 1d / tag | L1 草稿 | 低 | 低 | changelog-drafter-state.md |
| Post-Merge Cleanup(合并后清理) | 1d–6h | L1 非高峰 | 低 | 低 | post-merge-state.md |
| Issue Triage(Issue 处理) | 2h–1d | L1 仅建议 | 低 | 低 | 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 步标准流程:
- 选模式:新手直接冲
daily-triage,风险最低,最适合学 Loop 逻辑。 - 脚手架:跑上面那行
init,生成STATE.md+ skills + 调度配置。 - 估算成本:
loop-cost提前算清高频循环会烧多少 Token。 - 审计就绪度:
loop-audit . --suggest输出 0–100 分 + 改进意见;达标可贴loop-audit . --badge的 “Loop Ready” 图标。 - 仅报告模式启动:以 Grok 为例,
/loop 1d Run loop-triage. Update STATE.md. No auto-fix in week one. - 读输出:打开
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-status、loop-sync(状态同步)、loop-context、loop-gate(执行黑名单)、loop-worktree(隔离)、loop-sandbox(沙箱)、loop-swarm(多 Agent 共识沙箱)、loop-metrics、goal-init、goal-audit、mcp-server、loop-action。
最硬核的是:它真的在吃自己的狗粮。仓库 LOOP.md 记录自动化状态——Daily Triage 已经用 GitHub Action(daily-triage.yml)跑起来了,scripts/github-triage.mjs 自动写 STATE.md,update-last-run-badge.mjs 写 docs/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 check 从 gate.yaml 机械执行这条黑名单(退出码 2 = 升级给人,0 = 放行)。
自动合并策略:默认关闭
只有白名单内的"琐事"能自动合并:注释 typo、仅测试文件的 lint 自动修复、import 排序、白名单 docs/ 路径下的配置。行为变更、依赖版本、lockfile 变更、任何黑名单路径,一律不自动合并。
MCP 连接器最小权限
| 连接器 | 读 | 写 |
|---|---|---|
| GitHub | issues / PRs / checks | comment / label(默认不 merge) |
| Linear | team issues | comment / status(不删) |
| Slack | 频道历史 | 仅发到 #loop-escalations |
| Database | — | 禁止生产写入 |
必须人工闸门的场景
安全/鉴权/授权、支付账单/PII、基础设施/Terraform/K8s prod、依赖升级(供应链风险)、改动 >N 文件(建议 N=10)、同一项第三次失败、Token 预算扩展请求(Agent 不能自己提额,必须人改 loop-budget.md)。
机器可读约束
项目根放 loop-constraints.md,loop-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 开发者的启示
- 把"反复催 Agent 的动作"固定成 Loop。 CI 巡检、Issue 分诊、依赖扫描、更新日志——这些"持续盯着但判断标准清楚"的活,最该交给 Loop。
- 每个原语,等上一个证明价值再加。 调度 + triage Skill + 状态文件起步,再上 worktree、子 Agent 验证、连接器。
- 执行者不能给自己阅卷。 maker/checker 拆分是可靠 Loop 的命门;L3 无人值守尤其依赖验证器。
- Loop 放大的是你的判断力(好与坏)。 护栏、预算、人工闸门不是可选项,是上线门槛。
- 一行命令可以装好 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 不只是"听一次话",而是"自己找活、自己执行、自己验收、有问题再叫人",这套框架值得抄作业。
更多推荐


所有评论(0)