Skip to content

LangGraph 架构图集合

本文档收集整理了 LearnGraph 1.X 教程中所有的 LangGraph 架构图,便于查阅和学习。


1. 基础图结构

1.1 基础线性图 (Sequential Graph)

基础线性图

说明: 这是最基础的 LangGraph 图结构,展示了从 __start____end__ 的顺序执行流程。节点 (node_1 → node_2 → node_3) 按照固定顺序依次执行,适用于简单的流水线任务处理。


1.2 简化线性图 (Simplified Sequential Graph)

简化线性图

说明: 这是简化版的线性图,只包含两个节点 (node1 → node2)。展示了 LangGraph 最小可用结构,适合理解图的基本组成:起点、处理节点和终点。


1.3 单节点图 (Single Node Graph)

单节点图

说明: 这是 LangGraph 最简化的结构,仅包含一个处理节点 (node1)。展示了图的最小单元:__start__node1__end__。适合用于单一功能的简单任务。


2. 条件分支图结构

2.1 条件跳过图 (Conditional Skip Graph)

条件跳过图

说明: 展示了条件边 (conditional edge) 的使用场景。虚线箭头表示条件路径,某些情况下可以直接从 __start__ 跳转到 __end__,跳过 node1 的执行。这是实现动态流程控制的基础模式。


2.2 多分支路由图 (Multi-Branch Router Graph)

多分支路由图

说明: 这是 LangGraph 中经典的路由器 (Router) 模式。根据输入条件,从 __start__ 分支到不同的处理节点 (large/medium/small),每个分支处理完成后汇聚到 __end__。虚线表示条件边,适用于根据输入类型选择不同处理逻辑的场景。


3. Agent 模拟与测试

3.1 Agent 模拟架构 (Agent Simulation Architecture)

Agent 模拟架构

说明: 这是 LangGraph 用于 Agent 测试的模拟架构。核心组件包括:

  • Simulation Inputs:配置 persona(用户人设)和起始消息
  • Simulated User:模拟用户角色,决定如何响应或结束对话
  • Agent to test:待测试的 Agent(可以是任意类型)
  • 两者之间形成循环交互:Initial Question → Respond → Continue OR end

这种模式非常适合自动化测试 Agent 的对话能力和边界情况处理。


3.2 Prompt 生成器架构 (Prompt Generator Architecture)

Prompt 生成器架构

说明: 这是一个 Human-in-the-loop (人机协作) 模式的架构图。流程包括:

  • User:用户节点,提供输入和反馈
  • Gather Requirements:收集需求节点,与用户交互获取详细要求
  • Generate Prompt:根据收集的需求生成最终 Prompt

箭头形成双向循环,用户可以反复修改需求直到满意,体现了 LangGraph 支持交互式迭代的能力。


3.3 带工具调用的图流程 (Graph Flow with Tool Calls)

带工具调用的图流程

说明: 这是一个包含工具调用和循环的复杂图结构:

  • info:信息收集/处理节点,作为循环的入口点
  • add_tool_message:添加工具消息节点
  • prompt:生成提示节点

虚线表示条件边,从 info 节点可以直接结束或继续循环。这种模式常用于需要多轮工具调用来收集信息的场景。


4. 代码助手架构

4.1 代码助手完整架构 (Code Assistant Architecture)

代码助手架构

说明: 这是一个完整的代码助手架构,展示了自我反思 (Self-Reflection) 模式:

  • 输入:Question(问题)+ Context(上下文/文档)
  • Code Generation:代码生成节点,输出包含 Preamble、Imports、Code 三部分
  • Code Check:代码检查节点,验证生成的代码
  • Fail? 决策点:判断代码是否通过检查
    • No:通过检查 → 输出 Code Solution
    • Yes:失败 → 进入 Reflect 节点
  • Reflect:反思节点,分析失败原因并反馈给 Code Generation 重新生成

这是 Agentic 编程中经典的 "生成-检查-反思" 循环模式。


5. 多 Agent 架构模式

5.1 多 Agent 架构总览 (Multi-Agent Architectures Overview)

多 Agent 架构总览

说明: 这张图展示了 LangGraph 中六种主要的多 Agent 架构模式:

  1. Single Agent:单 Agent + 工具调用,最基础的模式
  2. Network:网状结构,Agent 之间可以相互通信
  3. Supervisor:监督者模式,一个 Supervisor 协调多个 Worker Agent
  4. Supervisor (as tools):将子 Agent 作为工具调用
  5. Hierarchical:层级结构,多层 Supervisor 形成树状组织
  6. Custom:自定义复杂拓扑结构

这是理解多 Agent 系统设计的核心参考图。


5.2 Supervisor 模式详解 (Supervisor Pattern)

Supervisor 模式

说明: Supervisor 模式是最常用的多 Agent 架构:

  • User:用户输入请求
  • Supervisor:监督者/协调者,负责理解任务并路由到合适的 Agent
  • Agent 1/2/3:专业化的 Worker Agent,各自负责特定领域的任务

工作流程:User → Supervisor → route → Agent → 返回结果 → Supervisor → User

这种模式的优点是职责分明,Supervisor 专注于任务分解和调度,Worker Agent 专注于执行。


5.3 层级架构 (Hierarchical Architecture)

层级架构

说明: 层级架构是 Supervisor 模式的扩展,支持多层级的 Agent 组织:

  • 顶层 Supervisor:接收用户请求,分配给不同的团队
  • Research Team (子 Supervisor):管理研究相关任务
    • Searcher:搜索 Agent
    • Web Scraper:网页抓取 Agent
  • Document Authoring (子 Supervisor):管理文档创作任务
    • Writer:写作 Agent
    • Note Taker:笔记 Agent
    • Chart Generator:图表生成 Agent

这种架构适合复杂的企业级应用,能够处理跨领域的综合任务。


5.4 多 Agent 协作流程 (Multi-Agent Collaboration Flow)

多 Agent 协作流程

说明: 这是一个实际的多 Agent 协作案例,展示了生成数据图表的完整流程:

  • User:用户输入请求(如"生成阿拉斯加过去10年的平均气温图表")
  • Router:路由器,使用 if 语句根据 Agent 输出决定下一步
  • Researcher:研究 Agent,调用搜索函数获取数据
  • Chart Generator:图表生成 Agent,调用代码执行创建图表
  • Call_tool:工具调用节点,执行具体的 API/函数调用

流程中包含多个条件判断(if "continue" / if "FINAL ANSWER"),体现了动态路由的能力。


5.5 Agent 间请求传递 (Inter-Agent Request Passing)

Agent 间请求传递

说明: 展示了 Agent 1 调用 Agent 2 时,两种不同的状态传递方式:

方式传递内容说明
直接传递{messages, artifacts}Agent 1 直接传递完整的全局状态给 Agent 2
工具调用{tool_arg1, tool_arg2}Agent 1 使用 LLM + 工具来决定传递什么给 Agent 2

这两种方式各有优劣,直接传递简单但可能信息过载,工具调用更灵活但增加了复杂性。


5.6 Agent 间响应返回 (Inter-Agent Response Return)

Agent 间响应返回

说明: 展示了 Agent 1 调用 Agent 2 后,可以获取的两种响应方式:

方式返回内容说明
完整返回Tool Call + Tool Response + Final ResponseAgent 2 的完整思考过程和最终响应都返回给 Agent 1
仅最终结果Final Response only只返回 Agent 2 的最终响应,隐藏中间过程

选择哪种方式取决于是否需要 Agent 1 理解 Agent 2 的推理过程。


6. Agent 核心循环

6.1 Agent 循环图 (Agent Loop Diagram)

Agent 循环图

说明: 这是 LangGraph Agent 的核心循环模式:

  • request:用户请求输入
  • model:LLM 模型节点,处理请求并决策
  • tools:工具调用节点,执行具体操作后返回 model
  • result:最终结果输出

虚线表示条件边:model 可以选择调用 tools(循环)或直接输出 result(结束)。这是 ReAct (Reasoning + Acting) 模式的可视化表达。


6.2 中间件钩子系统 (Middleware Hooks System)

中间件钩子系统

说明: 这是 LangGraph 1.0 引入的中间件钩子系统,允许在 Agent 执行的各个阶段插入自定义逻辑:

  • before_agent:Agent 开始前执行
  • before_model:模型调用前执行
  • wrap_model_call:包装模型调用(可修改输入/输出)
  • wrap_tool_call:包装工具调用(可修改输入/输出)
  • after_model:模型调用后执行
  • after_agent:Agent 结束后执行

这种钩子机制提供了强大的扩展能力,可用于日志记录、监控、缓存、权限控制等场景。


6.3 Agent-Tool 架构 (Agent-Tool Architecture)

Agent-Tool 架构

说明: 这是 ReAct 模式的标准架构图,展示了 Agent 的决策流程:

  • input:用户输入
  • model:LLM 决策节点(菱形表示决策点)
  • action → tools → observation:执行动作 → 调用工具 → 获取观察结果(循环)
  • finish → output:完成任务 → 输出结果

这是 LangGraph 中最基础也是最重要的架构模式,几乎所有 Agent 都基于此模式扩展。


7. 高级模式

7.1 并行执行模式 (Parallelization Pattern)

并行执行模式

说明: 展示了 LangGraph 的并行执行能力:

  • a:起始节点
  • b, c:并行执行的节点(同时运行,互不阻塞)
  • d:汇聚节点,等待 b 和 c 都完成后执行

这种模式可以显著提高执行效率,适用于独立任务的并发处理,如同时调用多个 API、并行搜索等场景。


7.2 多 Agent 网络协作 (Multi-Agent Network Collaboration)

多 Agent 网络协作

说明: 这是 Network 模式的具体实现案例:

  • User:用户输入任务(如"生成阿拉斯加过去10年的平均气温图表")
  • Researcher:调用 search 工具获取数据,完成后可发送消息给 Chart Generator
  • Chart Generator:调用 code execution 工具生成图表

两个 Agent 之间通过 Message 双向通信,当任一 Agent 完成任务后返回 "FINAL ANSWER" 给用户。这种网络模式允许 Agent 间自主协调,无需中央调度。


基于 MIT 许可证发布。内容版权归作者所有。