AI WORKFLOW · GRAPH
别让任务一直排队,
把独立工作并行起来
节点 · 依赖 · 验证 · 汇总

周威俊AI洞察
本篇导读
从识别假依赖开始,学习把独立任务并行、用验证把关,并为规模化运行留好边界。
当任务彼此不依赖时,真正拖慢你的往往不是模型,而是那条不必要的等待队列。
很多多步骤 Agent 都长得像流水线:第一步做完,第二步才开始,第三步继续等。这样写最直观,但不一定最高效。只要两个任务之间没有真正的数据依赖,它们就可以同时推进。
Graph Engineering 的核心也不复杂:把工作画出来,识别哪些节点必须相连,哪些节点可以拆开。让能并行的地方并行,让需要判断的地方再汇总和校验。
01
PART
01|先从循环到图
GRAPH ENGINEERING
单个循环很擅长把一件事反复做好:执行、检查、调整、再执行。但它也有盲区:只盯着一个指标时,可能越优化越偏离真正目标。
图的思路不是抛弃循环,而是把多个循环放进网络里,让不同节点互相补位。节点负责完成一个边界明确的工作,边负责传递一个节点的输出给下一个节点。

别急着把图想得很抽象。你只需先问两个问题:这个任务要做什么?下一个任务真的需要它的结果吗?答案清楚,图就开始出现了。
02
PART
02|先删掉不存在的依赖
GRAPH ENGINEERING
“然后”不等于依赖。比如先总结文件、再查询天气,这两个动作只是被句子排成了顺序;天气查询根本不需要阅读总结结果。
最好的习惯是逐步检查:下一步是否真的读取了上一步的输出?是,就保留箭头;不是,就删掉等待,让它们并行。这种看起来很小的改动,常常能把长队列变成同时开工的几组任务。

线性 Agent 其实也是一张图,只不过是最窄的一种。任何一个节点停住,后面就全卡住;删掉虚假的箭头,结构才有机会变宽。
03
PART
03|用一个小图跑通第一次实操
GRAPH ENGINEERING
第一次不要贪大。选一个熟悉的仓库,限制处理数量,让每个文件由独立 Agent 检查,额外安排独立验证,再把确认过的结果汇总成一份报告。
原文给出的首个工作流提示词如下。代码、命令和英文提示词保持原样;使用前请依据自己的仓库、权限和预算做检查。
Create a workflow to audit every route file under src/routes/
for missing auth checks. Spawn one agent per file, then run an
independent verifier on each finding before reporting.
Analyze a maximum of 20 files to start.

它的好处不在于把很多聊天窗口堆起来,而在于中间结果由协调脚本保存和传递,最后你只需要读一份合并后的输出。先设置一个小上限,跑清楚成本和质量,再逐步扩大范围。
04
PART
04|两个最常见的翻车点
GRAPH ENGINEERING
第一,执行者不能既当运动员又当裁判。一个 Agent 用自己的上下文检查自己的结果,很容易只是重复原有判断。更稳妥的做法是让验证节点拥有独立、干净的上下文,并且检查真实信号,例如测试是否实际通过、证据是否存在。

第二,独立任务也可能抢同一份资源。两个 Agent 同时写同一个文件、同时操作同一个工作区,或者一起触发同一个受限 API,都会形成隐藏依赖。并行前要明确:每个 Agent 在哪里工作、结果怎样合并、冲突由谁处理。

真正可扩展的并行不是“多开几个 Agent”,而是先把隔离、合并与冲突处理设计好。
05
PART
05|一周内能练的六种图
GRAPH ENGINEERING
把方法固定下来后,很多场景都能复用:安全扫描可按文件拆分;研究报告可按问题角度拆分;模块迁移可按文件拆分并用测试做关口;大型改动可以用不同节点交叉审查;周期性扫描则能保存成可重复运行的工作流。
这些场景背后都是同一个顺序:找出真实依赖,先并行展开,再让独立验证把关,最后汇总。不是每个任务都适合并行,但只要工作本身够“宽”,这套形状就能重复使用。
06
PART
06|让图保持诚实的锚点
GRAPH ENGINEERING
多个节点相互认可,不代表结论真实。真正能把系统拉回地面的,是外部锚点:实际跑过的测试、可追溯的证据、已经发生的数据,以及明确不能被 Agent 擅自调整的规则。

图会放大执行能力,但不会替你创造判断力。越是并行规模大,越要给预算、任务数量、验证方式和人工审批留出硬边界。
07
PART
07|什么时候不用图反而更好
GRAPH ENGINEERING
任务很小、步骤确实前后依赖、你还在探索问题,或你希望每一步都亲自确认时,单 Agent 往往更快、更便宜。强行并行只会增加协调成本。
判断标准依然很简单:找不到两个可以互不等待的任务,就没有必要硬画成图。该用循环时用循环,该串行时串行;图只是为“独立工作同时推进”准备的工具。
///
LAST
08|最后一句
GRAPH ENGINEERING
从今晚开始,拿一个现有工作流画出来。找到没有数据传递的箭头,把它们删掉。你不需要一上来就调度一千个 Agent;先让两个真正独立的任务同时跑起来,就已经是在用架构思维重写工作方式。
资料参考:0xCodila 公开文章《Graph Engineering: build 1000+ agent loops in one window, from one prompt》
夜雨聆风