Skip to content

多智能体概览

前置阅读:智能体 Agent · LangGraph 概览

本节解决什么问题

单个 Agent 已经很强——它能理解意图、选择工具、执行任务。但当任务规模和复杂度上升时,一个 Agent 独揽一切会遇到瓶颈:

挑战表现多智能体方案
工具爆炸单 Agent 挂载 30+ 工具,LLM 选择准确率下降按职能拆分,每个 Agent 只负责 5-8 个工具
上下文膨胀长对话 + 多工具结果导致 Token 超限子任务独立处理,父 Agent 只汇总结果
专业化不足通用 prompt 难以覆盖所有领域每个 Agent 有独立的 system prompt 和领域知识
可维护性差单体 Agent 修改牵一发动全身模块化拆分,独立测试和迭代

多智能体系统(Multi-Agent System) 的核心思路:将复杂任务拆分给多个专职 Agent,它们各司其职、协同完成目标。

三层架构边界(必读)

必须深刻理解,不能跳过:worker 与编排的分离是 LangChain 多智能体体系的地基。

  • LangChain create_agent = 轻量 Agent Harness(worker):负责单个 Agent 的 model + tools + system_prompt + middleware 循环,本身基于 LangGraph 运行时,但不暴露图拓扑。多智能体中的每个"专家"都是用 create_agent 构建的 worker。
  • LangGraph = 编排层(supervisor / swarm / 自定义 Graph):负责 worker 之间的控制权转移、状态共享、条件分支、并行、HITL。通过 langgraph-supervisorlanggraph-swarm 或原生 StateGraph 实现。
  • Deep Agents = 高层 Harness:在 LangGraph/LangChain Agent 之上提供规划、文件系统、上下文管理、Subagent、Skills、Memory、HITL 的约定式默认能力。本教程只做交叉引用,不混为 LangChain 内置能力。
LangGraph = 底层状态化运行时与工作流编排
LangChain create_agent = 基于 LangGraph 的轻量 Agent Harness(worker)
Deep Agents = 在 LangGraph/LangChain Agent 之上的高层 Harness(规划、文件系统、Subagent、Skills、Memory、HITL 默认能力)

选型铁律

  • 固定/强约束/可审计流程 → 显式 LangGraph StateGraph
  • 普通工具 Agent → create_agent
  • 需要多 worker 协作 → langgraph-supervisor(层级)或 langgraph-swarm(平级 handoff)
  • 长周期研究/复杂规划/多文件多 Subagent → Deep Agents

什么是多智能体系统

python
import os
from langchain.agents import create_agent
from langchain.chat_models import init_chat_model

# 模型配置来自环境变量,避免把具体版本写死到教程
model = init_chat_model(os.environ["LLM_MODEL"])

# 单 Agent 模式 - 什么都做,容易出错
single_agent = create_agent(
    model,
    tools=[search, analyze, write_sql, send_email, translate],  # 工具太多
    system_prompt="你是万能助手",  # 角色太泛
)

# 多智能体模式 - 各司其职(worker 用 create_agent,编排交给上层)
research_agent = create_agent(
    model, tools=[search, summarize], system_prompt="你是研究员"
)
data_agent = create_agent(
    model, tools=[write_sql, analyze], system_prompt="你是数据分析师"
)
comm_agent = create_agent(
    model, tools=[send_email, translate], system_prompt="你是沟通专员"
)
# 上面只是三个独立的 worker;要让它们协作,需要编排层
# (langgraph-supervisor / langgraph-swarm / 自定义 StateGraph),见后续章节

原生语义create_agent 返回的是 CompiledStateGraph(一个 LangGraph 图),所以每个 worker 本身就是一个完整的 Agent Loop。多智能体系统的本质是把多个 worker 图组合成一个更大的编排图——这正是 langgraph-supervisorlanggraph-swarm 做的事。

何时使用多智能体

并非所有场景都需要多智能体。以下是判断标准:

适合单 Agent

  • 工具数量 < 10 个
  • 任务流程线性、不涉及多领域
  • 对话轮次较少,上下文可控
  • 快速原型开发阶段

适合多 Agent

  • 工具数量 > 10 个,且可按领域分组
  • 任务需要多步骤、多领域协作
  • 需要不同 Agent 使用不同模型(如推理用 Claude,代码用 GPT-4o)
  • 团队需要独立维护各自的 Agent 模块
  • 需要对子任务做精细权限控制

决策流程

五大多智能体模式与对应包

LangChain 生态中,多智能体模式由不同的包落地。模式名称是概念分类,实现落到真实包:

模式概念落地包核心 API
Subagents父 Agent 管理子 Agentlanggraph-supervisorcreate_supervisor + create_handoff_tool
HandoffsAgent 间直接传递控制权langgraph-supervisor / langgraph-swarmcreate_handoff_tool + Command(goto=, update=)
Router中央路由器单跳分发langgraph-swarmcreate_swarm + create_handoff_tool
Skills能力封装为可复用技能单元Deep Agents(交叉引用)Deep Agents Skills
Custom Workflow完全自定义编排LangGraph StateGraphStateGraph + add_node + add_conditional_edges

1. Subagents 子代理(Supervisor)

核心思想:父 Agent(Supervisor)负责理解用户意图、拆解任务,然后将子任务委派给专职的子 Agent 执行。子 Agent 完成后将结果返回给父 Agent,由父 Agent 汇总输出最终答案。

Supervisor(管理者)
  ├── 子 Agent A(研究)
  ├── 子 Agent B(分析)
  └── 子 Agent C(撰写)

落地包pip install langgraph-supervisor,使用 create_supervisor(agents, model=, prompt=)。每个子 Agent 用 create_agent 构建。

适用场景:复杂任务的分而治之,如研究报告生成、多步骤数据处理。

详见 多智能体模式 - Subagents

如果你需要长周期研究、多文件多 Subagent、上下文隔离等约定式能力,应直接使用 Deep Agents Subagents,它在 LangGraph 之上提供了更完整的 Harness。

2. Handoffs 任务交接

核心思想:Agent 之间直接传递控制权,当前 Agent 判断自己无法处理时,将任务连同上下文交接给更合适的 Agent。

用户 -> 分诊 Agent -> 账单 Agent
                  -> 技术 Agent
                  -> 通用 Agent

必须深刻理解,不能跳过:handoff = 控制权转移 + 状态更新。

Handoff 不是简单的函数调用,而是通过 Command(goto="agent_name", update={...}) 同时完成两件事:

  1. 控制权转移goto 指定下一个激活的 Agent
  2. 状态更新update 把当前对话历史、上下文等写入共享 state

这就是为什么 create_handoff_tool 来自 LangGraph 生态——它本质是 LangGraph 的图跳转语义,不是 LangChain 的工具语义。

落地包langgraph-supervisorcreate_handoff_tool(层级 handoff)或 langgraph-swarmcreate_handoff_tool(平级 handoff)。

适用场景:客服系统、多级审批、问题分类后路由到专家。

详见 多智能体模式 - Handoffs

3. Router 路由分发(Swarm)

核心思想:中央路由器接收所有请求,根据分类规则将请求分发给对应的专家 Agent。路由器本身不处理业务逻辑,只负责"分类"和"转发"。

所有请求 -> 路由器 -> 数学专家
                 -> 科学专家
                 -> 历史专家

落地包pip install langgraph-swarm,使用 create_swarm(agents, default_active_agent=)。Router 是 Swarm 的单跳特例——default_active_agent 充当入口路由器,通过 create_handoff_tool 分发到专家。

适用场景:知识问答系统、多领域客服、统一入口的服务台。

详见 多智能体模式 - Router

4. Skills 技能模式(Deep Agents)

核心思想:将 Agent 能力封装为可复用的"技能"单元,Agent 按需加载和组合技能。

Agent + [SQL 技能, 搜索技能, 代码生成技能]

落地方式:Skills 是 Deep Agents 的约定式能力,不在 LangChain create_agent 中内置。详见 Deep Agents Skills

适用场景:能力复用、插件化架构、渐进式增强 Agent 能力。

详见 高级多智能体 - Skills

5. Custom Workflow 自定义工作流(LangGraph)

核心思想:使用 LangGraph StateGraph 构建完全自定义的多 Agent 编排流程,支持条件分支、并行执行、循环和人工干预。

LangGraph StateGraph -> 条件路由 -> 并行节点 -> 汇聚 -> 输出

落地包:LangGraph 原生 from langgraph.graph import StateGraph, START, END

适用场景:复杂业务流程、需要精细控制的场景、生产级多 Agent 系统。

详见 高级多智能体 - Custom Workflow

模式对比速查

模式复杂度灵活性典型场景落地包推荐度
Subagents研究报告、项目管理langgraph-supervisor通用首选
Handoffs客服路由、多级审批supervisor / swarm流程明确时
Router知识问答、分类分发langgraph-swarm最简多Agent
Skills能力复用、插件化Deep Agents工具密集型
Custom Workflow最高生产级编排、复杂流程LangGraph StateGraph高级场景

架构全景

下图展示五种模式在系统中的位置和关系:

模式递进关系

  1. Router / Handoffs - 入门级多智能体,适合流程明确、分支固定的场景(langgraph-swarm
  2. Subagents - 中级模式,支持动态委派(langgraph-supervisor
  3. Skills - 能力复用模式(Deep Agents)
  4. Custom Workflow - 高级模式,LangGraph 提供完全的流程控制能力

前端类比

多智能体系统 ≈ 微前端架构(Micro Frontends)

  • 独立团队:每个 Agent 就像一个独立的微前端应用,有自己的技术栈(模型 + 工具 + system_prompt)
  • 统一入口:Router 模式类似 Module Federation 的路由分发
  • 组合渲染:Subagents 模式类似容器应用组合多个子应用的输出
  • 共享状态:Agent 间的消息传递类似微前端间通过 CustomEvent 或共享 Store 通信

原生语义:多智能体系统的"组合"发生在推理层面(语义理解 + 任务规划),而微前端的组合发生在 UI 层面。Agent 之间的通信是基于自然语言消息 + LangGraph 状态图跳转,比 API 调用更灵活,但也更不确定。handoff 本质是 Command(goto=, update=) 的图跳转,不是 HTTP 调用。

EnviroNexus 场景映射

EnviroNexus 环保知识库的多智能体协作场景:

用户咨询("某行业的 VOCs 排放标准限值")
  -> 分诊 worker:判断是「标准查询」还是「因子计算」还是「法规解读」
  -> handoff 到对应专家 worker:
     - 标准 worker:检索标准号 + MethodCard
     - 因子 worker:factor_alias 匹配 + 排放因子计算
     - 法规 worker:法规正文检索 + 条款解读
  -> 汇总 worker:交叉校验 evidence_refs,组装结构化候选答案
  -> interrupt 人工审核 -> 发布或驳回

这里分诊 + 专家 + 汇总是典型的 Supervisor/Handoff 模式(langgraph-supervisor),而人工审核环节需要 LangGraph 的 interrupt + Command(resume=)——这正是 Custom Workflow 的能力。强约束流程用显式 LangGraph,开放长任务才用 Deep Agents。

快速上手建议

  1. 从单 Agent 开始 - 先用 create_agent 验证核心功能
  2. 识别拆分点 - 当工具超过 10 个或 system_prompt 变得臃肿时考虑拆分
  3. 选最简模式 - Swarm(Router)能解决的就不用 Supervisor
  4. 渐进升级 - 从 langgraph-supervisor / langgraph-swarm 开始,需要更强控制时迁移到 LangGraph StateGraph
  5. 长任务上 Deep Agents - 涉及多文件、多 Subagent、长周期研究时,直接用 Deep Agents

旧版(仅用于读旧项目)

LangChain 1.0 之前,多智能体教程常用 from langgraph.prebuilt import create_react_agent 构建 worker。该 API 在 1.0 已弃用、2.0 移除。新项目必须用 from langchain.agents import create_agent,参数用 system_prompt= 而非 prompt=。旧项目迁移见 Legacy 迁移指南

下一步

  • 多智能体模式 - 深入学习 Subagents / Handoffs / Router 三大核心模式的 langgraph-supervisor / langgraph-swarm 实现
  • 高级多智能体 - Skills 技能模式(Deep Agents)、LangGraph 自定义工作流、内存共享和错误处理
  • Agents - 单 Agent 基础,多智能体的构建基石
  • LangGraph 概览 - 需要更强编排能力时的升级方案
  • Deep Agents 概览 - 长周期研究、多 Subagent、Skills 的高层 Harness

参考资源

学习文档整合站点