Skip to content

Module 11:LangGraph 进阶主题

本模块将带你深入探索 LangGraph 的高级特性和实用技巧。


模块概述

在前面的模块中,我们学习了 LangGraph 的基础概念、状态管理、节点和边的使用。现在,是时候进阶了!本模块将带你深入探索 AI Agent 开发中的高级主题。

本模块涵盖 LangGraph 的高级技巧:


                    Module 11 进阶主题


   11.1 循环模式          11.2 Mermaid 可视化

    自修正循环             流程图绘制
    工具调用循环           5 种设计模式

                    11.3 MCP 集成
                    外部工具连接

    11.4 中间件           11.5 Command
    请求拦截              动态路由

为什么学习这些进阶主题?

基础概念掌握后进阶主题学习后
能写简单流程能设计复杂循环
知道如何添加工具能连接外部工具(MCP)
会画简单图能用 Mermaid 设计复杂架构
手动管理路由使用 Command 简化动态路由

章节概览

11.1 LangGraph 循环模式

核心问题:为什么有时候需要"往回走"?为什么有时候是"绕个圈"?

本节深入分析两种核心循环模式:

模式特点典型场景
自修正循环"做错了,要重做"代码生成、写作审核
工具调用循环"缺东西,去拿一下"API 调用、RAG 检索

理解这个区别,是写出优雅 LangGraph 代码的关键。


11.2 用 Mermaid 可视化工作流

核心问题:如何在写代码前先设计架构?

Mermaid 是 LangGraph 的"蓝图语言"。本节通过 5 种设计模式,教你用 Mermaid 绘制 Agent 架构:

  1. 线性流程A → B → C
  2. 条件分支if ... then ... else ...
  3. 循环结构while ... do ...
  4. 并行执行:多节点同时运行
  5. 层级结构:Supervisor 模式

学会 Mermaid,让你的架构设计和代码实现同步进行。


11.3 LangGraph 与 MCP 集成

核心问题:如何让 AI 调用外部工具?

MCP(Model Context Protocol)是 Anthropic 推出的开放协议,被称为 AI 的"USB 接口"。本节包含:

  • MCP 三种传输方式:STDIO、SSE、Streamable HTTP
  • LangGraph 集成方案:使用 langchain-mcp-adapters
  • MCP vs Skills:什么时候用哪个?
  • 实战案例:MCP 服务器配置与调用

11.4 Middleware 中间件

核心问题:如何统一处理 AI Agent 的请求?

中间件是在 Agent 执行过程中插入通用逻辑的机制。

钩子点时机典型用途
before_modelLLM 调用前注入系统提示词
after_modelLLM 调用后日志记录、结果过滤
modify_model_request修改请求动态参数调整

本节包含 13+ 种中间件场景,覆盖监控、日志、安全等需求。


11.5 Command:动态路由

核心问题:如何让节点自己决定下一步去哪?

传统 LangGraph 中,路由逻辑分散在多个地方。Command 提供了更优雅的方案:

python
# 传统方式:节点 + 条件边
def my_node(state):
    return {"result": "..."}

def route(state):
    if state["result"] == "A":
        return "node_a"
    return "node_b"

graph.add_conditional_edges("my_node", route)

# Command 方式:一体化
def my_node(state) -> Command[Literal["node_a", "node_b"]]:
    if should_go_a(state):
        return Command(update={"result": "..."}, goto="node_a")
    return Command(update={"result": "..."}, goto="node_b")

Command 是实现动态路由(Handoffs)Supervisor 模式的最佳工具。


学习建议

如果你想全面了解 LangGraph 进阶
    → 建议按顺序学习 11.1 → 11.2 → 11.3 → 11.4 → 11.5

如果你想快速上手动态路由
    → 建议先学习 11.5 Command 和 11.1 循环模式

如果你想连接外部工具
    → 建议先学习 11.4 Middleware 和 11.3 MCP

如果你想做好架构设计
    → 建议先学习 11.2 Mermaid 可视化

本模块学习目标

学完本模块后,你将能够:

  • [ ] 区分自修正循环和工具调用循环,选择正确的模式
  • [ ] 用 Mermaid 绘制和设计 LangGraph 工作流
  • [ ] 通过 MCP 协议让 Agent 调用外部工具
  • [ ] 用 Middleware 实现请求拦截、日志记录、安全过滤
  • [ ] 用 Command 实现简洁的动态路由和状态更新

前置知识

本模块假设你已经掌握:

  • LangGraph 基础概念:节点、边、状态
  • Python 类型注解:TypedDictLiteralAnnotated
  • 异步编程基础:async/await 关键字

如果对这些概念不熟悉,建议先复习前面的模块。


准备好了吗?让我们开始探索 LangGraph 的进阶世界!

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