本文详细介绍了LangGraph多智能体系统的网络架构模式,重点解析了Swarm架构的去中心化特性和动态移交能力。通过代码实战展示了如何使用langgraph-swarm库构建智能体协作网络,并对比了主管架构、分层架构与网络架构的适用场景,为开发者提供了构建高效协作AI系统的完整指南。
1.1 网络架构概念
网络架构为多智能体系统提供了一种去中心化、高灵活性的协作范式。在该模型中,所有智能体处于对等地位,彼此之间可直接建立通信连接(多对多),无需依赖中央主管来协调每一次交互。每个智能体基于自身状态、系统整体目标以及已交换的消息,自主决策接下来应调用哪一个合作智能体。
网络架构在以下场景中具有显著优势:
任务本质是协作且动态的
当智能体交互的最佳顺序无法预先确定时,网络支持动态、自适应的协作,智能体可根据实时情况临时决定行为。
需要去中心化决策
控制权分散于各智能体之间,能提升系统的容错能力。单个智能体的故障不易导致整个系统瘫痪。
专业智能体需灵活交互
若不同智能体具备独特的专业知识,且这些知识可能在任务的不同节点被需要,网络架构能支持更顺畅的信息交换与协作。
然而,网络架构的平等性与自由度也带来了设计上的挑战:必须仔细管理系统的复杂性,明确各智能体的共同目标与行为边界,以确保在分散决策下整体行为依然连贯、一致。
1.2 典型的网络架构——Swarm架构
Swarm 架构是网络架构的一个典型代表,其核心在于智能体能够基于专业领域动态地移交控制权。在该系统中,每个智能体被设计为特定领域的专家,对话或任务会被动态路由至最适合处理当前上下文的智能体。一个关键特征是,Swarm 能够“记忆”上一次被激活的智能体。这确保了在同一对话线程的后续交互中,系统能智能地优先由该智能体响应,从而保持上下文的连续性与对话的连贯性。
Swarm 架构的核心特性如下:
具备移交能力的智能体
各智能体配备“移交工具”,可显式地将控制权及当前上下文转移给其他更擅长处理后续任务的智能体,实现专家间的有效协作。
动态的智能体路由
对话的路由决策是动态且高度依赖于上下文的。智能体依据自身专业知识和当前对话状态决定是否移交、移交给谁,从而形成灵活自适应的系统流程。
基于记忆的对话连续性
Swarm 维护对话历史,并记录每个线程中上次激活的智能体。这种记忆机制对于在多次交互中提供连贯、自然的用户体验至关重要。
二、LangGraph网络架构代码实战
尽管网络架构的设计与实现具有一定复杂性,但LangGraph为开发者提供了相应的支持库以降低开发门槛。目前,实现多智能体网络架构的成熟范式是Swarm 架构。为此,LangGraph 专门提供了langgraph-swarm库,它封装了用于创建具备移交能力的智能体工具,使得多个智能体能够以对等的方式进行交互与协作。
下面笔者通过一个使用langgraph-swarm库的示例来具体说明 Swarm 架构的实现。该示例包含两个专业智能体:Agent1(数学专家)和Agent2(小猫咪语气智能体)。
1. 环境配置:首先需要安装langgraph-swarm类库。在激活的anaconda langchain虚拟环境中执行以下命令:pip install -U langgraph-swarm:
2. 引入相关依赖:在项目文件夹下新建.env文件,填入你的DEEPSEEK_API_KEY。随后引入必要的依赖。
from langchain_core.messages import HumanMessage, SystemMessage from langchain_core.tools import tool from langchain_deepseek import ChatDeepSeek from langchain.agents import create_agent from langgraph.checkpoint.memory import InMemorySaver from langgraph_swarm import create_handoff_tool, create_swarm from dotenv import load_dotenv load_dotenv() llm = ChatDeepSeek( model="deepseek-chat", )3. 定义专业智能体:注意从langgraph-swarm引入的create_handoff_tool函数,它使智能体具备向其他智能体移交控制权的能力。通过定制移交过程,每个智能体得以处于平等地位,并能将专业任务移交给更合适的智能体。
@tool def add(a:int, b:int)->int: ''' 计算两个整数和字符串相加时务必调用该函数 ''' print('Agent1 加法工具调用') return a+b # agent1是一位可以调用add函数和移交给agent2移交工具函数的智能体 agent1 = create_agent( model=llm, tools=[add, create_handoff_tool(agent_name='agent2', description='当用户想和agent2对话时,转给agent2回答')], system_prompt='你是agent1,一位加法专家,可以利用提供的add函数完成所有加法运算', name='agent1' ) # agent2说话的语气像小猫咪,并且拥有一个移交给agent1以寻求数学帮助的移交工具 agent2 = create_agent( model=llm, tools=[create_handoff_tool(agent_name='agent1', description='请务必将所有的加法运算移交给agent1, 它可以帮助你解决数学问题')], system_prompt='你是agent2, 你说话语气像小猫咪', name='agent2' )4. 创建Swarm网络架构: Swarm架构需要通过记忆保持对话连续性,这里使用内存检查点InMemorySaver来实现短期记忆(对此不熟悉的读者可参考笔者文章《LangGraph1.0速通指南(二)—— LangGraph1.0 条件边、记忆、人在回路》)。接着,使用create_swarm方法创建 Swarm 网络架构,并默认激活agent1。
checkpointer = InMemorySaver() workflow = create_swarm( [agent1, agent2], default_active_agent="agent1" # 默认激活的智能体是agent1 ) app = workflow.compile(checkpointer=checkpointer)5. 运行测试: 通过多轮对话来观察多智能体的协作结果。虽然默认激活的是agent1,但当用户明确要求与agent2对话时,架构会自动将控制权移交给agent2。随后,当用户提出数学计算问题(100+100)时,架构又会从agent2切换回agent1来执行计算。
config = { 'configurable': { 'thread_id': '1' } } # 第一轮对话 first = app.invoke( {'messages': [{'role': 'user', 'content': '我想和agent2说话,请转接agent2'}]}, config ) print(first['messages'][-1].content) # 第一轮输出 print('\n\n') second = app.invoke( {'messages': [{'role': 'user', 'content': '100+100等于多少'}]}, config ) print(second['messages'][-1].content) # 第二轮输出以上所有代码大家可以关注笔者的微信公众号大模型真好玩,并私信:LangChain智能体开发免费获取。
当然,以上仅是langgraph-swarm的简单应用。该库提供了丰富的自定义选项,允许开发者根据特定需求定制智能体间的网络交互行为,主要包括以下功能:
自定义移交工具
开发者可以创建自定义移交工具,并能修改其名称、描述、调用参数以及在移交过程中传递的上下文信息。这允许对智能体间的通信和状态传递进行细粒度的控制。
自定义智能体实现
虽然库默认假设所有智能体共享单一的消息数据结构,但开发者可以实现自定义的智能体,采用不同的状态模式或创建私有的消息历史记录。不过,这需要仔细管理智能体与 Swarm 框架之间的状态转换和通信路径。
内存管理
有效的内存管理对于 Swarm 架构至关重要,尤其是在长时间运行的对话中。需要选择合适的记忆存储后端,并尽可能利用长期记忆机制来维护长上下文的一致性。
三、 LangGraph多智能体架构总结对比
至此笔者就完整介绍了 LangGraph 中三种核心的多智能体设计模式:主管架构、分层架构与网络架构。
主管架构通过设置中央控制点来协调专业智能体的工作;分层架构在此基础上引入了更高层的主管(团队经理),通过树状结构管理更广泛的复杂性;而网络架构则提供了一种去中心化、高灵活性的替代方案,更适合需要动态协作与涌现行为的场景。
LangGraph 及其相关的 Supervisor 与 Swarm 库为这些架构的实现提供了强大支持,显著简化了构建健壮、可扩展且易于管理的多智能体系统的过程。善用这些模式与工具,开发者能够构建出通过智能体高效协作来处理复杂任务的AI应用。
三种架构的核心区别与适用场景对比如下表所示:
| 多智能体架构 | 结构 | 复杂性管理 | 可扩展性 | 灵活性 | 用例 |
|---|---|---|---|---|---|
| 主管架构 | 中央主管智能体、专业智能体 | 集中控制,可管理中等复杂性 | 中 | 低 | 需要明确协调、明确定义的专业化任务 |
| 分层架构 | 顶层主管智能体、团队主动智能体 | 分层控制,降低每个主动智能体的负载,高度模块化 | 高 | 中 | 复杂任务,有大量智能体,需要组织结构 |
| 网络架构 | 分散式智能体、多对多通信 | 分布式控制,涌现行为,更难管理 | 高 | 高 | 协作任务,动态环境、不可预测的工作流 |
AI时代,未来的就业机会在哪里?
答案就藏在大模型的浪潮里。从ChatGPT、DeepSeek等日常工具,到自然语言处理、计算机视觉、多模态等核心领域,技术普惠化、应用垂直化与生态开源化正催生Prompt工程师、自然语言处理、计算机视觉工程师、大模型算法工程师、AI应用产品经理等AI岗位。
掌握大模型技能,就是把握高薪未来。
那么,普通人如何抓住大模型风口?
AI技术的普及对个人能力提出了新的要求,在AI时代,持续学习和适应新技术变得尤为重要。无论是企业还是个人,都需要不断更新知识体系,提升与AI协作的能力,以适应不断变化的工作环境。
因此,这里给大家整理了一份《2026最新大模型全套学习资源》,包括2026最新大模型学习路线、大模型书籍、视频教程、项目实战、最新行业报告、面试题、AI产品经理入门到精通等,带你从零基础入门到精通,快速掌握大模型技术!
由于篇幅有限,有需要的小伙伴可以扫码获取!
1. 成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。
2. 大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)
3. 大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
4. 大模型项目实战
学以致用,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
5. 大模型行业报告
行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
6. 大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
为什么大家都在学AI大模型?
随着AI技术的发展,企业对人才的需求从“单一技术”转向 “AI+行业”双背景。企业对人才的需求从“单一技术”转向 “AI+行业”双背景。金融+AI、制造+AI、医疗+AI等跨界岗位薪资涨幅达30%-50%。
同时很多人面临优化裁员,近期科技巨头英特尔裁员2万人,传统岗位不断缩减,因此转行AI势在必行!
这些资料有用吗?
这份资料由我们和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。
大模型全套学习资料已整理打包,有需要的小伙伴可以
微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费】