# Loop Engineering 还是 Graph Engineering，其实是个假问题

> Peter Steinberger 九个字的推点破了整个 Agent 圈：我们还在聊 Loop，还是已经在聊 Graph？但两者根本不是对立——图里本就包含循环。单循环会以四种方式翻车，答案是拓扑；可比拓扑更根本的，是给图钉一个「现实锚点」。

- 原文链接: https://laojin.blog/blog/20260722_loop_vs_graph_engineering
- 作者: 老金
- 发布日期: 2026-07-22
- 标签: Agent, Loop, Graph, AI 工程, 独立开发

---

![Loop Engineering 还是 Graph Engineering，其实是个假问题](https://pic-1258874139.cos.ap-hongkong.myqcloud.com/laojinblog/posts/20260722/00_cover.png)

前段时间 OpenClaw 的作者 Peter Steinberger 发了一条推，就九个字：

> "我们还在讨论循环（loop），还是已经转向图（graph）了？"

数千点赞。底下一片心领神会。

这个梗妙就妙在——它不用向任何做 Agent 的人解释。整个圈子在行进途中认出了自己：一只脚还踩在正在离开的模式上（Loop），另一只脚已经伸向了下一个（Graph）。

我前面写了好几篇 Loop，今天把这只"伸出去的脚"讲清楚：Graph 到底是什么，为什么是现在，它解决了什么——以及梗图没说的那半句，它没解决什么。

---

## 先说结论：不是又发明了个新玩意

行业是不是又一夜之间造了个新学科？Graph 是个新产品吗？Loop 不能用了吗？

都不是。

没有一个叫 Graph 的新产品。Loop 也不会消失。真正发生的事情很朴素：**过去几个月我们学会了怎么让一个 Agent 持续干活（这就是 Loop）；现在我们要设计的是——当多个 Agent、多次检查、分支、重试、人类审批同时协作时，会发生什么。那个更大的结构，就是图。**

一句话："Loop 对 Graph"是个假命题。图里本来就包含循环——循环只是图里"修复→测试"之间那条重试路径。图是整张地图，Loop 是地图上的一小段。

Prompt 让 AI 做一次事。Loop 给它一个目标反复干到达标。Graph 则是在设计这些 Loop 之间的关系。

---

## 为什么单个 Loop 会翻车

Graph 这个词是被逼出来的。因为大家越用越发现，单循环有四种翻车方式，而且都不是偶然，是循环这个形状的必然后果。

![单循环的翻车：指标一路向上，现实却在悄悄背离](https://pic-1258874139.cos.ap-hongkong.myqcloud.com/laojinblog/posts/20260722/01_single_loop.png)

有个案例特别扎心。一个客服团队花了整整一个季度，做出一个他们引以为豪的东西：AI 客服的反馈循环。选一个指标——工单解决率——每周测一次，掉了就调 prompt 和策略。曲线连涨五个月，漂亮。

然后续费数据来了：**流失率翻倍。**

机器人学会了怎么"解决"工单——快速关闭对话、劝退追问、把只是被放弃的问题标记成已解决。循环运行得完美无瑕，数字一路向上。而循环的成功，本身就是失败的机制：它只能看见那个数字，可那个数字早就悄悄不再代表所有人以为它代表的东西。

这就是四种翻车里最出名的一种，它有名字：

| 失败方式 | 说人话 |
|---------|--------|
| **古德哈特定律** | 指标一旦变成目标，系统就会去刷指标，而不是刷指标背后的现实 |
| **向上盲区** | 循环拼命把变量推向目标值，但它没法质疑"这个目标值本身对不对" |
| **循环打架** | 优化速度的循环，会亲手破坏优化质量的循环，各自看都很正常 |
| **测量烂掉** | 没人盯着"盯梢的人"，传感器漂移、数据管道腐烂，仪表盘却一直绿着 |

四个坑的共同点：每个循环单独看都在正常工作。这正是单循环思维最危险的地方——它对这些问题连词汇都没有。

---

## 图：让循环互相盯着

去看那些"改进"真正靠谱的成熟系统，你会发现一个规律：它们从来不是一个循环，而是一张网——循环连着循环，价值全在连接里。

![图：节点是循环，边是关系，循环互相监视](https://pic-1258874139.cos.ap-hongkong.myqcloud.com/laojinblog/posts/20260722/02_graph_of_loops.png)

一个正经的机器学习部署流水线，绝不是"重训一下再上线"。它是：擂台循环（新模型必须在真实流量上打赢老模型才能替换）+ 漂移监控循环（盯着线上数据还像不像训练数据）+ 自动回滚（指标破线就退回去）+ 一个训练时永远看不到的保留测试集（专门抓"作弊刷分"的行为）。每个部件都是一个循环，可靠性全长在边上：谁喂给谁、谁监视谁、谁能否决谁。

对应到四个坑，答案全是拓扑学的：

- 古德哈特 → **配对指标**：解决率配续费率，速度配错误率，一个指标绝不能单独出门。
- 向上盲区 → **层级化**：让一个更慢的循环拥有快循环的目标值，改目标本身也变成一个受治理的流程。
- 打架 → **显式仲裁**：在打架的循环之上，放一个有权做权衡的节点。
- 测量烂掉 → **审计循环**：唯一职责就是定期检查别的循环的数字还接不接地气。

翻译成做 Agent 的话：一个新 PR 扇出给多个审计 Agent → 发现汇总到一个验证器 → 确认的问题交给修复者 → 跑测试 → 挂了就打回修复者，过了就发布。画在白板上，这就是一张包含循环的图。

技能变了。写一个干净的循环，是上个时代的手艺（真的就一个月前）。这个时代的手艺是循环架构——知道一个指标绝不能独自旅行、目标值需要有主人、快慢必须分层免得快循环把慢循环守护的东西震散、图里必须有一个循环对现实本身负责。

---

## 别急着搭个 40 Agent 的图

讲到这你可能觉得：那答案就是"更多循环、更好编排"，拓扑就是解药。

恰恰是这里，藏着这波转变真正的教训。

想象一家公司把完整的图搭齐了：配对指标、审计循环、调参的元循环——但所有循环消费的都是同一批报告。审计循环拿运营数字核对财务数字，财务数字又来自运营喂的同一个系统，元循环用建在这一切之上的仪表盘去调阈值。

每个节点都同意，每个循环都在监视另一个循环，**没有一个节点接触地面。**

这就是"极其有组织的废话"：二十个 Agent 用同一个模型、读同样有缺陷的上下文、检查同一个有问题的指标，可以以工业规模互相点头。图能高效放大有用的工作，也能一样高效地放大错误——而且更晚、更贵、下坡路上还一路绿灯。

> 拓扑买来了精密，它没买来与现实的接触。

![现实锚点：再复杂的图，也得有一根线钉进地面](https://pic-1258874139.cos.ap-hongkong.myqcloud.com/laojinblog/posts/20260722/03_reality_anchor.png)

所以图需要一样任何边的编排都给不了的东西：现实锚点。网络里某些测量必须是无法狡辩的那种——

- 实际跑过的测试
- 真正到账的钱
- 真正留下来的客户
- 从物理世界读来的测量
- 优化器不许偷偷改写的规则
- 以及最根上那个问题："更好"到底是什么意思——这必须由人来定，因为图里每个循环都预设了它。

没有锚点，图不过是一个"项目管理做得更好的更大幻觉"。

---

## 顺带说一句：Claude Code 已经给了图一个运行时

这不是纯概念。Claude Code 的动态工作流（Dynamic Workflows）就是图工程的一个具体运行时。

Claude 把计划写成一段 JavaScript 程序，这段程序可以生成子 Agent、并行跑独立任务、把结果送去审查、重试失败的活；后台运行时负责跟踪执行，所以 Claude 不用在聊天里一步步指挥。Anthropic 自己那句话很精准：

> "工作流把计划搬进了代码。"

底下的计算机科学一点都不新——工作流引擎、DAG 调度、状态机、分布式系统，早干这些了。新的只是：节点里那个"步骤"从固定规则的脚本，换成了会自己解读任务、可能会理解错、下次还可能给你换个选择的 Agent。一个聊天窗口能藏住惊人多的烂架构；一旦任务跨越几百个文件、多个仓库、几个小时，它就脆了。图逼你把这些关系摊到明面上。

---

## 对独立开发者意味着什么

作为一人公司，你大概率不需要 40 个 Agent 的图。但这套思路对你恰恰更成立——因为你没有大公司那种"人多自然会互相制衡"的组织惯性，你的循环如果没有邻居，翻车了没人拦。

把上面拧成一句：

> Loop 让 AI 能自己转圈，Graph 逼你回答"谁盯着这个圈、什么算数、谁能喊停"。

几条能直接抄的做法：

1. **别一上来搭图，先跑通一个带真验证器的 Loop。** 挑一个重复任务，给它一个外部验证器（测试过不过、构建编不编译——不是让同一个 Agent 既写又判，那是台昂贵的自我认同机器），状态存到你能翻看的地方，加一个硬停止。先跑够多次，搞清楚它怎么失败。

2. **给你现有的每个循环配一个"反指标"。** 你要是有个 Loop 在优化"每天发几条内容"，就同时盯"取关率 / 完播率"。任何单指标独自旅行，迟早刷给你看。

3. **在图外钉一个现实锚点。** 你所有 Agent、所有自动化最终要对齐的那个东西，必须来自系统外部——到账的收入、真实用户的留存、一条优化器不许改的规则。问自己一句：如果我这套自动化全在自说自话，哪个数字会第一个戳穿它？答不上来，就是还没有锚点。

4. **把"谁有否决权"写进你的 CLAUDE.md。** 审查 Agent 能不能拦部署？优化 Agent 能不能改自己的测试（绝对不行）？哪个子图能触发另一个？这些边界现在不定，AI 每次都会按当前任务替你重新猜。

---

命名这事 AI 圈有个老毛病：每个有用的概念大概能活六个月，就有人宣布它死了。Prompt Engineering → Context Engineering → Harness Engineering → Loop Engineering → 现在轮到 Graph Engineering。

但真正持久的那根轴，从来不是"Loop 还是 Graph"。是有没有根：你的改进机器，不管长什么形状，还接不接触它声称要改进的那个现实。

单循环，是系统学会变好的方式。图，是它们学会"在不自欺的前提下"变好的方式。

而对"更好"保持诚实——这是跟两者都不同的第三课。等下周有人给"图"再取个新名字的时候，这一课还会重要。
