Skip to content

作为塑造智能体未来的公司(包括 Klarna、Uber、J.P. Morgan 等)所信赖的选择,LangGraph 是一个用于构建、管理和部署长期运行、有状态智能体的底层编排框架与运行时。LangGraph 让您在同一个图中以细粒度控制混合确定性的手写步骤与 LLM 驱动的智能体步骤,从而构建行为完全符合您应用程序需求的定制智能体。

LangGraph 非常底层,完全专注于智能体编排。在使用 LangGraph 之前,我们建议您先熟悉用于构建智能体的部分组件,从模型工具开始。

在整个文档中,我们将普遍使用 LangChain 组件来集成模型和工具,但您无需使用 LangChain 也能使用 LangGraph。如果您刚开始接触智能体,或者想要更高级别的抽象,我们建议您使用 LangChain 的智能体,它为常见的 LLM 和工具调用循环提供了预构建的架构。

LangGraph 专注于对智能体编排至关重要的底层能力:持久化执行、流式输出、人在回路等。

LangGraph 的核心优势之一是在单个图中混合确定性步骤与 LLM 驱动的智能体步骤的能力。这让您可以构建定制工作流:部分逻辑完全可预测、可审计,而其他部分灵活且由模型驱动,从而对 AI 应用的确切位置和方式实现细粒度控制。

  • Deep Agents智能体框架:在 LangGraph 之上提供规划、子智能体、文件系统工具和上下文管理。
  • LangChain 是智能体框架:为模型、工具和智能体循环提供抽象与集成。
  • LangGraph 是编排运行时:持久化执行、流式输出、人在回路和持久化。
  • LangSmith 是用于跨框架进行追踪、评估、提示词和部署的平台。
  • LangSmith Engine 检测您的 LangGraph 智能体追踪中的问题并提出修复建议。您可以直接从 Engine 标签页发起包含修复建议的 pull request。
  • LangSmith Fleet 是用于模板、集成和日常自动化的无代码智能体构建器。

如需对比开源技术栈,请阅读框架、运行时与智能体框架

安装

bash
pip install -U langgraph
bash
uv add langgraph
bash
npm install @langchain/langgraph @langchain/core
bash
pnpm add @langchain/langgraph @langchain/core
bash
yarn add @langchain/langgraph @langchain/core
bash
bun add @langchain/langgraph @langchain/core

然后,创建一个简单的 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!"}]})
typescript
import { StateSchema, MessagesValue, type GraphNode, StateGraph, START, END } from "@langchain/langgraph";

const State = new StateSchema({
  messages: MessagesValue,
});

const mockLlm: GraphNode<typeof State> = (state) => {
  return { messages: [{ role: "ai", content: "hello world" }] };
};

const graph = new StateGraph(State)
  .addNode("mock_llm", mockLlm)
  .addEdge(START, "mock_llm")
  .addEdge("mock_llm", END)
  .compile();

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

TIP

使用 LangSmith 追踪请求、调试智能体行为并评估输出。设置 LANGSMITH_TRACING=true 和您的 API key 即可开始。按照追踪快速入门完成设置。我们还建议您同时设置 LangSmith Engine,它能够监控您的追踪、检测问题并提出修复建议。

核心优势

LangGraph 为任何长期运行、有状态的工作流或智能体提供底层支撑基础设施。LangGraph 不抽象提示词或架构,并提供了以下核心优势:

  • 混合确定性步骤与智能体步骤:在单个图中结合手写确定性逻辑与 LLM 驱动的决策。在需要可靠性和可预测性的地方使用确定性步骤,在需要灵活性的地方使用智能体步骤——让您对智能体行为的每一个部分都能精确控制。
  • 持久化:构建能够在故障中保持存续、长时间运行并从上次中断处恢复的智能体。
  • 人在回路:通过随时检查和修改智能体状态来纳入人工监督。
  • 全面的记忆:创建有状态智能体,既具备用于持续推理的短期工作记忆,也具备跨会话的长期记忆。
  • 使用 LangSmith 调试:借助可视化工具深入了解复杂智能体行为,这些工具可以追踪执行路径、捕获状态转换并提供详细的运行时指标。
  • 生产级部署:借助专为应对有状态、长期运行工作流的独特挑战而设计的可扩展基础设施,放心地部署复杂的智能体系统。

LangGraph 生态系统

虽然 LangGraph 可以独立使用,但它也能与任何 LangChain 产品无缝集成,为开发者提供一套完整的智能体构建工具。要改进您的 LLM 应用程序开发,请将 LangGraph 与以下产品搭配使用:

  • LangSmith Observability — 在一个地方追踪请求、评估输出并监控部署。在本地使用 LangGraph 进行原型开发,然后借助集成的可观测性与评估进入生产环境,从而构建更可靠的智能体系统。

  • LangSmith Deployment — 借助为长期运行、有状态工作流专门构建的部署平台,轻松部署和扩展智能体。跨团队发现、复用、配置和共享智能体——并在 Studio 中通过可视化原型快速迭代。

  • LangChain — 提供集成和可组合组件,以简化 LLM 应用程序开发。包含构建在 LangGraph 之上的智能体抽象。

致谢

LangGraph 的灵感来自 PregelApache Beam。其公开接口的灵感来自 NetworkX。LangGraph 由 LangChain Inc 构建,该公司也是 LangChain 的创造者,但 LangGraph 也可以在不使用 LangChain 的情况下使用。