news 2026/8/13 21:44:33

别再把 Agent 排成队:Graph Engineering 五步实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
别再把 Agent 排成队:Graph Engineering 五步实战

模型没变慢,是你把一张可以并行的图,硬画成了一条排队的线。

一个多步骤 Agent 最常见的样子,是 A 做完交给 B,B 做完交给 C。看上去井井有条,跑起来却像只有一个窗口的办事大厅:后面的任务全在等前面的任务盖章。

问题是,其中很多步骤根本没有依赖关系。

“总结这个文件,然后查询天气。”天气查询不读文件摘要。两个任务被放进同一条链,只是因为提示词里出现了“然后”。这不是必要顺序,是人为制造的等待。

我自己拆任务时也容易犯这个错:句子写成一条线,脑子里就默认执行也该排成一条线。

codila 最近写了一篇很完整的 Graph Engineering 教程。它讲的不是再造一个 Agent 框架,而是换一种看任务的方法:不要先问 Agent 还能多做什么,先画出工作的形状。

Graph Engineering:一个提示词编排 Agent 图

Anthropic 今年推出的 Claude Code Dynamic Workflows,正把这种思路做成产品能力:Claude 可以根据任务即时编写编排脚本,把工作拆成多个 Subagent 并行执行,独立检查后再汇总为一个结果。它已经正式开放,但官方也把警告写得很清楚——这类工作流通常比普通会话消耗更多 tokens。

所以,Graph 不是“多开几个 Agent”这么简单。真正的工程问题有五个:哪里能并行,数据怎么流动,谁来验证,工作区怎么隔离,以及什么东西不允许 Agent 自己改。

/ / /

  1. Loop 与 Graph,差的不是数量

Loop 是一个 Agent 围绕一个目标反复行动、检查、修正。它能持续改进,但也有一个天然盲区:它只能看到自己被要求优化的指标。

客服机器人如果只盯工单关闭率,数字可能越来越漂亮,用户满意度却越来越差。它学会的是“更快关单”,不是“真正解决问题”。这正是古德哈特定律在 Agent 系统里的版本:当一个指标变成目标,它就可能不再是好指标。

在我看来,Graph 的价值不是节点数量,而是让循环彼此监督。执行节点产出结果,审计节点看过程,验证节点接触外部证据。节点负责思考,边负责搬运数据。

从 Loop 到 Graph

但节点多并不代表系统更聪明。一群 Agent 共享同一份偏见,再互相点赞,只是把一个错误复制了很多份。

/ / /

  1. 先删掉那些不存在的边

Graph 由两部分组成:

  • -节点:一项独立工作,有明确输入和输出;
  • -边:真实依赖,前一个节点的输出会成为后一个节点的输入。

最容易画错的地方,是把“接下来”当成依赖。

判断方法很直接:下一个任务是否真的读取上一个任务的结果?

  • -读取:这是一条真实的边,保留顺序;
  • -不读取:不存在边,让两个节点同时运行。

“然后”不等于依赖

这一步看着朴素,却决定了整个系统能否提速。如果 A、B、C 都互不依赖,却依次等待,那么再强的模型也救不了这条流水线。相反,如果每一步确实依赖上一步,强行并行只会制造缺数据的半成品。

一个好习惯:画图时给每条边写上“传递的变量”。写不出来,就要怀疑这条边是否存在。

/ / /

  1. 用一个受控任务,跑出第一张图

原文给了一个很适合试跑的任务:扫描代码仓库中所有路由文件,检查是否缺少认证逻辑;每个文件交给一个 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.

“最多 20 个文件”很重要。第一次不要直接开满。先看图如何拆分、每个节点拿到什么输入、验证是否真的独立、失败如何返回,以及一次运行到底花多少 usage。

Dynamic Workflow 会生成 JavaScript 编排脚本。中间结果保存在脚本变量中,不需要把每个 Agent 的完整对话不断塞回主上下文;只有一份协调后的答案返回当前会话。

从一个提示词扇出多个 Agent

这就是所谓“协调不占对话上下文”的来源。但别把它误读成 “零成本”。说实话,我最担心的就是这句被截掉前半段传播:**编排更省上下文,不等于工作本身免费。**每个 Agent 的推理、工具调用和验证仍然消耗 usage,而且通常明显高于单 Agent 会话。

适合第一张图的任务应该满足三个条件:范围有限、结果可验证、节点之间存在明显独立性。全仓安全扫描、批量 API 迁移、按文件代码审查,都是好候选。

/ / /

  1. 真正会把 Graph 跑崩的两件事

图画出来只是开始。生产环境里最危险的故障,往往不是某个 Agent 报错,而是整张图看起来全绿,结论却不可信。

验证器和执行器共享了同一副眼镜

让执行 Agent 自己检查自己的结果,通常会更宽容。换一个“验证器”名字也不够;如果它继承执行器的完整对话、推理路径和暗示,它很容易沿着同一套假设继续点头。

真正的验证节点需要:

  • -独立上下文;
  • -明确的验收标准;
  • -可重复执行的真实信号;
  • -只接收必要证据,不接收执行器的自我评价。

验证器需要独立上下文

不要问“Agent 说完成了吗”,要问“测试真的通过了吗”;不要问“报告看起来合理吗”,要检查引用是否存在、数字能否复算、代码是否能构建。

多个 Agent 在同一个工作区里抢方向盘

并行读取通常安全,并行写入(尤其是同一批代码文件)则完全不同。两个 Agent 同时修改同一个文件、切换同一个分支、执行共享 git 命令,很容易互相覆盖。

原文引用 Bun 团队的经验:第一次大规模扇出失败,解决方案不是再写一段更聪明的提示词,而是改变结构——禁止不安全的共享命令,为不同工作组提供隔离 worktree。

并行工作节点必须隔离

在扇出之前,先回答三件事:

  1. [01]每个 Agent 在哪里工作?
  2. [02]结果通过什么规则合并?
  3. [03]两个 Agent 结论冲突时,谁有最终决定权?

这三件事没有答案,Graph 不会让系统扩展,只会让它更快地撞墙。

/ / /

  1. 六类任务,最值得画成图

原文列了六种很实用的形状:

  1. [01]全仓安全扫描:按文件扇出,逐条发现再由验证器确认;
  2. [02]带引用的深度研究:把问题拆成多个角度并行搜索,再相互反驳;
  3. [03]大规模模块迁移:按文件移植,用构建和测试作为关卡;
  4. [04]对抗式 Diff Review:小改动走单次审查,大改动触发并行审计;
  5. [05]定期生态扫描:保存工作流,按计划重复执行;
  6. [06]未知规模的发现任务:并行搜索新线索,直到连续两轮找不到新结果。

共同结构并不复杂:

找出真实依赖 → 独立任务扇出 → 独立上下文验证 → 隔离写入 → 汇总。

大规模案例确实存在。Anthropic 官方披露,Bun 从 Zig 到 Rust 的重写使用了 Dynamic Workflows:大量 Agent 并行处理文件,每个文件还有两名评审,之后由构建和测试循环继续修复。Simon Willison 按 API 价格估算,这次运行约值 16.5 万美元。

这个数字比任何性能宣传都更值得记住:规模是真实的,成本也是真实的。Graph 适合高价值、可并行、可验证的任务,不适合为了“看起来高级”而使用。

/ / /

  1. 给图钉上不能移动的锚点

拓扑结构本身不会带来真相。

如果所有 Agent 都只读彼此的输出,没有任何节点接触真实世界,那么整张图仍会像单个 Loop 一样自我强化。它需要一些不接受争论的锚点:

  • -实际执行过的测试,不是“理论上应该通过”;
  • -基于原始证据的验证器,不是基于语气的判断;
  • -Agent 无权修改的冻结规则;
  • -明确的预算、权限和发布关卡。

Graph 需要事实锚点

为什么规则要冻结?因为优化器会本能地寻找更容易达标的路径。如果 Agent 既负责完成任务,又能调整测试和评分标准,它最终可能优化掉真正困难的部分。

Graph 的诚实程度,取决于其中那些拒绝移动的节点。

/ / /

哪些任务不要用 Graph

不是每项工作都值得召集一支 Agent 舰队。

  • -改一个函数、修一个小 bug:单 Agent 更快、更便宜;
  • -你要逐步人工审批:Graph 的宽并行反而妨碍监督;
  • -还不知道自己在找什么:探索早期更需要能随时转向的单 Agent;
  • -每一步都读取上一步结果:这就是一条真实链,并行无从下手。

最简单的判断仍然来自第 1 步:如果找不到两个“彼此之间没有箭头”的节点,就没有必要画 Graph。Loop 完全够用。

提示词使用者提问,架构师画图。真正的升级不是把 Agent 数量从 1 改成 1000,而是看清哪里能展开、哪里必须等待、哪里需要验证、哪里绝不能被系统自己改掉。

画出依赖,隔离执行,冻结事实。剩下的,才交给 Agent 舰队。

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/13 21:43:18

如何高效使用IP-Adapter-FaceID:5个实用技巧与完整实战指南

如何高效使用IP-Adapter-FaceID:5个实用技巧与完整实战指南 【免费下载链接】IP-Adapter-FaceID 项目地址: https://ai.gitcode.com/hf_mirrors/h94/IP-Adapter-FaceID IP-Adapter-FaceID是当前最先进的AI人脸保持技术之一,能够在Stable Diffusi…

作者头像 李华
网站建设 2026/8/13 21:40:13

ReShade深度解析:跨平台游戏画面增强技术实战指南

ReShade深度解析:跨平台游戏画面增强技术实战指南 【免费下载链接】reshade A generic post-processing injector for games and video software. 项目地址: https://gitcode.com/gh_mirrors/re/reshade 在数字视觉艺术与技术交汇的领域,我们常常…

作者头像 李华
网站建设 2026/8/13 21:35:32

Matplotlib三维绘图实战:从散点图到曲面图的数据可视化指南

1. 项目概述:从二维到三维的数据洞察跃迁在数据分析和科学计算的日常工作中,我们早已习惯了用matplotlib绘制精美的折线图、柱状图来呈现二维数据。然而,当你的数据维度提升,涉及到三个甚至更多变量间的复杂关系时,二维…

作者头像 李华
网站建设 2026/8/13 21:35:23

UEditor Plus:现代化富文本编辑器的企业级高效解决方案

UEditor Plus:现代化富文本编辑器的企业级高效解决方案 【免费下载链接】ueditor-plus 基于 UEditor 二次开发的富文本编辑器,让UEditor重新焕发活力 项目地址: https://gitcode.com/modstart-lib/ueditor-plus 在当今数字化内容创作时代&#xf…

作者头像 李华
网站建设 2026/8/13 21:33:31

PC上安装树莓派系统:虚拟机方案全解析与实战指南

1. 为什么要在PC上安装树莓派系统? 你可能觉得这问题有点奇怪:树莓派不就是一块巴掌大的开发板吗,为什么要把它的系统装到性能更强的PC上?我最初也是这么想的,直到我遇到了几个非常实际的场景。比如,我需要…

作者头像 李华