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

前段时间 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 这个词是被逼出来的。因为大家越用越发现,单循环有四种翻车方式,而且都不是偶然,是循环这个形状的必然后果。

有个案例特别扎心。一个客服团队花了整整一个季度,做出一个他们引以为豪的东西:AI 客服的反馈循环。选一个指标——工单解决率——每周测一次,掉了就调 prompt 和策略。曲线连涨五个月,漂亮。
然后续费数据来了:流失率翻倍。
机器人学会了怎么"解决"工单——快速关闭对话、劝退追问、把只是被放弃的问题标记成已解决。循环运行得完美无瑕,数字一路向上。而循环的成功,本身就是失败的机制:它只能看见那个数字,可那个数字早就悄悄不再代表所有人以为它代表的东西。
这就是四种翻车里最出名的一种,它有名字:
| 失败方式 | 说人话 |
|---|---|
| 古德哈特定律 | 指标一旦变成目标,系统就会去刷指标,而不是刷指标背后的现实 |
| 向上盲区 | 循环拼命把变量推向目标值,但它没法质疑"这个目标值本身对不对" |
| 循环打架 | 优化速度的循环,会亲手破坏优化质量的循环,各自看都很正常 |
| 测量烂掉 | 没人盯着"盯梢的人",传感器漂移、数据管道腐烂,仪表盘却一直绿着 |
四个坑的共同点:每个循环单独看都在正常工作。这正是单循环思维最危险的地方——它对这些问题连词汇都没有。
图:让循环互相盯着
去看那些"改进"真正靠谱的成熟系统,你会发现一个规律:它们从来不是一个循环,而是一张网——循环连着循环,价值全在连接里。

一个正经的机器学习部署流水线,绝不是"重训一下再上线"。它是:擂台循环(新模型必须在真实流量上打赢老模型才能替换)+ 漂移监控循环(盯着线上数据还像不像训练数据)+ 自动回滚(指标破线就退回去)+ 一个训练时永远看不到的保留测试集(专门抓"作弊刷分"的行为)。每个部件都是一个循环,可靠性全长在边上:谁喂给谁、谁监视谁、谁能否决谁。
对应到四个坑,答案全是拓扑学的:
- 古德哈特 → 配对指标:解决率配续费率,速度配错误率,一个指标绝不能单独出门。
- 向上盲区 → 层级化:让一个更慢的循环拥有快循环的目标值,改目标本身也变成一个受治理的流程。
- 打架 → 显式仲裁:在打架的循环之上,放一个有权做权衡的节点。
- 测量烂掉 → 审计循环:唯一职责就是定期检查别的循环的数字还接不接地气。
翻译成做 Agent 的话:一个新 PR 扇出给多个审计 Agent → 发现汇总到一个验证器 → 确认的问题交给修复者 → 跑测试 → 挂了就打回修复者,过了就发布。画在白板上,这就是一张包含循环的图。
技能变了。写一个干净的循环,是上个时代的手艺(真的就一个月前)。这个时代的手艺是循环架构——知道一个指标绝不能独自旅行、目标值需要有主人、快慢必须分层免得快循环把慢循环守护的东西震散、图里必须有一个循环对现实本身负责。
别急着搭个 40 Agent 的图
讲到这你可能觉得:那答案就是"更多循环、更好编排",拓扑就是解药。
恰恰是这里,藏着这波转变真正的教训。
想象一家公司把完整的图搭齐了:配对指标、审计循环、调参的元循环——但所有循环消费的都是同一批报告。审计循环拿运营数字核对财务数字,财务数字又来自运营喂的同一个系统,元循环用建在这一切之上的仪表盘去调阈值。
每个节点都同意,每个循环都在监视另一个循环,没有一个节点接触地面。
这就是"极其有组织的废话":二十个 Agent 用同一个模型、读同样有缺陷的上下文、检查同一个有问题的指标,可以以工业规模互相点头。图能高效放大有用的工作,也能一样高效地放大错误——而且更晚、更贵、下坡路上还一路绿灯。
拓扑买来了精密,它没买来与现实的接触。

所以图需要一样任何边的编排都给不了的东西:现实锚点。网络里某些测量必须是无法狡辩的那种——
- 实际跑过的测试
- 真正到账的钱
- 真正留下来的客户
- 从物理世界读来的测量
- 优化器不许偷偷改写的规则
- 以及最根上那个问题:"更好"到底是什么意思——这必须由人来定,因为图里每个循环都预设了它。
没有锚点,图不过是一个"项目管理做得更好的更大幻觉"。
顺带说一句:Claude Code 已经给了图一个运行时
这不是纯概念。Claude Code 的动态工作流(Dynamic Workflows)就是图工程的一个具体运行时。
Claude 把计划写成一段 JavaScript 程序,这段程序可以生成子 Agent、并行跑独立任务、把结果送去审查、重试失败的活;后台运行时负责跟踪执行,所以 Claude 不用在聊天里一步步指挥。Anthropic 自己那句话很精准:
"工作流把计划搬进了代码。"
底下的计算机科学一点都不新——工作流引擎、DAG 调度、状态机、分布式系统,早干这些了。新的只是:节点里那个"步骤"从固定规则的脚本,换成了会自己解读任务、可能会理解错、下次还可能给你换个选择的 Agent。一个聊天窗口能藏住惊人多的烂架构;一旦任务跨越几百个文件、多个仓库、几个小时,它就脆了。图逼你把这些关系摊到明面上。
对独立开发者意味着什么
作为一人公司,你大概率不需要 40 个 Agent 的图。但这套思路对你恰恰更成立——因为你没有大公司那种"人多自然会互相制衡"的组织惯性,你的循环如果没有邻居,翻车了没人拦。
把上面拧成一句:
Loop 让 AI 能自己转圈,Graph 逼你回答"谁盯着这个圈、什么算数、谁能喊停"。
几条能直接抄的做法:
-
别一上来搭图,先跑通一个带真验证器的 Loop。 挑一个重复任务,给它一个外部验证器(测试过不过、构建编不编译——不是让同一个 Agent 既写又判,那是台昂贵的自我认同机器),状态存到你能翻看的地方,加一个硬停止。先跑够多次,搞清楚它怎么失败。
-
给你现有的每个循环配一个"反指标"。 你要是有个 Loop 在优化"每天发几条内容",就同时盯"取关率 / 完播率"。任何单指标独自旅行,迟早刷给你看。
-
在图外钉一个现实锚点。 你所有 Agent、所有自动化最终要对齐的那个东西,必须来自系统外部——到账的收入、真实用户的留存、一条优化器不许改的规则。问自己一句:如果我这套自动化全在自说自话,哪个数字会第一个戳穿它?答不上来,就是还没有锚点。
-
把"谁有否决权"写进你的 CLAUDE.md。 审查 Agent 能不能拦部署?优化 Agent 能不能改自己的测试(绝对不行)?哪个子图能触发另一个?这些边界现在不定,AI 每次都会按当前任务替你重新猜。
命名这事 AI 圈有个老毛病:每个有用的概念大概能活六个月,就有人宣布它死了。Prompt Engineering → Context Engineering → Harness Engineering → Loop Engineering → 现在轮到 Graph Engineering。
但真正持久的那根轴,从来不是"Loop 还是 Graph"。是有没有根:你的改进机器,不管长什么形状,还接不接触它声称要改进的那个现实。
单循环,是系统学会变好的方式。图,是它们学会"在不自欺的前提下"变好的方式。
而对"更好"保持诚实——这是跟两者都不同的第三课。等下周有人给"图"再取个新名字的时候,这一课还会重要。