Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >LangGraph:如何用“图思维”轻松管理多Agent协作?

LangGraph:如何用“图思维”轻松管理多Agent协作?

作者头像
架构精进之路
修改于 2025-04-08 06:58:08
修改于 2025-04-08 06:58:08
68013
代码可运行
举报
文章被收录于专栏:架构精进之路架构精进之路
运行总次数:3
代码可运行

引言

当AI任务变得复杂时,我们需要更好的“调度员”。

随着智能应用场景的深化,单一 Agent 在处理复杂任务(如电商智能客服、金融数据分析流水线)时显现出明显局限性。传统链式调用框架(如 LangChain)依赖开发者手动编排流程,在面对任务分支、动态决策和资源复用等场景时,往往陷入维护成本高、扩展性差的困境。

本文将深入解析:

1. LangGraph的核心原理:图结构如何模拟复杂任务流?

2. 多 Agent 应用实战:如何实现异构Agent的协作与通信?

3. 对比LangChain:何时该用LangGraph?

1、LangGraph核心原理

LangGraph 的核心原理,简单说就是:用“图”来重构任务流。

1.1. 图结构(Graph)的三大要素

  • 节点(Node):代表一个独立单元,可以是:
    • Agent 节点:封装独立 Agent 能力(如调用GPT-4处理问题、知识检索)
    • Tool 节点:调用具体工具(如搜索API数据库查询),用于执行特定计算或处理任务
    • END 节点:流程结束的标识
  • (Edge):标注 “Where to go”,表示状态流转的决策路径,决定下一步跳转到哪个节点
    • 顺序执行(线性流程)
    • 条件跳转(如“若用户投诉,转人工审核”)
  • 状态(State):贯穿整个流程,记录数据或交互状态(如用户输入的消息),驱动节点间的流转

针对如上图例,流程说明如下:

1)用户输入触发初始状态,进入 Agent 节点 处理交互;

2)处理后通过 Edge 决策流向,可能跳转至 Tool 节点 调用工具,或直接到达 END 节点 结束流程;

3)若进入 Tool 节点,处理完成后状态可能再次流转,形成循环或推进至结束。 该模型通过节点、边、状态的协作,实现交互任务的流程化处理。

1.2 动态编排:像流程图一样设计AI流程

LangGraph支持循环分支并行等控制流,例如:

代码语言:javascript
代码运行次数:1
运行
AI代码解释
复制
# 示例:根据用户问题动态路由  
def route(state):  
    if "投诉" in state["input"]:  
        return "human_review"  # 转人工  
    else:  
        return "ai_agent"      # 由AI处理 

2、多 Agent 协作实战

为了更好让大家理解,我们应用一个「客服工单处理案例」来进行介绍。

假设我们需要处理用户工单,主要流程包括: 意图识别 → 专家Agent处理 → 结果审核

2.1 定义 Agent 节点

代码语言:javascript
代码运行次数:2
运行
AI代码解释
复制
from langgraph.graph import StateGraph, MessagesState  
# Create the workflow
workflow = StateGraph(MessagesState)
# 意图识别  
def identify_intent(state):
    last_message = state["messages"][-1].content
    if "账号" in last_message or "登录" in last_message:
        intent = "technical"
    else:
        intent = "general"
    return {
        "messages": [AIMessage(content="意图识别完成")],
        "intent": intent
    }
# 专家处理
def call_expert(state):
    return {"messages": [AIMessage(content="专家处理结果:您的问题需要专业技术支持")]}
# 人工审核
def human_review(state):
    return {"messages": [AIMessage(content="人工审核完成:您的问题已处理")]}
    
    
# 添加三个Agent节点  
workflow.add_node("intent_agent", identify_intent)  # 意图识别  
workflow.add_node("expert_agent", call_expert)      # 专家处理  
workflow.add_node("review_agent", human_review)     # 人工审核  

2.2 设计 workflow 逻辑

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 设置入口点
workflow.set_entry_point("intent_agent")
# 条件边:根据意图选择路径  
def router(state):  
    if state["intent"] == "technical":  
        return "expert_agent"  
    else:  
        return "review_agent"  
workflow.add_conditional_edges("intent_agent", router)  
# 专家处理后必须审核
workflow.add_edge("expert_agent", "review_agent")  
# 设置结束点
workflow.set_finish_point("review_agent")  

2.3 运行 workflow

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Compile the workflow
app = workflow.compile()
output = app.invoke({"messages": [HumanMessage(content="我的账号无法登录")]})
print("执行结果:\n\n", final_state["messages"][-1].content)

执行结果

程序执行流程为:用户输入 → 意图识别 → 技术问题 → 专家Agent → 人工审核 → 返回结果

LangGraph 图例如下:

3、LangChain vs LangGraph

当LangChain 遇上 LangGraph,我们应该如何选择呢?

简单下个结论

  • 如果是固定流程(如“搜索→总结”),用LangChain更轻量。
  • 如果是动态、多角色协作(如客服、数据分析流水线),LangGraph是更优解。

结语

LangGraph的图思维将复杂任务分解为可编排的节点,通过动态路由共享状态实现高效协作。如果你正面临多Agent的“spaghetti code”难题,不妨用LangGraph重构你的流程!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 架构精进之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
不错。写的不错
不错。写的不错
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
大模型开发实战:(四)使用 LangGraph 实现多智能体应用
随着大语言模型(LLM)技术的快速发展,人们期望利用 LLM 解决各种复杂问题,在此背景下,构建智能体(Agent)应用受到了广泛关注。用户与 LLM 的交互可以被视为一种 单智能体(Single-Agent) 行为:用户通过提示词(prompt)与通用 LLM 进行对话,LLM 理解问题并提供反馈。然而,单一智能体在处理复杂任务时存在明显局限性,例如需要用户多次引导、缺乏对外部环境的感知能力、对话历史记忆有限等。
张高兴
2025/05/21
3900
大模型开发实战:(四)使用 LangGraph 实现多智能体应用
AI Agent 终结者 LangGraph!
LangGraph是一个用于构建具有状态、多参与者应用程序的大语言模型(LLM)的库,用于创建智能体和多智能体的工作流程。与其他 LLM 框架相比,它提供以下核心优势:
JavaEdge
2024/08/10
8110
多AI Agent代理:使用LangGraph和LangChain创建多代理工作流
在AI时代,每个人都是一个超级个体,AI Agent智能体的出现,为我们打造超级个体提供了可能。如果说2024年将是AI应用的元年,那么AI Agent将是这个AI应用元年里最为闪亮的那颗星。之前有读者留言,希望多分享一些AI Agent智能体的搭建方法,在上一篇推文中也从实战案例角度分享了怎么用天工AI快速搭建一套属于我们自己的AI Agent智能体,天工AI的多模态和AI搜索能力相信已经能满足大多数人的使用需求。今天就从代码实战上来分享如何使用LangGraph和LangChain创建多代理工作流。
山行AI
2024/06/06
2.8K0
多AI Agent代理:使用LangGraph和LangChain创建多代理工作流
LangGraph,知多少?
LangGraph 作为 LangChain 的自然延伸,完美地填补了后者在构建复杂、动态的 AI 应用方面的空白。它为我们提供了一种全新的视角,让我们能够更轻松地创建智能代理,并将其应用于各种复杂的业务场景。‍
Luga Lee
2024/11/01
4860
LangGraph,知多少?
使用LangGraph构建你的第一个AI Agent-附完整代码
AI Agent 指的是有能力主动思考和行动的智能体,能够以类似人类的方式工作,通过大模型来“理解”用户需求,主动“规划”以达成目标,使用各种“工具”来完成任务,并最终“行动”执行这些任务。
wayn
2025/04/18
2840
使用LangGraph构建你的第一个AI Agent-附完整代码
使用LangGraph在Python 中开发Master AI代理
LangGraph 简化了开发高级 AI 应用程序的过程,使构建能够处理复杂交互的智能、上下文感知代理变得更加容易。
云云众生s
2024/07/24
3390
啥是AI Agent!2025年值得推荐入坑AI Agent的五大工具框架!(新手科普篇)
它是一种能够感知环境、自主决策并执行任务以实现特定目标的智能系统。它以大型语言模型(LLM)为核心,赋予机器自主性、适应性和交互性,使其能在复杂多变的环境中独立运作。简单来说,AI Agent 就像是一个拥有独立思考和行动能力的智能助手,能够理解你的需求,并通过调用各种工具和资源,为你完成一系列复杂的任务。
测试开发技术
2025/01/17
11.9K0
啥是AI Agent!2025年值得推荐入坑AI Agent的五大工具框架!(新手科普篇)
AI智能体(二)
LangGraph更低级别、更细粒度管理Agent的状态和行为。适合大型复杂的Agent。langchain提供类似AgentExecutor这样的更高层次框架,适合快速开发和部署。
算法之名
2024/10/05
2100
AI智能体(二)
我为什么放弃了 LangChain?
如果你关注了过去几个月中人工智能的爆炸式发展,那你大概率听说过 LangChain。
机器之心
2023/08/08
1.2K0
我为什么放弃了 LangChain?
大模型开发实战:(三)使用 LangGraph 为对话添加历史记录
在构建聊天机器人时,对话历史记录是提升用户体验的核心功能之一,用户希望机器人能够记住之前的对话内容,从而避免重复提问。LangGraph 是 LangChain 生态中一个工具,通过将应用逻辑组织成有向图(Graph)的形式,可以轻松实现对话历史的管理和复杂的对话流程。本文将通过一个示例,展示如何使用 LangGraph 实现这一功能。
张高兴
2025/05/21
1900
大模型开发实战:(三)使用 LangGraph 为对话添加历史记录
LangChain 完整指南:使用大语言模型构建强大的应用程序
嗨,你好!让我向你介绍LangChain,这是一个非常棒的库,它能让开发者利用大型语言模型(LLMs)和其他计算资源来构建强大的应用。在这份指南中,我将快速概述LangChain的工作原理,并探讨一些很酷的使用案例,例如问答系统、聊天机器人和智能代理。我还会带你走过一个快速启动指南,帮助你开始使用。让我们开始吧!
山行AI
2023/06/14
3.5K0
LangChain 完整指南:使用大语言模型构建强大的应用程序
吴恩达的翻译Agent项目,复现教程来了!
通过将LLM作为翻译引擎的核心,该系统具备高度可调控性。例如相较于传统机器翻译(MT)系统,通过修改提示词可以更便捷地实现以下功能:调整输出文本风格(正式/非正式);指定成语和专业术语(如名称、技术术语、缩略语)的处理方式——通过在提示词中添加术语表,可确保特定词汇(如开源、H100或GPU)的翻译一致性;根据目标受众需求指定语言的地域变体或方言,例如拉丁美洲西班牙语与西班牙本土西班牙语存在差异,加拿大法语与法国本土法语亦有不同。
Datawhale
2025/03/17
1920
吴恩达的翻译Agent项目,复现教程来了!
从API到Agent:万字长文洞悉LangChain工程化设计
我想做一个尝试,看看能不能用尽量清晰的逻辑,给“AI外行人士”(当然,我也是……)引入一下LangChain,试着从工程角度去理解LangChain的设计和使用。同时大家也可以将此文档作为LangChain的“10分钟快速上手”手册,本意是希望帮助需要的同学实现AI工程的Bootstrap。
GeaFlow
2024/03/18
1.3K1
从API到Agent:万字长文洞悉LangChain工程化设计
Cursor使用指南:释放AI编程的无限潜能
大家好,我是AI大眼萌。今天,我们将深入探索Cursor——这款强大的AI编程工具。从基础操作到高级技巧,这份全面的使用指南将帮助你充分利用Cursor,提升你的编程效率和创造力。
AI大眼萌
2024/10/25
21.5K0
Cursor使用指南:释放AI编程的无限潜能
基于LangChain和DeepSeek的Agent开发指南
在人工智能技术飞速发展的今天,开发专属的AI对话机器人不再是十分困难的事情。本文将以DeepSeek最新大语言模型为基础,结合LangChain框架,手把手教你构建一个具备完整对话能力的AI Agent。无需机器学习背景,只需基本Python知识即可完成!
闫同学
2025/03/19
1.2K4
洞悉LangChain:LangChain工程化设计,从API到智能Agent的全面探索
LangChain 是 2022 年 10 月底,由哈佛大学的 Harrison Chase 发起的基于开源大语言模型的 AI 工程开发框架。当然也可以问一下 AI:
汀丶人工智能
2024/07/25
1.4K0
洞悉LangChain:LangChain工程化设计,从API到智能Agent的全面探索
机器学习|MCP(Model Context Protocol)实战
MCP(Model Context Protocol,模型上下文协议) ,2024年11月底,由 Anthropic 推出的一种开放标准,旨在统一大型语言模型(LLM)与外部数据源和工具之间的通信协议。 官网的介绍: https://modelcontextprotocol.io/introduction
用户1904552
2025/04/13
7520
机器学习|MCP(Model Context Protocol)实战
AutoGen AI智能体框架开发者指南
AutoGen在Python开发者中很受欢迎,因为它可以用来构建多智能体AI系统。以下是入门方法。
云云众生s
2025/01/09
4650
AutoGen AI智能体框架开发者指南
AI团队比单打独斗强!CrewAI多智能体协作系统开发踩坑全解析
"你是否曾为单个大模型难以解决复杂专业问题而苦恼?是否想过,如果能像组建专业团队一样安排多个AI协同工作,会发生什么神奇的事情?本文将分享我基于CrewAI框架构建多智能体协作系统的实战经验,这一方法将原本需要3-4小时的专业文件处理工作缩短至仅需20秒!"
LeonAlgo
2025/04/04
2830
AI团队比单打独斗强!CrewAI多智能体协作系统开发踩坑全解析
探秘多AI Agent模式:机遇、应用与未来展望(5/30)
摘要:多 AI Agent 模式是一种强大的人工智能架构,它利用多个智能体(Agent)之间的协作与交互来解决复杂问题、执行多样化任务并模拟复杂系统行为。在这种模式中,每个 Agent 都具备独立的感知、决策和行动能力,通过相互协作和信息共享,实现系统整体目标的优化。
正在走向自律
2024/12/18
5410
探秘多AI Agent模式:机遇、应用与未来展望(5/30)
推荐阅读
相关推荐
大模型开发实战:(四)使用 LangGraph 实现多智能体应用
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验