跳转到内容

LangGraph 项目介绍

LangGraph 项目介绍

项目定位

LangGraph 是一个低级状态图编排框架,将 Agent 的执行流程建模为有向图,支持 Durable Execution(持久化执行)、Human-in-the-loop(人机协作)和流式输出。

核心能力

  • StateGraph 状态图 — 通过定义节点、边、条件分支和共享状态,构建任意复杂的多步工作流
  • Durable Execution — 基于 Checkpoint 系统实现故障恢复和时间旅行,Agent 可以从任意检查点恢复
  • Human-in-the-loopinterrupt() 机制在执行中途暂停,等待人类审核或注入数据后继续
  • Functional API — 通过 @entrypoint@task 装饰器以函数式风格定义工作流,无需显式建图
  • 流式输出 — 支持 updates、values、messages、custom 等多种流模式,实时反馈 Agent 状态
  • 子图组合 — 将图编译为子图嵌套进父图,实现模块化编排和多 Agent 协作
  • CLI + Serverlanggraph-cli 提供本地开发服务器,配合 LangSmith 平台进行调试与部署

技术栈

维度技术
语言Python 3.10+
核心引擎Pregel 执行模型(灵感来自 Google Pregel 和 Apache Beam)
状态 SchemaTypedDict / Pydantic BaseModel
Checkpoint 后端内存(InMemorySaver)、SQLite、PostgreSQL(可插拔)
依赖langchain-core(消息类型)、xxhash(checkpoint 哈希)
测试pytest + asyncio
包管理uv + pyproject.toml,monorepo 结构

架构概览

Monorepo 结构

LangGraph 是一个 monorepo,libs/ 目录下包含多个独立的 Python 和 JavaScript 包:

职责
checkpointCheckpoint 基础接口(BaseCheckpointSaver)
checkpoint-sqliteSQLite 持久化实现
checkpoint-postgresPostgreSQL 持久化实现
langgraph核心框架:StateGraph、Pregel、Channel、Functional API
prebuilt高层封装:create_react_agent、ToolNode、Interrupt 封装
cli命令行工具与本地开发服务器
sdk-pyLangGraph Server REST API 的 Python 客户端
sdk-jsLangGraph Server REST API 的 JS/TS 客户端

快速体验

Terminal window
pip install langgraph
from typing import Annotated
from typing_extensions import TypedDict
from langgraph.graph import StateGraph, START, END
from langgraph.graph.message import add_messages
class State(TypedDict):
messages: Annotated[list, add_messages]
def chatbot(state):
return {"messages": "你好!有什么可以帮你的?"}
graph = StateGraph(state_schema=State)
graph.add_node("chatbot", chatbot)
graph.add_edge(START, "chatbot")
graph.add_edge("chatbot", END)
app = graph.compile()
result = app.invoke({"messages": ["你好"]})

教程导读

LangGraph 教程分为两个方向:

AI 应用教程(ai/)

从 AI 应用开发者视角,聚焦如何使用 LangGraph 构建 Agent 应用:

  • [01] 基于 StateGraph 的状态图 Agent 设计 — 引用 StateGraph Agent 循环
  • [02] Checkpoint 系统与 Durable Execution — 引用 Agent 状态序列化
  • [03] Human-in-the-loop 中断与审核 — 首次覆盖
  • [04] Functional API:以函数式风格定义工作流 — 首次覆盖
  • [05] 子图组合与多 Agent 编排 — 引用 多 Agent 路由
  • [06] 流式输出与实时状态反馈 — 引用 流式传输架构
  • [07] Channel 设计与状态更新语义 — 首次覆盖
  • [08] 预构建 Agent 与 ToolNode 集成 — 引用 工具调用协议

Dev 开发教程(dev/)

从框架开发者视角,聚焦 LangGraph 自身的工程实践:

  • [01] Monorepo 架构与多包依赖管理
  • [02] Pregel 执行引擎的核心实现
  • [03] Channel 系统的协议设计与扩展
  • [04] Checkpoint 接口抽象与后端可插拔
  • [05] 错误处理、重试与超时策略
  • [06] 测试策略:从单元测试到大规模集成测试
  • [07] CLI 工具与本地开发服务器