Graph 工程3年记:LangGraph 的图工程架构设计实践与思考
2026/7/24 18:42:37 网站建设 项目流程

上个周末,“Graph 工程”(graph engineering)一词突然火了,起因是下面这条推文:

这是 X 平台 AI 内容工厂里诞生的最新术语,加入了 Prompt 工程、上下文工程、Harness 工程和 Loop 工程的行列。把这些词称为"流行语",既是诱惑也是事实,但它们的存在和出现是有原因的:它们确实描述了构建者面临的真实挑战和设计决策。

归根结底,目标是驾驭 LLM 的能力,让它为我们做有用的事。无论你用的是 prompting、agents、loops 还是 graphs,那些都只是实现细节。之所以有这么多术语,是因为让 LLM 干活很难。它们是一种新型的、不稳健、不确定性的软件,我们不断尝试新策略来让它们工作,而新策略就催生了新流行语。

抛开流行语不谈,把智能体系统表示为图(“Graph 工程”)确实是驾驭 LLM 能力的一种非常合理的方式。具体来说,它让你(作为构建者)把"系统应该如何工作"的先验认知,转化为更受约束的路径,而不是完全依赖 LLM 自己的判断。更具体地说:当你希望 agent 遵循特定路径时,它让你能更严格地控制行为。

正是这个直觉驱动我们在三年前构建了 LangGraph,一个用于构建这类智能体系统的框架。如今,LangGraph 每月下载量超过 6500 万次,初创公司和大型企业都在使用。

市面上 agent 框架多如牛毛,LangGraph 之所以脱颖而出,是因为它在确定性路径与智能体化步骤之间取得了平衡。

以下是我们多年来用图构建智能体系统学到的东西。

一、把 Agent 建模为图

图给了你一种具体的方式,来定义 agent 遵循的工作流。

在 LangGraph 中,节点负责干活。一个节点可以是确定性代码、一次 LLM 调用、一次工具调用,也可以是一个拥有自己内部循环的完整 agent。

边定义接下来发生什么。有些边是确定性的;有些是条件性的,取决于节点的结果、当前状态或某个外部信号。

你可以把它看作一个状态机:图定义了工作流、在其中流转的状态,以及步骤之间的转移。

二、什么时候该把 Agent 表示为图

真实世界的 agent 工作流往往有可预测的结构:客服 agent 在回答或升级之前要先对问题分类;编码 agent 在提出修改前要先检查代码仓库;合规工作流要求在执行外部操作前必须审批。

图让你把这种结构直接编码进去:哪些路径是合法的、哪里让模型做选择、哪里应该强制确定性行为,而不是寄希望于模型每次都做出正确判断。

把系统表示为图,你就是在编码你对"这个系统应当如何工作"的世界知识。就像 prompt 承载了区分你的 agent 和通用 ChatGPT 的领域知识一样,这些"认知架构"(cognitive architectures)同样可以。

以一个使用三个子 agent 做搜索的知识库 agent 为例:GitHub agent 负责代码、issue 和 PR;Notion agent 负责内部文档和 wiki;Slack agent 负责相关讨论串。这个工作流有三个固定阶段:分类 → 搜索 → 综合。

结果就是代码与模型推理协同工作:模型在它增值的地方推理,其余的交给代码,agent 因此变得更便宜、更快、更可预测。

三、什么时候不该用图

有些任务本质上是更"智能体化"的,把它们强行塞进确定性路径是错误的做法。这种情况下,你不该把系统表示为图,而应该直接用 agent harness(比如 Deep Agents)。

通用深度研究(deep research)就是一个好例子:研究 agent 需要规划、委派、搜索、阅读、综合,这些方式很难事先固定下来。我们早期的 deep research 就是基于预定义的 LangGraph 工作流构建的,后来转向了更智能体化的核心循环。流行的深度研究实现 GPT Researcher 也做了同样的转变,把图形的多 agent 流水线换成了 Deep Agents,让规划、委派和上下文管理在 harness 中涌现,而不是在图里硬编码。

四、构建 LangGraph 教会了我们什么

过去三年,我们一直在构建由图驱动的 agent。以下是我们的心得。

第一,agent 图通常不是 DAG(有向无环图)。

生产环境的 agent 需要循环:重试失败的工具调用、向用户询问缺失的信息、验证后修改答案、反复调用工具直到上下文足够、暂停等待人工输入再继续。循环是智能体系统的核心组成部分,所以它们很可能不是 DAG。

第二,Loop 就是简单的图。

Loop 工程与其说是图的替代品,不如说是图的一个简单版本。正如 David Khourshid 所说,loop 只是一个有向环图(directed cyclic graph)。事实上,基于简单 agentic loop 的 LangChain 框架,正是构建在 LangGraph 之上的。

第三,动态转移很重要。

你并不总是想预先定义每一条边。有时节点要在运行时决定创建多少工作量。Map-reduce 是经典案例:把输入拆分成块,分发给各个 worker,然后合并结果。worker 的数量取决于输入,你事先并不知道这个数字。

LangGraph 用 Send 来处理这个问题,它让节点可以动态地把工作路由到一个或多个下游节点,而无需静态地定义每一次转移。

这一点之所以重要,是因为有用的 agent 系统是"已知结构"与"运行时变化"的混合体。你可能知道研究应该先发散再综合,但不知道会有多少个信息源;你可能知道 supervisor 应该把任务委派给 worker,但直到任务开始才知道具体用哪些 worker。图在运行时仍然需要灵活性。

五、到底什么是新的

把智能体系统表示为图并不新鲜,我们已经做了三年了!在这波新的"Graph 工程"浪潮里,有什么变化吗?

一个宽厚的解读是:变化的是节点里能放什么。早期,节点是确定性代码或一次 LLM 调用;如今 agent 本身已经足够可靠,可以托付真实的工作,一个节点可以是一次完整的 agent 运行。你在编排的是 agent,而不仅仅是 LLM 调用。

编码 agent 就是一个很好的例子。它们是当今生产环境中最有效、影响力最大的 agent 之一,而把一个编码 agent 作为节点嵌入更大的图里,是一个新近才切实可行的模式。

以一个文档 agent 为例,它把一条 Slack 请求(如下图):

Sydney Runkle(上午 8:10): “我们能更新一下 LangGraph 的 overview 页面,体现’在自定义图中混合确定性步骤与智能体步骤’这个价值点吗?”

转变成一个待评审的 PR:

这个图中的每个节点,都位于"确定性 ↔ 智能体化"光谱的不同位置:

  • 固定步骤:Slack 和 Linear 的操作由固定代码和 API 调用驱动;
  • 模型步骤:分类器和综合步骤使用单次 LLM 调用,不带工具;
  • Agent 步骤:参考文档 agent 和概念文档 agent 在各自的代码库中完成更开放的工作。

正是这种确定性与自主性的混合,让这个文档 agent 既可预测、又强大、还高效。

六、更大的图景

Graph 工程不是什么新想法,它只是给一个成熟的"构建可靠 agent"的方法起了个新名字。

它和 Loop 工程、Harness 工程背后的理念是一致的:在每一步,把模型推理放在正确的位置,配上正确的上下文。

想试试 Graph 工程?那就试试 LangGraph。

学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%免费

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询