Graph Engineering:把一条低效的 Agent 长链,改造成真正能运行的工作图

0 评论 232 浏览 0 收藏 9 分钟

Agent越做越慢?问题藏在“然后”里。Graph Engineering通过拆解任务节点、删除假边、设计并行与恢复路径,让AI系统只在该等待的地方等待,只在失败的地方重做。本文从实战案例出发,拆解图结构工程的核心逻辑与落地方法。

GraphEngineering(图结构工程)设计的是 AI 工作中的依赖结构:把任务拆成节点,删除不传递结果的假边,再安排并行、汇合、验证、路由和局部恢复。

一个 Agent 为什么越做越慢

假设我们让 Agent 做一份行业研究:先确定研究范围,然后调查市场规模、用户需求、竞品动作和技术趋势,最后写成报告。最顺手的写法往往是“做完 A,然后做 B,再做 C”。

问题藏在“然后”里。用户调查并不需要市场规模的结果,竞品调查也不用等用户调查完成。它们只是被文字顺序排在了一起。四份本可同时开始的工作变成四段等待,任何一段超时,后面的任务都被堵住。

上下文也会越滚越长。每一步都带着前面全部对话继续执行,模型要反复阅读与当前工作无关的内容。某个环节失败时,系统往往从头再跑一遍。

Graph Engineering 处理的就是这件事:把 AI 工作拆成节点,找出节点之间真实的数据与资源依赖,再设计并行、汇合、验证和恢复路径。名字很新,背后的工作流和分布式系统思想并不新。

Graph Engineering 的起点:找出假边

一张 Graph 最基础的词汇只有节点和边。真正决定它能不能运行的,是节点契约。

假边测试:下游是否读取上游的某个明确输出?如果答案是否定的,这条边多半可以删除。数据不是唯一依赖。两个节点写同一个文件、操作同一个工作区,或者同时冲击一个限流 API,即使输入彼此独立,也存在隐藏边。Graph Engineering 要检查共享资源,不只检查 Prompt 里提到的数据。找不到两个可以独立执行的任务时,不必强行搭图。简单顺序流程更便宜,也更容易排查。

Graph 位于 Agent 系统的哪一层

Prompt、Harness、Loop 和 Graph 经常被排成一条“新技术升级路线”。它们处在不同尺度。

Graph Engineering 与 Harness 处理不同问题。它依赖 Harness 才能执行,并把一个或多个局部执行单元组织成完整任务。本文讨论的是这套方法,不讨论一种新岗位。

把长链改造成第一张 Graph

回到行业研究案例。下面按数据怎样流动来搭图。常见的钻石骨架是:Plan → Fan-out → Reduce → Verify → Synthesize

第一步:定义 Task Scope 和 Plan

输入包括研究目标、时间范围、来源政策和交付格式。Plan 节点只负责把目标拆成研究角度,并给每个角度写出完成条件。

第二步:Fan-out 独立工作

市场、用户、竞品和技术四个节点读取同一份 research_brief,彼此不读取对方结果,因此可以同时开始。每个节点输出固定的 findings[]:claim、source_url、source_date、confidence。

第三步:用 Reduce 压缩,不浪费模型

Reduce 等待指定分支,核对实际输入数量,再做去重、字段校验和格式归一化。这些工作通常由普通代码完成。结果很多时先分批压缩,再汇合批次摘要。

第四步:Verify 使用独立上下文

验证节点只接收 finding 和来源,不继承研究节点的对话。它检查论点是否被来源支持、信息是否过期、链接是否真的对应这条结论。

第五步:Synthesize 只读取幸存结果

综合节点不再搜索,也不重新检查全部原始材料。它读取已经归一化并通过验证的 findings,按置信度和主题组织报告。

第六步:给失败安排明确去向

资料不足只重跑对应研究分支;目标含糊时暂停等待人确认;预算或时间耗尽则停止新增工作并保留已有结果。路由结果使用 deliver、retry_branch、human_decision、stop 等有限枚举。

第七步:保存 Checkpoint 和运行轨迹

每次运行记录 run_id、实际路径、路由理由、节点耗时、token、工具费用和最终状态。Checkpoint 保存可以恢复的现场。

Graph Engineering 不只是并行

把四个节点同时启动,只解决了等待问题。真正进入生产环境后,图通常坏在下面几个地方。

  • 上下文在汇合处爆炸:不要把上千份原始输出直接交给最终节点;先分批压缩,再合并摘要。
  • 独立节点争用同一资源:为工作节点隔离环境,把共享文件、工作区和限流 API 当成依赖。
  • 节点静默失败:每个 Join 对比 expected_inputs 与 received_inputs,缺口不能悄悄略过。
  • 验证继承工作上下文:只把待验证产物和证据交给新的上下文。
  • 并行让成本失控:设置并发上限、节点级预算、模型分层和提前停止。

从图形变成真正可运行的系统

方框和箭头只是草图。要让 Graph 可以暂停、恢复和排查,还要把状态、路由和执行约束写成系统能读取的规则。

LangGraph、Temporal、Prefect 或自写调度代码都可以执行类似结构。框架解决运行问题,Graph Engineering 解决“应该运行什么结构”的判断问题。

Graph Engineering 的实际应用

四类应用更换了节点内容,骨架没有变:找出真实依赖,让独立工作并行,在汇合处检查完整性,把失败送回正确位置。

Graph Engineering 的实际价值很具体:系统在必要的地方等待,也只在失败的地方重做。

本文由 @查拉图斯特拉怎么说 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自作者提供

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!