1. LangChain 在多 Agent 里主要干什么
LangChain 更像“通用积木层”:帮你统一模型接口、消息格式、Prompt、Tool、Retriever、结构化输出、Middleware 这些能力,并且提供现成的create_agent来快速起一个 Agent。官方现在也明确把它定位成“预置 Agent 架构 + 各类模型/工具集成”的框架。
而LangGraph 更像“编排/状态机层”:当你做多 Agent、长流程、需要持久化状态、可恢复执行、人工介入时,LangGraph 更合适。官方也说明,LangChain 的内置 Agent 本身就是基于 LangGraph 原语实现的;如果你需要更深的定制,就应直接下沉到 LangGraph。
- 简单 Agent:LangChain 就够了
- 真正多 Agent / 多阶段工作流 / 状态持久:LangChain + LangGraph是主流搭配。
2. 搭多 Agent 时,LangChain 里最常用的模块
(1)Models:模型抽象层
这是最底层。LangChain 给不同厂商模型提供统一接口,方便你在 OpenAI、Anthropic、Google 等模型之间切换。官方也强调它的标准模型接口就是为了降低切换成本。
多 Agent 里怎么用:
- 不同 Agent 可绑不同模型
- 例如:Planner 用强推理模型,Executor 用便宜模型,Summarizer 用小模型
(2)Messages:消息对象
LangChain 把对话上下文统一成messages。官方写得很明确:messages 是模型上下文的基本单位,承载内容和元数据。
多 Agent 里怎么用:
- 主 Agent 维护全局消息
- 子 Agent 拿局部消息
- 你可以控制“哪些历史要传给哪个 Agent”
这一步非常关键,因为多 Agent 的本质常常不是“模型更多”,而是上下文切分更合理。
(3)Prompts:提示词模板
LangChain 有 Prompt 模板体系,像PromptTemplate、ChatPromptTemplate这种都属于这个层。PromptTemplate 本质上是带参数的模板;在 Agent 场景里,你也可以直接给create_agent传system_prompt。
多 Agent 里怎么用:
- 给每个 Agent 单独设角色 Prompt
- 例如:
- planner:负责拆任务,不直接调用外部系统
- researcher:负责检索
- coder:负责生成代码
- reviewer:负责检查结果
这个模块非常适合做“角色分工”。
(4)Tools:工具系统
官方定义很直接:Tools 扩展 Agent 的能力,可以拿实时数据、执行代码、查数据库、对外部世界做动作;本质上是有清晰输入输出的可调用函数。
多 Agent 里怎么用:
- 给不同 Agent 挂不同工具
- 让 Agent 职责边界更清晰
- 也能减少单个 Agent 面对太多工具时的选择混乱
例如:
- research_agent:只给检索工具
- sql_agent:只给数据库工具
- calendar_agent:只给日程工具
- compliance_agent:只给政策规则工具
这是多 Agent 最实用的一点。
(5)Agents:现成 Agent 框架
官方说明create_agent是一个production-ready的 Agent 实现,Agent 会在“模型—工具—模型—工具”的循环里运行,直到输出最终答案或达到停止条件。
多 Agent 里怎么用:
- 你可以先把每个子能力都做成一个独立 Agent
- 再把这些 Agent 包成 tool 或挂进 graph 里
也就是说,一个很常见的套路是:
research_agent=create_agent(...) sql_agent=create_agent(...) planner_agent=create_agent(...)然后上面再放一个 supervisor 去调它们。
3. 多 Agent 时,LangChain 官方给出的几种模式
官方专门有 multi-agent 文档,并且明确说:并不是所有复杂任务都需要多 Agent;当单 Agent 拥有太多工具、上下文过大、或需要强顺序约束时,多 Agent 才特别有价值。
3.1 Subagents / Supervisor 模式
这是最经典的模式。官方定义是:主 Agent(supervisor)把子 Agent 当作工具来调用,由主 Agent 决定调谁、传什么参数、怎么汇总结果。并且官方特别说明:subagents 默认是无状态的,历史记忆由主 Agent 统一维护。
适用场景:
- 多领域分工很明显
- 子 Agent 不需要直接和用户长期对话
- 你希望统一调度
非常适合:
- 企业助理
- 商旅规划
- RAG + SQL + 搜索 + 日程 的混合系统
3.2 Handoffs 模式
handoff 的核心是:行为由状态驱动变化。工具调用会更新状态变量,比如current_step或active_agent,系统再根据这个状态切换 Agent 或切换配置。官方给出的实现方式包括:
1)单 Agent + middleware 动态改配置
2)多个 agent subgraph 之间切换。
适用场景:
- 必须按步骤推进
- 不同阶段跟用户交互方式不同
- 例如售后流程、审批流、表单收集
这个模式很像“带状态机的对话流程”。
3.3 Skills 模式
官方的意思是:你不一定要拆成多个真正独立的 Agent,也可以做成单 Agent + 按需加载专门技能/上下文。当你只是 specialization 很多,但不想上太复杂的多 Agent 编排时,这种方式比较轻。
适用场景:
- 一个 Agent,但领域多
- 想做“渐进式暴露工具/知识”
- 不想太早引入复杂 supervisor
3.4 Router / Custom Workflow 模式
官方教程里把 router 和 custom workflow 也放进多 Agent 相关实践里:可以先分类,再路由到不同 Agent;或者直接把某个 Agent 当成 graph 的一个节点,和确定性逻辑混编。
适用场景:
- 先判断任务类型,再派单
- 例如:
- 技术问答 -> research_agent
- 数据查询 -> sql_agent
- 计划制定 -> planner_agent
4. 真正落地时,最该用的 LangChain / LangGraph 模块组合
下面这个组合最常见。
A.create_agent
快速做每个子 Agent。官方推荐的现成实现。
B.@tool
把普通函数变成可调用工具;也可以把一个子 Agent 再包装成 tool 给 supervisor 用。官方文档里的 subagent 例子就是这么做的。
C. State / Nodes / Edges
这是 LangGraph 的核心三件套:
State
:共享状态
Nodes
:节点逻辑
Edges
:决定下一步去哪。
这三者基本就是你多 Agent 系统的“骨架”。
D. Subgraphs
官方明确说subgraph 可以作为另一个 graph 的 node,很适合多 Agent 系统,也适合不同团队分模块开发。
你可以理解为:
- 每个复杂 Agent 自己是一张小图
- 总系统再是一张大图
E. Memory / Checkpointer
LangGraph 官方区分了:
短期记忆
:作为 state 的一部分,支持多轮对话
长期记忆
:跨 session 存用户级或应用级数据。
多 Agent 里尤其重要,因为:
- 不是每个 Agent 都该看到所有历史
- 但系统又必须知道全局任务进展
F. Retrieval / Retriever / Vector Store
官方把 Retriever 定义为:输入非结构化 query,返回文档列表的接口;它比 vector store 更泛化,而 vector store 则提供统一的相似检索接口。
多 Agent 里通常会单独做一个:
- retrieval_agent
- policy_agent
- knowledge_agent
G. Structured Output
官方支持让 Agent 直接返回 JSON、Pydantic model、dataclass 等结构化结果,而不是你自己去 parse 文本。create_agent可以自动处理结构化输出。
这个对多 Agent 非常重要,因为:
- 子 Agent 返回给主 Agent 时,最好不是自然语言
- 而是结构化字段,比如:
task_typeconstraintsretrieved_docsrisk_flagsfinal_plan
H. Middleware
官方说明 middleware 可以控制 Agent 执行过程,比如日志、提示词改写、工具选择、输出变换、重试、fallback、限流、guardrails、PII 检测等;也支持在before_model、after_model等阶段挂钩子。
这在多 Agent 里非常好用:
- 动态切换 system prompt
- 限制某阶段可见工具
- 给不同 Agent 加安全检查
- 做 step-based handoff
5.搭一个多 Agent
场景一:只是功能分工,不复杂
用:
create_agent@tool- 一个 supervisor agent
也就是Subagents 模式。这是最省事的。官方也说当你有多个明显不同领域时,这种模式很适合。
场景二:任务有明确阶段,必须按流程推进
用:
- LangChain agent
- LangGraph state
- middleware / handoff
也就是Handoffs / state machine 模式。官方给 customer support 的例子就是这么做的。
场景三:你要做真正“可控”的企业级多 Agent
用:
- LangChain:模型、tool、retriever、structured output
- LangGraph:state、node、edge、subgraph、checkpoint、interrupt
这是现在最稳的组合。官方也在文档里反复把多 Agent 教程描述为“LangChain agents + LangGraph workflows”的结合。
6. 给你一个适合入门的多 Agent 结构
如果你现在要做一个项目,我建议先从这个 4-Agent 版本开始:
User ->supervisor_agent ->planner_agent ->retrieval_agent ->executor_agent ->reviewer_agent每个 Agent 干什么
1)supervisor_agent
- 接收用户请求
- 判断该调谁
- 汇总最终答案
2)planner_agent
- 拆任务
- 生成步骤
- 提取约束
3)retrieval_agent
- 查知识库 / 向量库 / SQL / API
- 返回结构化证据
4)executor_agent
- 真正执行动作
- 调工具、生成草稿、算结果
5)reviewer_agent
- 做校验
- 看是否缺字段、是否违规、是否需要补查
7. 一个很小的代码骨架思路
下面我写一个“supervisor + 两个子 agent”的简化思路:
from langchain.agentsimportcreate_agent from langchain.toolsimporttool planner=create_agent( model="openai:gpt-4.1", tools=[], system_prompt="你是任务规划Agent,只负责拆解任务,不直接执行。" ) researcher=create_agent( model="openai:gpt-4.1-mini", tools=[], system_prompt="你是检索Agent,只负责查资料并返回证据。" ) @tool("plan_task") defplan_task(user_query: str) -> str: result=planner.invoke({ "messages": [{"role": "user", "content": user_query}] }) returnresult["messages"][-1].content @tool("research") defresearch(query: str) -> str: result=researcher.invoke({ "messages": [{"role": "user", "content": query}] }) returnresult["messages"][-1].content supervisor=create_agent( model="openai:gpt-4.1", tools=[plan_task, research], system_prompt="你是总控Agent,负责选择合适的子Agent并整合结果。" )这就是官方 subagents 思路的一个缩小版:把子 Agent 包成 tool,交给主 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时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~