目录
其实多智能提类似mcp一样,都是放置到prompt由llm来决策驱动。
原文链接:LangGraph: Multi-Agent Workflows
上周,我们重点介绍了 LangGraph—— 这是一个全新的软件包(支持 Python 和 JavaScript 双语言),旨在更便捷地创建包含循环结构的大语言模型(LLM)工作流,而循环结构正是大多数智能体运行时的核心组件。在发布之初,我们展示了两个简单的运行时:一个等同于 LangChain 库中的 AgentExecutor,另一个则是针对消息传递和对话模型的优化版本。
如今,我们非常兴奋地推出 LangGraph 的第二类核心用例 —— 多智能体工作流。本文将涵盖以下内容:
- “多智能体” 的定义是什么?
- 为何 “多智能体” 工作流具有重要价值?
- 三个使用 LangGraph 构建多智能体工作流的具体示例
- 两个基于 LangGraph 开发的第三方多智能体应用案例(GPT-Newspaper 和 CrewAI)
- 与其他框架(Autogen 和 CrewAI)的对比
1 什么是 “Mulit-Agent”?
当我们谈论 “多智能体” 时,指的是由多个独立的、由语言模型驱动的主体(actor)通过特定方式连接而成的系统。
每个智能体都可以拥有专属的提示词(prompt)、大语言模型(LLM)、工具集以及其他自定义代码,以实现与其他智能体的高效协作。
这意味着在设计不同的多智能体工作流时,需要重点考虑两个核心问题:
- 涉及哪些独立的智能体?
- 这些智能体如何连接?
这种设计思路与图结构表示法高度契合 —— 这正是 LangGraph 的核心优势所在。在该模式下,每个智能体作为图中的一个节点(node),智能体之间的连接关系作为边(edge);控制流通过边进行管理,而智能体之间的通信则通过更新图的状态(state)来实现。
注:与此密切相关的概念是状态机(state machines),我们明确将其归为认知架构的一种类型。从状态机的视角来看,独立的智能体节点即为 “状态”,而智能体之间的连接方式则构成 “转移矩阵”。由于状态机本质上可视为一种带标签的有向图,因此我们将采用统一的图结构思维进行理解。
2 Mulit-Agent设计的优势
“既然单个智能体可能无法高效完成任务,为何多智能体设计仍具有价值?”
- 工具 / 职责分组提升效果:专注于单一任务的智能体,相比需要从数十种工具中选择的全能型智能体,成功率更高。
- 独立提示词优化性能:每个智能体可配置专属的指令集和少量示例(few-shot examples),甚至可采用不同的微调大语言模型提供动力。
- 开发逻辑更清晰:可对单个智能体进行独立评估和优化,而不会影响整个应用系统的稳定性。
- 复杂问题拆解:多智能体设计能够将复杂任务分解为可处理的工作单元,由专业智能体和大语言模型程序分别攻克。
3 Multi-Agent示例
我们已在 LangGraph 代码仓库中添加了三个独立的多智能体工作流示例。每个示例对上述两个核心问题(智能体构成与连接方式)都给出了略有不同的答案,下文将逐一解析。需要说明的是,这三个示例仅为众多可能场景中的一小部分 —— 我们相信社区还会探索出更多创新用法,对此我们充满期待!
多智能体协作(Multi-Agent Collaboration)
1、示例代码:
在该示例中,不同智能体通过共享消息草稿本(scratchpad)进行协作。这意味着任一智能体的操作都会被其他智能体可见,其优势在于所有智能体都能追踪完整的执行步骤;但缺点是有时会传递过多冗余信息,实际上可能仅需共享某个智能体的最终结果即可。我们将这种模式称为 “协作”,核心在于消息草稿本的共享特性。
2、智能体构成
此处的独立智能体本质上是单次大语言模型调用,具体由特定的提示词模板(按照特定系统消息格式化输入内容)与大语言模型调用组合而成。
3、连接方式
智能体连接关系可视化如下:

状态转移的核心控制组件是路由器(router),但这是一个基于规则的简单路由器:每次大语言模型调用后,会检查输出结果 —— 若触发工具调用,则执行相应工具;若未触发工具且输出 “最终答案”,则向用户返回结果;否则(未触发工具且未输出 “最终答案”),将任务转交给另一个大语言模型。
智能体监督器(Agent Supervisor)
1、示例代码
该示例中,多个智能体相互连接,但与上述协作模式不同:它们不共享草稿本,而是各自拥有独立的草稿本,仅将最终响应结果追加到全局草稿本中。
2、智能体构成
此处的独立智能体是 LangChain 智能体,即每个智能体都拥有专属的提示词、大语言模型和工具集。调用智能体时,并非单次大语言模型调用,而是执行完整的 AgentExecutor 运行流程。
3、连接方式
由一个 “智能体监督器”(Supervisor)负责将任务路由至各个独立智能体。

从这个角度看,监督器本身也可视为一个特殊的智能体 —— 其 “工具” 就是其他智能体!
分层智能体团队(Hierarchical Agent Teams)
1、示例代码
该示例与上述智能体监督器模式类似,但节点中的智能体本身是其他 LangGraph 对象。相比使用 LangChain 的 AgentExecutor 作为智能体运行时,这种设计提供了更高的灵活性。我们称之为 “分层团队”,因为子智能体可被视为独立的协作小组。
2、智能体构成
独立智能体为其他 LangGraph 智能体(即嵌套的 LangGraph 对象)。
3、连接方式
由一个监督智能体(Supervisor)负责连接各个子智能体。

4 YouTube 详细讲解
我们已上传 YouTube 视频,详细演示上述三个示例的实现过程。希望能帮助大家更轻松地理解这些复杂概念!
5 第三方应用案例
随着本次功能发布,我们也很高兴向大家介绍几个基于 LangGraph 构建的多智能体应用。
GPT-Newspaper
该项目由 GPT-Researcher 团队开发,是一款创新性的自主智能体应用,旨在为用户生成个性化报纸。GPT-Newspaper 通过 AI 技术根据用户的个人喜好和兴趣,实现新闻内容的筛选、撰写、设计和编辑,彻底革新了新闻消费方式。其架构包含六个专业子智能体,核心环节之一是 “撰稿人↔评论员” 循环(writer <> critique loop),该循环引入了高效的迭代机制。

6 其他框架对比
LangGraph 并非首个支持多智能体工作流的框架,这些框架的核心差异主要体现在所引入的思维模型和核心概念上。
Autogen
Autogen 可视为最早的多智能体框架之一。LangGraph 与 Autogen 在思维模型上的最大差异在于智能体的构建方式:LangGraph 倾向于明确定义不同智能体及状态转移概率,并以图结构呈现;而 Autogen 更倾向于将多智能体交互定义为 “对话”。我们认为,“图结构” 的表述方式更直观,能为开发者构建复杂、定制化的工作流提供更优的开发体验(尤其是需要精确控制节点间转移概率的场景),同时也支持无法通过 “对话” 模式直接实现的工作流。
另一关键差异是 LangGraph 与 LangChain 生态系统的深度集成 —— 开发者可充分利用 LangChain 的各类集成工具和 LangSmith 的可观测性功能。
CrewAI
CrewAI 是近期备受关注的多智能体 “团队” 构建框架。与 LangGraph 相比,CrewAI 属于更高层级的框架,而 LangGraph 为智能体提供了更精细的底层控制能力






