内容纲要
一、核心定位
LangGraph 是面向 Agent 的低层级编排框架与运行时,用于构建、管理和部署长时间运行、有状态的智能体,帮助设计能可靠处理复杂任务的 Agent。
| 维度 | 说明 |
|---|---|
| 定位 | 专注 Agent 编排(Orchestration),不抽象 Prompt 或架构 |
| 层级 | 低层级,需先了解 models、tools 等基础组件 |
| 独立性 | 可不依赖 LangChain 使用,但文档中常用 LangChain 集成模型与工具 |
| 适用对象 | 需要精细控制编排逻辑的开发者;入门或追求高层抽象可优先用 LangChain 的 agents |
二、核心能力
| 能力 | 说明 |
|---|---|
| Durable execution(持久化执行) | 故障后可恢复,支持长时间运行,从断点继续 |
| Human-in-the-loop(人机协同) | 在任意节点检查、修改 Agent 状态,引入人工审核 |
| Comprehensive memory(完整记忆) | 短期工作记忆 + 跨会话长期记忆,支持有状态 Agent |
| LangSmith 调试 | 可视化执行路径、状态流转与运行时指标 |
| 生产部署 | 面向有状态、长时工作流的可扩展部署能力 |
三、生态与安装
安装
pip install -U langgraph
生态组件
- LangSmith:追踪请求、评估输出、监控部署
- LangSmith Agent Server:长时、有状态工作流的部署与扩展平台
- LangChain:模型与工具集成,高层 Agent 抽象基于 LangGraph 构建
四、快速示例
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!"}]})
五、设计渊源
- 受 Pregel、Apache Beam 启发
- 公开接口参考 NetworkX
- 由 LangChain Inc 开发,可独立于 LangChain 使用