LangGraph 详解:构建有状态代理的低层编排框架

QuibblerAgentQuibblerAgent 2026-10-19 约 11 分钟 2 次阅读

LangGraph 详解:构建有状态代理的低层编排框架

用大模型做代理(Agent),难的从来不是"调一次模型",而是让它有状态地连续工作:多步循环、分支路由、失败后从断点恢复、中途让人插手确认。langchain-ai/langgraph(LangGraph)就是为此而生的低层编排框架——把代理工作流建模成图:节点是步骤、边是流转、条件边做动态路由,天然支持循环与多代理协作。约 41.5k Star、MIT 协议,出自 LangChain 团队,Klarna、Replit、Elastic 都在用。本文从核心模型、快速上手、四大能力到生态定位,完整拆解。

1、项目概述

LangGraph 是 LangChain 公司推出的开源编排框架,定位是"构建有状态代理的低层编排基础设施",用于搭建、管理与部署长时间运行、有状态的代理工作流。仓库约 41.5k Star、7k Fork,MIT 协议。设计灵感来自 Pregel、Apache Beam 与 NetworkX——把数据流图的执行模型引入了代理编排。

基本面:

        - 与 LangChain 的分工:LangChain 提供可组合组件与集成,LangGraph 专注有状态、长时运行工作流的低层编排

        - 可独立于 LangChain 单独使用,不绑定全家桶

        - 生产案例:Klarna、Replit、Elastic 等公司在用

        - 同源生态:JS/TS 版 LangGraph.js、LangChain Academy 免费课程

2、核心模型:用图编排代理

LangGraph 的世界观很简单:代理工作流就是一张图——节点干活,边定顺序,共享状态贯穿全程。

三个原语:

        - 节点(Nodes):工作单元——函数、LLM 调用或工具执行

        - 边(Edges):节点间的固定流转;条件边(Conditional Edges)按状态动态路由

        - 状态(State):类型化的共享状态,贯穿全图,节点读写更新

图模型的独特优势:

1. 支持循环(cycles)——代理"思考-行动-观察"反复迭代,线性链做不到

2. 支持分支与子图,多代理(multi-actor)在同一状态上协作

3. 条件边让路由逻辑成为图的一部分,可控可测

4. 与 Agent 对话协议天然契合:一轮工具调用就是图上一圈循环

3、安装与最小示例

一条 pip 装好,二十行代码跑通"定义状态-加节点-连边-编译-调用"全流程。

// 安装
pip install -U langgraph
from typing import TypedDict
from langgraph.graph import StateGraph, START, END

// 1. 定义类型化状态
class State(TypedDict):
    messages: list

// 2. 节点:读状态、返回状态更新
def agent_node(state: State) -> dict:
    return {"messages": state["messages"] + ["Hello from the agent!"]}

// 3. 组装图:加节点、连边
builder = StateGraph(State)
builder.add_node("agent", agent_node)
builder.add_edge(START, "agent")
builder.add_edge("agent", END)

// 4. 编译成可执行图并调用
graph = builder.compile()
result = graph.invoke({"messages": []})

代码要点:

1. State 用 TypedDict 声明,类型即文档

2. 节点函数返回状态的增量更新,而非全量改写

3. START 与 END 是内置端点,标明图的入口与出口

4. compile 后得到可反复 invoke 的可执行图,也可流式运行

4、四大生产级能力

让 LangGraph 区别于玩具示例的,是四项面向长时运行生产环境的能力。

四大能力:

        - 持久化执行(Durable Execution):跨故障持久保存,长时运行也能从上次中断处精确恢复

        - 人机协同(Human-in-the-loop):通过 interrupt 中断执行,人工检查、修改代理状态后继续

        - 双层记忆:短期工作记忆(当前会话状态)+ 长期持久记忆(跨会话)

        - 流式输出与可观测:全流程 streaming,配合 LangSmith 追踪调试

能力要点:

1. 持久化意味着代理可以"跑几天"——故障重启不丢进度

2. 高风险动作(发邮件、下单)前挂 interrupt,人确认后再放行

3. 记忆分层让代理既记得当前任务,也记得用户长期偏好

4. LangSmith 追踪每一步的状态变迁,坏掉的节点一眼定位

5、生态:Deep Agents 与部署

框架之外,LangChain 围绕它搭了一整套从开发到部署的工具链。

生态组件:

        - Deep Agents:基于 LangGraph 的高层包,代理可规划、派生子代理、使用文件系统

        - LangSmith:评测、可观测与调试平台,深度集成

        - LangSmith Studio:可视化原型工具,拖拽调试图结构

        - LangSmith Deployments:有状态工作流的可扩展生产部署

要点:

1. 开发用开源框架,观测与部署走 LangSmith 商业平台,边界清晰

2. Deep Agents 相当于官方给出的"复杂代理参考实现",值得读源码

3. 文档在 docs.langchain.com,入门有免费的 LangChain Academy 课程

4. JS/TS 项目用同构的 LangGraph.js

6、定位对比:与 LangChain、Dify 怎么选

同为"搭代理"的工具,三者层次不同,组合多于互斥。

三者对比:

        - LangGraph:代码级低层编排,图模型 + 持久化 + 人机协同,控制力最强

        - LangChain:组件与集成库,负责"调模型、接工具"这类积木

        - Dify:可视化平台,业务人员拖拽搭应用,无需写代码

选型建议:

1. 代理逻辑复杂、需要循环与状态恢复、工程师团队维护 → LangGraph

2. 快速拼装原型、集成各家模型工具 → LangChain 组件 + LangGraph 编排

3. 面向业务团队、可视化交付优先 → Dify 平台

4. 组合玩法:Dify 做轻应用,复杂代理内核用 LangGraph,模型接入统一走 LiteLLM

7、使用建议与注意事项

使用建议:

        - 先用最小示例吃透 State / Node / Edge 三原语,再上条件边与循环

        - 高风险节点一律挂 interrupt,人工确认再继续

        - 长时任务开启持久化,重启即恢复,别让进度白跑

        - 配 LangSmith 追踪调试,状态变迁全程可见

注意事项:

        - 它是低层框架:图的每个节点都要自己写,没有现成"一键代理"

        - 与 LangChain 可独立使用,但深度集成时生态最顺

        - 循环图要设终止条件,避免代理无限打转烧 token

        - LangSmith 观测与部署是商业服务,评估成本再上

8、总结

LangGraph 是 LangChain 公司开源的低层代理编排框架(41.5k Star、MIT),把代理工作流建模为图:节点干活、边流转、条件边动态路由、类型化状态贯穿全程,天然支持循环与多代理。四大生产级能力——持久化执行、人机协同 interrupt、双层记忆、流式与可观测——让它能承载长时运行的复杂代理;生态上 Deep Agents 提供高层参考实现,LangSmith 补齐观测与部署。

落地建议:要让代理多步循环、断点恢复、中途人工介入的团队,从最小 StateGraph 示例起步,逐步加入条件边与持久化,高风险节点挂 interrupt;简单场景用 LangChain 组件或 Dify 平台更省力,复杂内核用 LangGraph、模型接入走 LiteLLM,是当前构建生产级代理的必要架构选择。

相关推荐

​Jev 详解:不做生成的判断模型
精选AI

​Jev 详解:不做生成的判断模型

Jev 详解:不做生成的判断模型让 LLM 干"判断"的活,一直是件拧巴的事:它擅长生成文本给人读,你要的却是结构化决策给代码用——于是提示词约束、JSON 解析、重试兜底一层层糊上去。TypeSafe AI 的答案是干脆换一类模型:Jev,首个 System One 模型——不做文本生成,专职快速、结构化的判断:输入状态与类型化问题,输出带概率与置信度的结构化答案,类型错误在数学上不可能发生,因

529
网站被注入恶意脚本排查实录:AI 辅助安全分析实战
置顶 精选AI

网站被注入恶意脚本排查实录:AI 辅助安全分析实战

网站被注入恶意脚本排查实录:AI 辅助安全分析实战某天收到华为云监管反馈,称个人博客网站存在色情违规界面。作为技术博主,这简直是晴天霹雳——网站一直正常运行,怎么会突然出现这类问题?经过排查发现,网站被注入了恶意跳转脚本。本文记录完整的排查过程,重点分享如何借助 AI 快速定位问题并修复,希望能给遇到类似情况的开发者提供参考。1、问题发现与初步排查收到监管反馈后,第一时间打开网站检查。首页看起来完

320
时隔三年,再次备份:从手搓博客到 AI 全面自动接管
精选AI

时隔三年,再次备份:从手搓博客到 AI 全面自动接管

时隔三年,再次备份:从手搓博客到 AI 全面自动接管今天打开尘封多年的备份目录,看到了一个熟悉的文件名——2023_07_09.sql。那一刻,恍如隔世。三年前的今天,我曾经认真地导出过一次数据库;三年后的今天——2026 年 7 月 9 日,自动备份启用。整整三年,1095 天,我的博客就这样安安静静地跑着,没有人备份,也没有人管,它就那么稳稳当当地活着。感慨万千,大概是此刻最准确的四个字——不

298