支持私有云部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


10万开发者推荐的LangGraph,Swarm让效率暴涨300%!

发布日期:2025-03-24 15:56:34 浏览次数: 1555 来源:CourseAI
推荐语

探索AI领域创新实践,LangGraph Multi-Agent Swarm技术让效率飞跃。

核心内容:
1. LangGraph Multi-Agent Swarm系统介绍
2. 多智能体系统(MAS)的组成与特点
3. 实战案例:LangGraph Multi-Agent Swarm的编程实现

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

  • LangGraph Multi-Agent Swarm 是使用 LangGraph 创建 swarm 风格的多代理系统。 其中,Agent根据其专业化动态地将控制权移交给彼此。
  • 系统会记住最后一个处于活动状态的座席,确保在后续交互中,与该座席的对话恢复。

那么Multi-Agent Swarm的特点是什么呢?

  • 多智能体系统(Multi-Agent System, MAS)由多个自主、独立的智能体(Agent)组成,每个智能体能够感知环境、执行任务,并与其他智能体进行信息共享、任务协调与协同行动,以实现整体目标。
  • 智能体(Agents)是系统的基本单元,封装了一组指令和工具,能够独立完成特定任务,并支持任务交接(Handoffs)功能。
  • 交接(Handoffs)就是将当前任务或对话交接给其他智能体,确保流程的模块化和高效性
  • 多智能体系统强调通信、协作和互动,能够通过分布式计算提高系统的鲁棒性和复杂性

优点:

  • 多智能体系统相比单智能体系统具有更高的灵活性和可扩展性,能够处理更复杂的任务 缺点:
  • 多智能体系统也面临协调复杂性、任务分配效率等问题,需要通过优化算法和技术手段加以解决

LangGraph Multi-Agent Swarm实战

from langchain_openai import ChatOpenAI

from langgraph.checkpoint.memory import InMemorySaver
from langgraph.prebuilt import create_react_agent
from langgraph_swarm import create_handoff_tool, create_swarm

model = ChatOpenAI(model="gpt-4o")

def add(a: int, b: int) -> int:
    """Add two numbers"""
    return a + b

alice = create_react_agent(
    model,
    [add, create_handoff_tool(agent_name="Bob")],
    prompt="You are Alice, an addition expert.",
    name="Alice",
)

bob = create_react_agent(
    model,
    [create_handoff_tool(agent_name="Alice", description="Transfer to Alice, she can help with math")],
    prompt="You are Bob, you speak like a pirate.",
    name="Bob",
)

checkpointer = InMemorySaver()
workflow = create_swarm(
    [alice, bob],
    default_active_agent="Alice"
)
app = workflow.compile(checkpointer=checkpointer)

config = {"configurable": {"thread_id""1"}}
turn_1 = app.invoke(
    {"messages": [{"role""user""content""i'd like to speak to Bob"}]},
    config,
)
print(turn_1)
turn_2 = app.invoke(
    {"messages": [{"role""user""content""what's 5 + 7?"}]},
    config,
)
print(turn_2)

LangGraph Multi-Agent Swarm

  • 构建Supervisor Agent
    • 使用LangGraph框架创建一个Supervisor Agent,该Agent负责协调其他专业智能体(Specialized Agents)。
    • Supervisor Agent可以通过调用不同的工具(如websearch、nl2sql等)来处理任务。
    • 通过StateGraph定义Supervisor Agent的状态,并通过Edge连接不同的节点,形成一个完整的图结构
  • 创建专业智能体
    • 为每个任务创建一个专业智能体,每个智能体具有特定的工具和功能。例如,可以创建一个用于网络搜索的智能体、一个用于SQL查询的智能体等
    • 每个智能体通过Edge与Supervisor Agent连接,确保任务的传递和处理
  • 实现复杂信息流
    • 利用LangGraph的DAG(有向无环图)特性,实现复杂的信息流。每个节点代表一个任务或处理步骤,Edge表示任务之间的依赖关系
    • 通过LangGraph的内置持久化层,支持任务的回溯和编辑,提高系统的灵活性和可维护性
  • 可扩展性其他模块
    • LangGraph支持模块化设计,每个智能体可以独立开发和维护,无需修改现有系统即可添加新的智能体
    • 通过分层设计,可以创建分层多智能体系统,Supervisor Agent协调多个专业智能体,实现任务的动态分配和通信管理
  • 控制与优化
    • Supervisor Agent可以根据任务需求动态选择最佳的专业智能体
    • 通过LangGraph的高级功能,如状态管理和动态路由,可以优化任务分配和执行流程
  • 与其他智能体集成
    • LangGraph可以与其他多智能体框架(如AutoGen、CrewAI)集成,实现更复杂的多智能体协作
    • 通过封装其他框架的智能体,将其作为LangGraph节点的一部分,实现跨框架的多智能体系统

LangGraph Multi-Agent Swarm的应用场景:

  • 增强RAG应用

    • 在语义检索相关文档后,评估文档质量,若质量不佳,可重写问题以获得更精确的检索结果
    • 例如代码自我纠正、Web访问自动导航等。
  • 灵活控制的Agent应用

    • 可以指定强制调用某个工具,或增加人机交互步骤,以及灵活更换prompt或LLM。
  • 多智能体系统(MAS)

    • 由多个AI智能体构成,通过相互关联与协作共同完成任务,每个智能体可以有自己独立的LLM,从而实现复杂任务的分解和协作。
  • 对话代理和长运行多步骤LLM应用

    • 支持持久检查点、循环和人机交互,适用于需要持续和一致的Agent交互的应用场景。
  • 复杂信息流的实现

    • 在多智能体LLM系统中,LangGraph支持复杂的循环计算和多步骤操作,适用于需要迭代过程和模拟的应用场景。
  • 生产级代理开发

    • LangGraph Cloud简化了从开发到部署的流程,支持快速构建生产级HTTP微服务。
  • 智能代理检索与生成(RAG)系统

    • 通过LangGraph Studio构建智能代理检索与生成系统,支持数据增强和人机交互。
  • 高级查询和代码生成

    • 在路由和高级查询、返回结构化输出、代码生成等实战场景中的表现。
  • 专业报告撰写和多代理协作

    • 支持专业报告撰写、多代理协作、多代理团队协作等复杂任务。
  • SQL代理和研究特化多代理(STORM)

    • 支持SQL代理和研究特化多代理的应用,提升自然语言处理和知识图谱构建能力。

综上,LangGraph Multi-Agent Swarm适用于需要高度灵活性、复杂任务分解、持续交互和多步骤操作的场景,特别是在对话代理、专业报告撰写、代码生成等领域具有显著优势。

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询