手把手掌握图工程
最近一两年,"agent 图(agent graph)"这个词在圈子里被炒得很热。老实说,一开始我也觉得又是换皮新概念——毕竟把任务拆成节点、用边连依赖,这不就是几十年前的**有向无环图(DAG)**调度吗?但真正动手把日常 AI 工作流改成"图"之后,我发现它确实解决了一个很实在的问题:大多数人的 AI 系统其实是一条串行直线,而直线是最慢、也最脆弱的跑法。
这篇文章不是概念科普,是一份能直接落地的手册。我会先把"图"到底是什么讲清楚(包括一个最容易踩坑的"假边"概念),再给一个我认为今年最值得掌握的模式,然后三个能直接抄的构建,最后收一份操作清单。所有 prompt 我都保留了英文原样——像 Claude Code 这类工具对英文指令里的"编排意图"识别更稳,复制即可用;如果你用 LangGraph / CrewAI / 自研 DAG 调度,思想完全通用,只是触发方式不同。
一、图到底是什么:先搞懂节点、边和"假边"
在 agent 工程里,一张**图(graph)**就是你 AI 工作的可视化计划。它回答两个问题:
- 哪些活(job)必须干?
- 哪个活得等哪个干完才能开始?
把"活"叫节点(node),把"谁等谁"叫边(edge)。一个节点就是你本来会交给一个助手的事——研究一个竞品、写一版草稿、核实一个说法。当一个节点开始之前需要另一个节点的产出,你就用一条有向边把它们连起来。随工作流转的还有一小叠"运行笔记"(上下文 / 状态),记着发现了什么、决定了什么、还剩什么没干。
这里最值钱、也最容易被忽略的一个概念叫假边(fake edge)。判断标准只有一句:
箭头只有在工作真的流经它时才是真的。
举个例:“总结这个文件,然后看看我的日程”——听着像顺序,但"看日程"这一步根本不需要"总结"的结果。所以这两个活从不需要互相等。凡是"下一步其实用不到上一步结果"的依赖,就是假边,白等。
我建议你今晚就做一件事,在任何新工具都没碰之前:把你今天在跑的 AI 系统画出来,只画节点和边,然后对每一个"然后"问一句——下一步真的需要上一步的结果吗? 你画的任何系统里,几乎都能找出两三个假边。删掉它们,串行就变并行,零成本。
技术视角:你现在的系统大多是
A → B → C → D的直线。直线的问题不是"慢",是脆弱且无法扩展——一个节点卡住,后面全堵死。图工程的本质,是用 DAG 的"部分有序"取代"全序",把没有真实依赖的步骤解放出来并行跑。这跟后端用消息队列削峰、用 DAG 调度器(Airflow / Prefect)编排 ETL 是同一个思路,只是被搬到了 agent 工作流上。
还有一层我挺认同的观点:工程师们几小时内就指出"这不过是换了名字几十年的旧模式",他们是对的,而我认为这正是好消息。一个能跑关键系统几十年的模式,恰恰是你愿意托付业务的那种。别被"新概念"吓住,也别被"只是旧东西"劝退,看它解决什么实际问题。
二、菱形模式:今年唯一值得掌握的结构
观察任何正经的 agent 系统,都会反复出现同一幅画面:
工作被拆开 → 几个 worker 并排深挖 → 有东西检查它们发现了什么 → 一切汇回一个答案。
这幅画叫菱形(diamond),本质是扇出(fan-out)+ 汇聚(fan-in)。我很有底气地说,这是你今年唯一需要的模式。
Claude 内部的研究功能在生产环境跑的就是这套:一个 lead 规划,worker 并行收集,结论到你之前先过检查。但所有人都会跳过、而你必须当成铁律的那一步,是检查(checking)。
为什么检查不可省?因为每一次对"AI 自我审查"的严肃测试都得出同一结论:模型会漏掉自己大部分的错误。 让同一个 agent 给自己的作业打分,盲区和出题人重合,等于没查。
技术视角:这跟 RLHF 里的道理一致——评判模型(reward model / critic)必须和生成模型(policy)分离。自我审查不可信不是模型笨,是"既当运动员又当裁判"的结构性盲区。所以菱形模式的灵魂不是两边的"分叉",而是汇聚前的那个独立检查节点。
我的建议很具体:
- 绝不让同一个 agent 审自己。
- 把检查交给独立节点,唯一任务是在弱结论到你之前干掉它们。
- 给每个检查者不同的问题:一个问"它对不对",一个问"它过不过时",一个问"来源真不真"。不是堆数量,是分维度。
我自己踩过的坑也印证这点:让一个 agent 专挑"来源是编的"、另一个专挑"结论过时了",比让一个 agent 笼统"review 一下"强太多。
三、停止规则:图买的是广度,不是更好的判断力
更多 agent 不自动等于更好——这是整件事里真正帮你省钱的一课。
研究结论很清晰:给一组 agent 和一个单独 agent 相同预算,在能拆成独立片段的活上,团队明显赢;在每一步都依赖上一步的活上,团队同样明显地输。所以停止规则是:
图买来的是"广度"(并行省时间),不是"更好的判断力"(多个脑子更聪明)。
建议很简单:当每一步都需要完整图景,就坚持用一个 agent;一旦工作拆成了彼此从不读对方结果的节点,图才开始回本。所以在你加任何一个 agent 之前,先问那个唯一决定账单的问题——
我的工作在哪里分叉?
技术视角:这其实就是 Amdahl 定律 的直觉版。并行只能加速"可并行部分",串行依赖的部分永远是天花板。如果你的任务本质是线性的(下一步必须等上一步结论),硬上图只会更贵更慢,还多出并行协调的 overhead。一句话:能并行才上图,不能并行就一个 agent 走到底。 别为了"看起来先进"付费。
四、人类闸门:把"最后一个 yes"放在最贵的地方
你,是你自己图里最重要的节点。 这一课讲你该站在哪。
每个正经系统都会在不可逆操作之前路由到人——因为"发送、发布、退款、开票"这些边都该以你为终点,那个审批是草稿流水线通往世界前的最后一个"yes"。
连 Klarna 都公开学过这课:全力押注 AI 客服,承认裁太狠,又把人工服务作为高端层级请回来。
设计规则一句话:
把你的审批放在"出错就很难挽回"的地方,而不是每一步都放。
处处设闸让你成瓶颈,处处不设闸则没人盯梢。
我还建议你用不会反驳你的数字评判整个系统——到账的钱、留下的客户、跑过的测试。因为一个只给自己报告打分的系统是"自信地错误"(agent 报"任务完成度 98%"是最不靠谱的指标,它既当运动员又当裁判)。
四条小规则防止一切变成昂贵事故:
- 每个循环设最大轮数(防无限循环烧钱)
- 同一文件只有一个节点能写(防并发写冲突)
- 路由写在明确步骤里,AI 只填节点(Plan 与执行分离)
- 永远给能生成的 agent 数量设上限(防失控扩散)
五、三个能直接抄的构建
每个构建都在 Claude Code 里跑,都以你粘贴的 prompt 收尾,并且把你保留为闸门。每个 prompt 里有一个词在挑大梁:“workflow”——它告诉 Claude 去组建一支协调团队并自动编排,而不是按单条步骤顺序走完。你基本不用自己写 DAG 代码,用对这个词,编排层几乎零代码。
如果不用 Claude Code:把下面每段 prompt 的意图翻译成你框架的图定义即可(例如 LangGraph 里就是一个
StateGraph+ 并行Task+ 一个 critic 节点)。逻辑完全一致。
构建 1:深度研究台
想想你上一次背后真金白银的决策——一次涨价、一个新报价、一个你差点进的市场。你大概是靠一周谷歌搜索,或一张昂贵分析师账单决定的。这个构建把两者都替了。
你的问题拆成五个角度,五个研究者同时深挖,一个怀疑论者攻击每个发现,只有幸存者带着来源抵达最终报告。
步骤:
- 在空文件夹打开 Claude Code
- 用一句话写下你真正的、背后有钱的问题(“该不该涨价” / “这两个报价先发哪个”)
- 把下面 prompt 连同你的问题一起粘贴
- 看扇出:五个研究者并行,然后是怀疑者那一轮
- 读报告,只有过你这关的才进决策
我需要针对[你的问题]的决策级研究。请遵循以下工作流程:将问题拆分为5个不同的角度,每个角度安排一名研究员并行开展工作,所有研究结论都必须附带来源链接和日期,随后针对每一项结论安排一名质疑者进行证伪,剔除无法通过证伪的内容,将留存的有效结论按可信度排序整合为一份报告,保存为research-report.md文件,并向我展示优先级最高的核心结论
第一次跑只要几分钟而不是几天。我尤其推荐保留那一轮"怀疑者"——它是"研究"和"收集谣言"的区别,没有它你拿到的是五个 agent 的集体臆测拼接,有它你拿到的是经得起反驳的结论。
构建 2:SEO 内容机
老实说下你的发布节奏——对很多企业,它要么每月烧一笔外包费,要么干脆停了。这个构建每次运行写出一篇"可排名"的草稿,没有你它绝不发布。
三个研究者并排:一个看头部页面覆盖了啥,一个收集人们真在问的问题,一个找大家都漏的点。合并成大纲,写出草稿并事实核查,在你的文件夹里等你的 yes。
步骤:
- 选一个你客户会打进谷歌的话题
- 粘贴下面 prompt
- 三个研究节点同时跑(头部页 / 真实问题 / 空白)
- 草稿落 drafts 文件夹,每条论断都查过,弱的标在顶部
- 你读它,改只有你才知道的东西,自己发布
- 让 Claude 保存 workflow,以后每周一只用一条命令
我需要一篇能针对[主题]获得排名的文章。请遵循以下工作流:并行执行三项调研任务,第一项列出当前排名靠前的页面所涵盖的内容,第二项收集用户针对该主题提出的真实问题,第三项找出头部页面遗漏的内容;将三项结果整合为大纲,再根据大纲撰写完整初稿;随后运行事实核查工具,标记出所有未标注来源的主张;将初稿保存至drafts/目录,并把被标记的主张列在文档顶部,且切勿发布任何内容
never publish anything 这句是安全绳——内容机最容易出的事就是"自动发了篇胡说八道"。永远让人过目。第 6 步"让 Claude 保存 workflow"是复利点:第一次花一下午搭好,之后每周一是条命令,把一次性劳动变成资产。
构建 3:市场推广工具包
你要发布点什么——产品、报价、服务——而诚实的选项向来是几周准备,或者盲发。这个构建一次运行产出完整工具包,每样都你审批。
三个研究者并行刻画买家、渠道、竞品,合并成一页定位文档,系统在那里暂停让你读——因为那页会成为所有素材的对账基准。然后三个写手并排起草落地页文案、发布文案、触达消息,一个检查者标出任何偏离定位的东西,工具包落进文件夹,没有任何东西自己上线。
步骤:
- 各用一行写出产品和为谁做的
- 粘贴下面 prompt
- 系统暂停时读定位页(这是我绝不跳过的一步)
- 让三个写手并行产出素材
- 复查检查者标出的
- 逐件审批,没有你什么都不发
我要面向[目标受众]推出[产品]。请按以下流程操作:并行开展三项调研工作,第一项调研买家画像并收集他们的原生表述,第二项梳理这些买家的线上活跃阵地,第三项收集竞品的推销话术;将三项结果整合为一页定位文档,暂停并提交给我审核;之后基于该文档并行安排三位撰稿人产出内容:落地页文案、为期一周的推广帖、一组触达消息;再运行校验工具,将所有产出物料与定位文档逐一比对,标记出所有不符项;最后将所有内容存入launch-kit/目录,后续未经我允许不得再做任何改动
pause to show it to me 是这图最聪明的一笔。定位页是地基,地基歪了上面写得再漂亮也全歪。让它在地基阶段就停让你确认,而不是等十份素材都写完了才发现调性跑偏——省的是大量返工。这也是"人类闸门"原则在构建内的具体应用。
六、操作手册:七条军规
- 先删假边:在那些"不产生工作的边"消失前,新东西都不跑
- 只拆分永不回读的部分;需要步步接续的就用一个 agent
- 没有发现能未经检查就传递;两个检查者不问同一个问题
- 每个循环都有最大轮数
- 一文件一个写手;计划写在步骤里,AI 只填节点
- 最后一个"yes"正好放在出错难挽回之处
- 在你说得出"为什么不够"之前,一个工具就够(anti-over-engineering:很多人刚学会图,恨不得把所有事都图化。除非你能说出具体理由说当前工具不够,否则别加——复杂度是负债,不是勋章)
补一条最狠的:跳过那最后一个 yes,图就会把它的第一个自信的错误直接发给客户。
七、结语:今晚就动手
今晚就画出你当前的 AI 系统,只画节点和它们之间的边。数数那些假边,然后删掉它们。
那是整个手艺的第一步,零成本,而且它通常消掉的等待,比你买的任何工具都多。图工程不性感,但它把你从"直线排队等"变成"该并行的并行、该拦的拦住",这本身就是一次产能跃迁。
更多推荐

所有评论(0)