LangGraph Multi-Agent Supervisor工作原理,附实践教程
2025,大家都在说是 Agents 爆发的关键一年,在不断发展的软件开发环境中,Agent 系统正在逐渐游戏规则,实现自动化、提高效率并简化工作流程。
LangGraph Multi-Agent Supervisor 通过模块化、可扩展和结构化的 Agents 编排简化了 AI 驱动的开发。
LangGraph Multi-Agent Supervisor 就是这样一个突破性的框架,它提供了一种结构化和模块化的方法,用于在应用程序中编排多个代理。
本片文章将探讨 LangGraph Multi-Agent Supervisor 的工作原理,它与其他多智能体系统有什么不同,以及如何通过实际案例实现它。
01 主要亮点
编排智能代理:了解 LangGraph 如何实现结构化且高效的基于代理的系统。
自动化工作流程:了解它如何通过自动执行复杂的决策任务来简化开发。
模块化和控制:理解为什么LangGraph以其基于图形的架构和明确的任务委派而脱颖而出。
与其他框架的比较:了解 LangGraph 与 CrewAI、AutoGen 和 OpenAI Swarm 的对比情况。
分步实施指南:按照详细的演练在你的项目中实施 LangGraph。
02 什么是 Agentic Systems
代理系统涉及独立执行任务、做出决策并与其他代理协作的自主实体(代理)。
这些代理可以分析数据、从模式中学习并适应不断变化的环境,这使得它们在现代应用程序开发中至关重要。
代理系统在软件开发中的主要优势
重复性任务的自动化:减少人工工作并提高效率。
提高生产力:开发人员可以专注于创造性地解决问题,而不是平凡的任务。
适应性:代理可以处理动态和不断变化的应用程序需求。
增强决策:AI 驱动的代理可以提供智能见解。
协作工作流程:多个代理协同工作,无缝完成复杂的流程。
03 LangChain 如何简化开发
LangChain 是一个框架,可简化由大型语言模型 (LLM) 提供支持的应用程序的开发。
通过提供模块化和可组合的架构,LangChain 使开发者能够构建可利用各种数据源和 API 的上下文感知推理应用程序。
LangChain 的主要优势:
标准化组件接口:允许开发人员在不更改底层代码的情况下交换不同的组件提供程序,从而确保灵活性。
与各种语言模型无缝集成:支持多个 LLM,从而优化性能。
提高生产力:自动执行工作流和重复性任务,使开发人员能够专注于更高级别的问题解决。
可扩展性和模块化:鼓励使用模块化组件的可扩展架构。
全面的文档和社区支持:提供广泛的学习资源和活跃的开发人员社区。
总之,LangChain 简化了高效构建复杂的 AI 驱动应用程序的过程。
04 什么是 LangGraph Multi-Agent Supervisor
LangGraph Multi-Agent Supervisor 是一个框架,用于协调系统内的多个专用代理。
与传统的多智能体系统不同,LangGraph 的 Supervisor 可确保:
分层控制:中央主管代理管理专业代理之间的任务流。
模块化:开发人员可以创建为特定角色量身定制的独立代理。
显式工作流程控制:基于图形的架构支持对座席交互的精确控制。
与 LangChain 集成:与 AI 驱动的工具和 API 无缝连接。
LangGraph 与其他代理框架有什么不同?
LangGraph Multi-Agent Supervisor 凭借其结构化和模块化的方法将自己与其他多代理框架区分开来。
以下是对比分析:
主要区别
与其他框架相比的优势
更好的工作流管理:LangGraph 提供基于图形的工作流执行,这与依赖动态编排的 AutoGen 或 CrewAI 不同。
显式任务委派:LangGraph 中的 supervisor agent 确保任务分布清晰,减少歧义。
模块化和可扩展性:LangGraph 鼓励模块化代理设计,从而轻松扩展和扩展应用程序。
改进的调试和控制:结构化特性允许确定性执行,与OpenAI Swarm相比,减少了不可预测的行为。
LangGraph Multi-Agent Supervisor 提供了显式控制和确定性工作流,使其成为结构化应用程序开发的绝佳选择。
05 实现方法
如何实现 LangGraph Multi-Agent Supervisor 系统,并为不同的任务提供专门的代理。
a. 安装所需的库
首先,安装必要的依赖项:
pip install langgraph-supervisor langchain-openaib. 设置 API 密钥
确保ni 的 OpenAI API 密钥已设置:
import osos.environ["OPENAI_API_KEY"] = "<your_openai_api_key>"
c. 导入所需模块
from langchain_openai import ChatOpenAIfrom langgraph_supervisor import create_supervisorfrom langgraph.prebuilt import create_react_agent
d. 初始化语言模型
model = ChatOpenAI(model="gpt-4O")e. 定义专用代理
在这里,我们创建了两个代理:一个用于数学计算,另一个用于 Web 研究。
# Math Expert Agentdef add(a: float, b: float) -> float:"""Add two numbers."""return a + bdef multiply(a: float, b: float) -> float:"""Multiply two numbers."""return a * bmath_agent = create_react_agent(model=model,tools=[add, multiply],name="math_expert",prompt="You are a math expert. Always use one tool at a time.")# Research Expert Agentdef web_search(query: str) -> str:"""Search the web for information."""return "Search results for your query."research_agent = create_react_agent(model=model,tools=[web_search],name="research_expert",prompt="You are a world-class researcher with access to web search. Do not do any math.")
f. 创建主要工作流
让使用上述两个代理创建 supervisor 工作流:
# Create supervisor workflowworkflow = create_supervisor([research_agent, math_agent],model=model,prompt=("You are a team supervisor managing a research expert and a math expert. ""For current events, use research_agent. ""For math problems, use math_agent.")))
g. 编译并运行完整的工作流程
最后一步,我们需要编译并运行完整的工作流并检查输出:
# Compile and runapp = workflow.compile()result = app.invoke({"messages": [{"role": "user","content": "What's the combined headcount of the FAANG companies in 2024?"}]})
Last but not least
LangGraph Multi-Agent Supervisor 通过以下方式改变应用程序开发:
为多代理编排提供结构化方法
增强模块化和工作流程控制
自动执行复杂的决策任务
提高效率和适应性
通过此框架,我们可以构建可扩展的智能应用程序,从而在中央监督器下高效利用专用代理。
关注公众号,用极客视角洞察未来!
往期精彩文章推荐: