云计算百科
云计算领域专业知识百科平台

LangGraph 完整知识点总结-零基础小白必看,一看就懂!

LangGraph 是 LangChain 官方推出的图编排框架,用来构建带循环、分支、断点恢复、人机介入的复杂 Agent / 多智能体工作流;弥补 LangChain 原有 Chain 只能单向线性执行的短板。 一句话定位:LangChain = AI 组件库;LangGraph = Agent 状态机运行引擎。

一、核心基础概念

1. State(状态)

整个图全局唯一共享上下文,所有节点读写同一个 State,执行过程中不断更新。

  • 本质是一个 Pydantic / TypedDict 结构

  • reducer(归约函数)

    :定义字段合并规则(最核心)

  • add_messages

    :消息追加(对话历史)

  • 自定义 reducer:覆盖、合并列表、去重等逻辑

区别普通变量:节点不直接修改对象,返回增量更新字典,由 reducer 合并到全局状态。

from typing import Annotated, Sequencefrom langchain_core.messages import BaseMessageimport operatorclass State(TypedDict): messages: Annotated[Sequence[BaseMessage], operator.add]

operator.add = 追加策略,对应 Java 版 Spring‑AI‑Alibaba Graph 的 AppendStrategy。

2. Graph / StateGraph

StateGraph 是图定义构建器(DSL),负责注册节点、添加边、条件路由。

  • 内置两个特殊常量:START(入口)、END(结束)
  • 流程:定义 State → 实例化 StateGraph → add_node → add_edge /add_conditional_edges → compile ()
3. Node 节点

最小执行单元,输入 State,返回状态更新字典。 节点类型:

  • 自定义 Python 函数节点(业务逻辑)

  • LLM Node

    :调用大模型 invoke /stream

  • Tool Node

    :ToolNode 执行 function‑call

  • Human‑in‑the‑loop 人工节点

  • 子图 SubGraph(把一个完整 Graph 封装成节点)

  • 节点是纯函数风格:只依赖输入 state,输出增量更新。

    4. Edge 边(流转控制)

    两类边:

  • 普通边 add_edge(A, B)

    :执行完 A,无条件走到 B

  • 条件边 add_conditional_edges

    :执行完节点后,运行路由函数,根据当前 state 返回下一个节点名称,实现 if‑else、循环判断。

  • 典型路由逻辑:

    LLM 输出是否需要调用工具 → 需要走 ToolNode,不需要走 END

    5. CompiledGraph(编译后的可执行对象)

    调用 graph.compile() 得到运行实例:

    • invoke()

      :一次性完整执行,返回最终 state

    • stream()

      :流式逐节点返回事件,可拿到每一步消息、工具调用,前端做 Agent 思考过程展示

    • astream()

      异步流式(生产高并发常用)

    二、三大核心高级能力(LangGraph 标志性特性)

    1. Checkpointer 检查点 / 持久化快照

    每走完一个节点,自动保存一份完整 State 快照。

    • 内存:MemorySaver()(本地调试)
    • 生产持久化:SqliteSaver / PostgresSaver / RedisSaver

    价值:

  • 断点恢复:异常中断后从快照重新跑
  • Human‑in‑the‑loop:暂停流程,人工审核后 resume
  • 历史回溯、会话隔离(thread_id 会话唯一标识)
  • thread_id:一条独立会话的唯一 id,不同对话状态互相隔离。

    2. Human‑in‑the‑Loop 人机介入

    两种实现方式:

  • interrupt_before / interrupt_after

    :在指定节点前后自动暂停,保存 checkpoint

  • 外部通过 update_state() 修改状态,再 resume 继续执行

  • 业务场景:Agent 生成方案 → 人工审批确认 → 继续执行后续流程。

    3. Subgraph 子图复用

    一个完整 CompiledGraph 可以作为一个 Node 嵌入父图,实现模块化:

    • 子图可以独立状态或者和父图状态映射转换
    • 适合多 Agent 场景:每个子图 = 一个独立子智能体

    三、经典内置组件 & 标准 Agent 范式

    1. ReAct Agent(最基础循环 Agent)

    标准流程图:START → LLM节点 → 路由判断

    • 需要工具 → ToolNode → 返回结果回到 LLM(循环)
    • 不需要工具 → END 结束

    配套内置工具节点:ToolNode + tools_condition 路由函数(LangGraph 内置封装好的判断逻辑)

    2. 预置高级 Agent 模式
  • Sequential 串行流水线

    :A→B→C,固定顺序执行

  • Parallel 并行节点

    :使用 Send 原语,并行启动多个子任务,之后结果汇聚(Map‑Reduce)

  • Supervisor 主管多智能体

    :主管 LLM 负责分发任务给多个子 Agent,收集结果迭代汇总

  • Multi‑turn RAG Agent

    :检索‑思考‑再检索循环

  • Self‑Reflection 自我反思 Agent

    :执行完成后走反思节点,判断结果是否合格,不合格重新执行

  • 3. Send 原语(动态批量任务)

    Send("子节点", 独立状态),在运行期动态生成 N 个并行任务,实现 MapReduce。

    四、流式与异步

  • stream()

    / astream_events():可以区分事件类型:on_chat_model_stream、on_tool_start、on_node_end

  • 可以在前端展示:模型打字机输出、工具调用日志、Agent 思考链路

  • 支持配置 recursion_limit 最大迭代次数,防止死循环(生产必配)

  • 五、LangGraph 完整执行生命周期

  • 传入 thread_id + 初始 state
  • 从 START 开始执行 Node
  • 节点返回增量更新 → reducer 合并全局 state
  • 保存 checkpoint 快照
  • 条件边路由,跳转下一节点;遇到 interrupt 暂停
  • 循环直到命中 END
  • 返回最终完整状态
  • 六、LangGraph 生态周边

  • LangGraph Studio

    :可视化调试 IDE,查看状态流转、断点调试

  • LangGraph Cloud

    :云端部署托管服务,支持 API 调用、持久存储、监控

  • langgraph‑checkpoint‑*

    :各种持久化存储驱动

  • LangGraph SDK:提供后端服务接口,对外提供 Agent HTTP 服务

  • 七、横向对比(面试高频)

    LangGraph vs LangChain Chain
    • Chain:单向线性,不能循环,没有原生状态快照、没有断点恢复
    • LangGraph:状态机,支持循环、分支、人工介入、持久化会话,适合复杂长流程 Agent
    LangGraph(Python) VS Spring‑AI‑Alibaba Graph(Java) VS LangChain4j

    表格

    特性LangGraph(Python)Spring‑AI‑Alibaba GraphLangChain4j
    语言 Python Java Java
    状态合并 TypedDict + reducer OverAllState + KeyStrategy ChatMemory(无状态图)
    Checkpointer 原生完善 原生支持 无原生
    Human‑in‑the‑loop 成熟 支持
    子图 & 并行 Send Send 原语 子图,并行节点 无原生编排
    生态 LangChain 完整组件 复用 Spring AI 底层 AiServices 高层 API
    适用场景 Python 复杂 Agent 原型 / 业务 Java 微服务生产 Agent 简单 Java 对话、工具调用
    LangGraph vs AutoGPT / CrewAI
    • LangGraph = 底层编排引擎,灵活可控,自己定义每一步逻辑
    • CrewAI = 高层多 Agent 框架,基于 LangGraph 封装,开箱即用团队协作 Agent

    八、生产踩坑 & 最佳实践

  • Reducer 函数一定要定义

    :不指定合并策略会直接覆盖消息,丢失对话历史

  • recursion_limit

    设置合理上限,避免死循环耗尽 token 与费用

  • 生产必须替换内存 Checkpointer 为持久化数据库,绑定唯一 thread_id 管理会话

  • Interrupt 暂停后,修改状态优先使用 update_state,不要直接篡改快照

  • 子图尽量做状态隔离,避免父图字段冲突

  • 流式输出区分不同事件类型,前端做精细化展示

  • 大并发场景优先使用异步 astream,避免阻塞

  • 九、高频面试题汇总

  • State 和 reducer 的作用是什么?operator.add 含义?

    State 是全局上下文;reducer 定义字段合并策略;operator.add 实现消息追加而不是覆盖。

  • Checkpointer 和 thread_id 的作用?

    Checkpointer 保存每一步快照;thread_id 标识一条独立会话,用来断点恢复、人机暂停恢复。

  • Human‑in‑the‑loop 原理是什么?

    执行到 interrupt 节点暂停,保存 checkpoint;外部更新状态后基于快照继续执行。

  • 什么是 Send 原语?Map‑Reduce 如何实现?

    运行时动态生成多个独立任务并行执行,最后汇聚结果。

  • ReAct Agent 在 LangGraph 的执行流程?

    LLM 推理 → 条件路由判断是否调用工具 → ToolNode 执行工具 → 结果回传给 LLM 循环,直到无需工具结束。

  • LangGraph 和普通 LangChain Chain 的区别?

    Chain 只能单向线性执行;LangGraph 是状态机,支持循环、分支、断点恢复、人工介入,适合复杂 Agent。

  • SubGraph 是什么?使用场景?

    一个完整图封装成节点,实现 Agent 模块化、多智能体复用。

  • 学AI大模型的正确顺序,千万不要搞错了

    🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

    有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

    就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

    在这里插入图片描述

    📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

    学习路线:

    ✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析 ✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑 ✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操 ✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用 ✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代 ✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

    以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

    我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

    这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

    在这里插入图片描述

    本文转载,如有侵权,请联系删除。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » LangGraph 完整知识点总结-零基础小白必看,一看就懂!
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!