原文:LangGraph Overview
用 LangGraph 精准掌控,设计能可靠处理复杂任务的智能体
受 Klarna、Replit、Elastic 等正在塑造智能体未来的公司信赖,LangGraph 是一款低层级编排框架与运行时,用于构建、管理和部署长时间运行、有状态的智能体。
LangGraph 层级很低,完全聚焦于智能体编排。在使用 LangGraph 之前,建议先熟悉构建智能体所需的一些组件,从 models 和 tools 开始。
文档中会常用 LangChain 组件来集成模型与工具,但使用 LangGraph 并不依赖 LangChain。若你刚接触智能体或希望有更高层抽象,建议使用 LangChain 的 agents,它们为常见的 LLM 与工具调用循环提供了现成架构。
LangGraph 专注于编排所需的基础能力:持久化执行、流式、人机协同等。
安装
pip install -U langgraph
uv add langgraph
然后创建一个简单的 Hello World 示例:
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!"}]})
核心优势
LangGraph 为任何长时间运行、有状态的工作流或智能体提供低层级支撑基础设施。LangGraph 不抽象 Prompt 或架构,主要提供以下能力:
- 生产就绪的部署:依托为有状态、长时工作流设计的可扩展基础设施,自信地部署复杂智能体系统。
- 使用 LangSmith 调试:通过可视化工具追踪执行路径、捕获状态转换、提供详细运行时指标,深入理解复杂智能体行为。
- 完整记忆:为持续推理提供短期工作记忆、跨会话长期记忆,构建有状态智能体。
- 人机协同:在任意节点检查与修改智能体状态,引入人工监督。
- 持久化执行:构建能经受故障、长时间运行并从断点恢复的智能体。
LangGraph 生态
LangGraph 可独立使用,也可与 LangChain 产品无缝集成,为开发者提供完整的智能体构建工具链。为提升 LLM 应用开发体验,可将 LangGraph 与以下组件配合使用:
LangSmith
在一处追踪请求、评估输出、监控部署。在本地用 LangGraph 做原型,再借助集成的可观测与评估能力进入生产,构建更可靠的智能体系统。
LangSmith Agent Server
为长时间运行、有状态工作流打造的部署平台,轻松部署与扩展智能体。在团队内发现、复用、配置和共享智能体,并在 Studio 中通过可视化原型快速迭代。
LangChain
提供集成与可组合组件,简化 LLM 应用开发。包含基于 LangGraph 构建的智能体抽象。
致谢
LangGraph 受 Pregel 与 Apache Beam 启发。公开接口借鉴 NetworkX。LangGraph 由 LangChain Inc(LangChain 的创造者)开发,可在不依赖 LangChain 的情况下使用。