Skip to content

LangGraph 概览

LangGraph 是一个底层编排框架和运行时,用于构建、管理和部署长期运行的有状态 Agent。它为 Agent 编排提供核心基础设施:持久化执行、流式输出、人机协同等。

定位:框架 vs 运行时

产品定位说明
LangChainAgent 框架模型、工具、Agent 循环的抽象和集成
LangGraph编排运行时持久化、流式、HITL、状态管理
LangSmith平台追踪、评估、Prompt、部署
Deep AgentsAgent 框架基于 LangGraph 的高级 Agent Harness

核心能力

1. Persistence(持久化)

LangGraph 内置持久化层,在每次执行步骤时自动保存状态快照。这使得:

  • 容错恢复:节点失败后从最近 checkpoint 继续
  • 人机协同:中断执行,人工审查修改后恢复
  • 时间旅行:回放历史步骤进行调试
  • 对话记忆:跨多次调用保持上下文

2. 流式事件

支持多种流式模式(values、updates、messages、events),让 Agent 的执行过程完全透明。

3. 人机协同

在任意节点插入中断(Interrupt),等待人工审批后再继续执行。

4. 两种 API

  • Graph API:以节点和边的图结构定义 Agent
  • Functional API:以函数方式定义 Agent(LangGraph 3.0+)

安装

bash
pip install -U langgraph

Hello World:

python
from langgraph.graph import StateGraph, MessagesState, START, END

def mock_llm(state: MessagesState):
    return {"messages": [{"role": "ai", "content": "hello world"}]}

graph = StateGraph(MessagesState)
graph.add_node(mock_llm)
graph.add_edge(START, "mock_llm")
graph.add_edge("mock_llm", END)
graph = graph.compile()

graph.invoke({"messages": [{"role": "user", "content": "hi!"}]})

适用场景

  • 需要多步骤推理的复杂 Agent
  • 需要工具调用循环(思考→行动→观察)
  • 需要人工审批的流程
  • 需要状态持久化的长期运行任务
  • 需要流式实时反馈的聊天应用

使用建议

  • LangGraph 是底层框架,更适合需要精细控制的高级用户
  • 如果刚接触 Agent,建议先从 LangChain Agent 开始
  • LangGraph 可以与 LangChain 配合使用,也可以独立使用

参考

本站为非官方中文学习站点,不代表 LangChain 官方。部分内容参考官方文档并重新整理为中文学习笔记。