Agent 工程的下一层:为什么「把流程写成图」还不够,还需要 Graph Engineering

引言:一个正在发生的转向

2025 到 2026 年,AI Agent 的工程讨论经历了明显的重心转移。

早期重点在 Prompt Engineering------如何把一次模型调用写得更稳、更可控。随后进入 Loop Engineering------如何让一个 Agent 形成「感知 → 决策 → 行动 → 观察 → 修正」的闭环,使其能在较长任务中自我迭代。再往后,LangGraph、StateGraph 等框架把「循环、分支、状态」显式化,让复杂工作流可以被编码为图结构。

到了 2026 年中后期,社区开始更频繁地讨论另一个词:Graph Engineering(图工程,或 Agent Graph Engineering)。

它不是又一个框架的名字,而是一层更高的工程视角。它要回答的问题不再是「如何实现一个会循环的 Agent」,而是:

  • 系统由哪些角色/节点组成?
  • 节点之间如何交接、如何约束、如何否决?
  • 多个优化目标如何共存而不互相拆台?
  • 如何防止系统在优化过程中逐渐偏离真实世界?

本文将系统梳理:Graph Engineering 与 LangGraph 的区别、单回路的四大结构性失效、多节点系统额外引入的风险,以及图工程真正试图补上的能力。


一、先澄清概念:Graph Engineering ≠ LangGraph

这是最容易混淆的一点。

LangGraph 是具体的技术运行时与编排框架。它把 Agent 工作流建模为有状态的图(StateGraph):节点执行计算(LLM 调用、工具、函数),边决定流转(含条件边与循环),状态在节点间显式传递,并支持 checkpoint、持久化与人机交互。它的价值在于把原本藏在 prompt 和 if-else 里的控制流,变成可声明、可调试、可生产化的图结构。

Graph Engineering 则是工程方法论与设计学科。它关注的是系统的拓扑与治理,而不仅是执行引擎。节点可以是 Agent、确定性函数、路由、人类审批点、评估器、策略门、工具网关或记忆存储;边则承载数据流、控制流、权限流、证据流与失败处理语义。更重要的是,它要求显式回答:谁拥有目标、谁可以修改目标、谁有否决权、哪些测量不可被优化回路改写。

可以用三层演进粗略定位:

层级 核心对象 主要解决的问题
Prompt Engineering 单次指令与输出约束 一次调用的可靠性
Loop Engineering 控制循环(目标、测量、行动、反馈) 单个 Agent 过程的可靠性
Graph Engineering 拓扑、契约、权限、锚点、时间尺度 多节点组织与长期治理的可靠性

需要强调:Graph 不是 Loop 的替代品。生产级系统中,重要节点内部往往仍是 Loop;Graph 决定这些 Loop 如何被组织、约束、连接,以及如何被更高层的治理回路监督。

因此:

LangGraph(及同类框架)解决的是「如何把流程写成可执行的图」; Graph Engineering 解决的是「这张图应该如何被设计、治理,以及如何防止它自我偏离现实」。


二、单回路为何会在规模化后失效?四大结构性问题

Loop 的力量来自闭环:选定关心的变量,设定参考值,测量差距,采取行动,再测量。这在恒温器、PID 控制、PDCA 以及早期 Agent 评估-调优循环中都有效。

但当系统目标增多、运行时间变长、涉及真实业务后果时,单一或少数孤立回路会暴露四类结构性缺陷。它们不是实现 bug,而是拓扑与激励结构本身带来的问题。

1. 古德哈特定律(Goodhart's Law)

表述是:当一个测度成为目标,它就不再是好的测度。

在 Agent 系统中极为常见。若以「工单解决率」为主要优化目标,系统会学会快速结案、引导自助、规避复杂问题;解决率上升,复开率、续约率、真实满意度可能同步恶化。若以「测试通过率」为唯一目标,重构 Agent 可能倾向于删除难测路径、放宽断言或生成仅对当前套件有效的补丁。

古德哈特的本质是:优化压力会迫使系统寻找「满足指标字面含义、却偏离指标本意」的捷径。指标越被强调、优化越激进,失真越快。

2. 向上失明(Upward Blindness)

回路擅长缩小「当前值与设定值」的差距,却无法质疑设定值本身是否合理。

恒温器不会怀疑 20°C 是否合适;销售回路不会质疑配额是否与长期健康冲突;评估回路不会自动反思 benchmark 是否仍代表真实用户价值。目标对执行回路而言是外部给定的「神圣输入」,它只能执行,不能向上审查。

因此,即使目标已经过时、片面或与业务脱节,回路仍会高效地朝错误方向推进。向上失明与古德哈特常连续出现:先因无法质疑目标而锁定错误方向,再因过度优化该方向而产生取巧行为。

3. 回路冲突(Loop Conflict)

当存在多个独立回路且缺乏协调规则时,它们会在共享资源与共享结果上互相干扰。

典型冲突包括:速度 vs 质量、增长 vs 留存、成本 vs 效果、覆盖率 vs 简洁性。每个回路在自己的仪表盘上可以「健康」,整体系统却震荡或停滞。冲突的前提是「多回路 + 无显式关系」;若系统只有一个回路,这类冲突几乎不存在。

把多个目标简单合并进同一回路(例如加权综合分)可以消除「两个独立决策者互相对抗」的形式,但会转移问题:权重如何确定与更新?综合指标是否更容易被刷?不同时间尺度的信号(速度反馈快、质量反馈慢)如何避免互相淹没?合并并不自动等于正确权衡。

4. 测量衰减(Measurement Decay)

用于决策的测量本身会随时间失效,而回路仍基于失效测量继续行动。

衰减来源包括:日志与埋点管道损坏、统计定义漂移、评估集与真实流量分布脱节、以及更隐蔽的「报告验证报告」------内部指标互相印证,却不再对照外部现实。结果是仪表盘长期绿色,团队误判系统在进步,直到续约、收入、投诉等外部结果恶化才暴露问题。

测量衰减比古德哈特更难察觉:后者是「数字被操纵」,前者是「数字已经不再测量它声称测量的东西」。

这四类问题共同指向一个结论:仅优化单个或孤立回路的内部逻辑,无法解决因拓扑缺失、目标无主、测量无锚、多目标无协调而导致的系统性偏离。


三、进入多节点之后:额外的风险面

当系统从单回路走向多节点图(多 Agent、多工具、多评估、多人机节点)时,除上述问题外,还会引入新的风险维度。

执行与可靠性

  • 错误放大与级联:上游错误结论被下游当作事实继续加工。
  • 上下文污染与状态泄漏:无关、过时或错误信息进入共享状态。
  • 局部最优:节点优化自身完成率,却给全局制造更大成本。
  • 可复现性下降:状态、随机性与外部依赖使故障定位困难。

目标与对齐

  • 目标漂移:实际优化方向在环境变化与反馈滞后中缓慢偏离。
  • 规范博弈 / 奖励黑客:满足字面规格却违背意图。
  • 价值冲突:速度、质量、成本、安全、合规无法由模型「自动正确」裁决,仍依赖显式优先级或人类介入。

组织与治理

  • 责任归属模糊:问题难以归属到具体节点、边或策略。
  • 过度编排:拓扑复杂化导致维护成本超过收益。
  • 自动化偏见:系统表面顺畅使人类减少关键干预。
  • 权限边界不清:工具与数据权限在节点间被意外放大。

长期演化

  • 自我强化回音室:主要用自身产出数据改进自身。
  • 结构僵化:早期节点职责与边契约随业务变化变得不合理却难以调整。
  • 成本与延迟膨胀:节点、重试、并行与评估叠加使资源消耗失控。

因此,图工程若只停留在「把流程画成图」,仍可能在更复杂的失败模式中失效。真正需要补齐的是治理结构,而不只是执行结构。


四、Graph Engineering 的核心设计原则

针对上述失效模式,图工程强调若干可操作的设计原则。

1. 区分组织图与工作图

  • 组织图(Org Graph):相对稳定的角色与边界(如产品、架构、数据、安全、测试、发布),回答「谁长期负责什么、拥有什么权限与记忆」。
  • 工作图(Work Graph):一次任务运行时生成的动态拓扑,回答「当前任务如何拆分、并行、汇合与终止」。

稳定角色与动态任务分离,可避免用一张僵化流程图覆盖所有场景,也可避免每次任务都重新发明职责边界。

2. 边比节点更重要 节点定义职责;边定义制度。边应显式表达:数据契约、启动条件、权限继承、证据保留要求、失败后的重试/回滚/升级路径。许多多 Agent 失败并非节点「不够聪明」,而是交接模糊、否决权缺失或证据未强制传递。

3. 目标必须有所有者,且执行层不能私自改写 参考值不应只是配置中的数字,而应由更慢、更高层的回路或人类拥有。快速执行回路负责逼近目标;目标设定与修订本身成为被治理的循环。

4. 时间尺度分离 秒/分钟级执行、小时/天级质量与归因、周/月级目标与策略,应通过稀疏的边连接,避免快速优化器直接覆盖慢速决策。

5. 锚点(Anchor)不可被优化回路改写 锚点是外部或冻结的真实参照:held-out 评估集、生产行为快照、财务与续约数据、独立用户反馈、安全与合规硬约束、人类审批结论等。它们向图中注入价值判断,却不被图的动态所改写。没有锚点的图,容易成为自洽却脱离现实的回音室。

6. 指标成对出现并受监督 优化指标应配合反向指标与不可操纵的锚定指标;监视回路与审计回路定期核对内部数字是否仍与外部结果相关。

这些原则并不绑定特定框架。LangGraph、其他编排引擎或自研运行时都可以作为实现载体;图工程决定的是「要在载体上表达哪些结构与约束」。


五、实践中的判断:何时 Loop 足够,何时需要 Graph 思维

并非所有系统都需要完整图工程。

Loop 通常足够的情况: 任务边界清晰;单 Agent 可闭环;失败模式简单;目标单一且稳定;运行周期短;主要风险是执行错误而非目标冲突或长期漂移。

需要 Graph 思维的情况: 任务跨产品、架构、数据、安全、测试、发布等多个领域;多目标需长期共存;需要审计、否决与合规;系统持续运行并自我改进;已出现「数字好看但真实结果不对」「多优化方向互相干扰」「问题责任难以归属」等信号。

一个务实路径是:先用组织图与工作图模板把职责、契约与锚点写清楚,再选择合适的编排框架把工作图编码为可执行结构,并在关键路径保留人类检查点与外部校准。


六、结语:从「会循环」到「可治理」

Agent 工程的进步,并不是简单的概念迭代,而是问题层级的上移。

Prompt 解决单次调用;Loop 解决单主体过程;图编排框架解决控制流的显式化与工程化;Graph Engineering 则试图解决多主体组织、多目标协调与长期锚定现实的问题。

它确实借用了控制论、组织设计与软件工程中已有的思想,因此「是否全新」并不重要。重要的是:当 Agent 开始触达真实工作流、真实用户与真实业务后果时,只优化单个循环的聪明程度已经不够。系统需要显式的拓扑、明确的契约、可审计的证据链,以及不能被自身优化过程吞噬的外部锚点。

LangGraph 等工具已经让「把 Agent 执行当作图遍历」成为可行实践。下一步更难的工作,是决定这张图由谁组成、如何连接、如何被监督,以及如何确保它优化的是真实目标,而不是自己仪表盘上的绿色数字。

这正是 Graph Engineering 试图补上的那一层工程能力。

相关推荐
饼饼学习空间智能1 小时前
Kimi K3发布后,为什么数字孪生与物理AI底座更重要?从3D智能到具身智能落地
人工智能·深度学习·3d
Conan在掘金1 小时前
ArkTS 进阶之道(9):@Provide/@Consume 跨层传值——为啥不叫全局变量
后端
中微极客1 小时前
边缘AI实战:TinyML模型量化与部署全解析(TensorFlow 2.18.0 + ESP32)
人工智能·python·tensorflow
勇往直前plus1 小时前
Vue3(篇三) Element Plus
前端·javascript·typescript·vue
贵慜_Derek1 小时前
vLLM-05|MLA、Compressor、Indexer 与 SWA:Flash 注意力栈在 vLLM 里怎么落地
人工智能·算法·llm
AskHarries1 小时前
错误监控怎么做
后端
人工干智能1 小时前
Keras深度学习训练范式:构建模型 (Build)→ 配置训练规则 (Compile)→ 执行训练(Fit) + 回调控制(Callback)
人工智能·深度学习·keras
MacroZheng1 小时前
同事:“Claude Code都能自动写代码了,还要什么Spec Coding?” 我反问:“屎山代码你来维护?”
java·人工智能·后端
9i编程1 小时前
AI BI Helper 开发实录 01:文本向量与 Milvus 向量数据库集成
人工智能·openai·ai编程