Skip to content

LangGraph 概览 ​

借助 LangGraph 掌控设计能够可靠处理复杂任务的智能体

深受塑造智能体未来的企业(包括 Klarna、Uber、J.P. Morgan 等)信赖,LangGraph 是一个用于构建、管理和部署长生命周期、有状态智能体的底层编排框架和运行时。LangGraph 为你提供细粒度控制,可以在同一个图中将确定性的手写步骤与 LLM 驱动的智能体步骤混合在一起,从而构建出完全契合应用程序所需行为的定制化智能体。

LangGraph 非常底层,完全专注于智能体编排(orchestration)。在使用 LangGraph 之前,建议你熟悉构建智能体所用的一些组件,首先是模型和工具。

我们在整篇文档中通常会使用 LangChain 组件来集成模型和工具,但使用 LangGraph 并不强制需要 LangChain。如果你刚刚开始接触智能体或想要更高层次的抽象,建议使用 LangChain 的智能体(agents),它们为常见的 LLM 与工具调用循环提供了预构建架构。

LangGraph 专注于对智能体编排至关重要的底层能力:持久化执行、流式传输、人机协同等。

LangGraph 的核心优势之一是能够在单个图中混合确定性步骤与 LLM 驱动的智能体步骤。这使你能够构建定制化工作流,其中部分逻辑完全可预测且可审计,而其他部分灵活且由模型驱动,从而让你能够精确控制在何处以及如何应用 AI。

LangChain 产品如何协同工作

  • Deep Agents 是一个智能体运行支架(agent harness):在 LangGraph 之上提供任务规划、子代理、文件系统工具和上下文管理。
  • LangChain 是智能体框架:为模型、工具和智能体循环提供抽象与集成。
  • LangGraph 是编排运行时:持久化执行、流式传输、人机协同和持久化存储。
  • LangSmith 是用于跨框架跟踪、评估、提示词和部署的平台。
  • LangSmith Engine 可检测 LangGraph 智能体跟踪中的问题并提出修复建议。你可以直接从 Engine 选项卡打开带有建议修复的拉取请求(PR)。
  • LangSmith Fleet 是用于模板、集成和例行自动化的无代码智能体构建器。

阅读框架、运行时和运行支架了解开源技术栈的对比。

安装 ​

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 示例:

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 密钥即可开始。按照跟踪快速入门进行设置。我们还建议你设置 LangSmith Engine,它可以监控你的跟踪、检测问题并提出修复建议。

核心优势 ​

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

  • 混合确定性与智能体步骤:在单个图中结合手写的确定性逻辑与 LLM 驱动的决策。在需要可靠性和可预测性的地方使用确定性步骤,在需要灵活性处使用智能体步骤——从而精细控制智能体行为的每个部分。
  • 持久化(Persistence):构建在发生故障时仍能持久留存并能长时间运行的智能体,可从中断处继续执行。
  • 人机协同(Human-in-the-loop):通过在任何时刻检查和修改智能体状态来引入人工监督。
  • 全方位记忆(Comprehensive memory):创建具有短期工作记忆(用于持续推理)和跨会话长期记忆的有状态智能体。
  • 使用 LangSmith 调试(Debugging with LangSmith):借助可视化工具深入观察复杂的智能体行为,这些工具可以跟踪执行路径、捕获状态转换并提供详细的运行时指标。
  • 生产就绪的部署(Production-ready deployment):凭借专为处理有状态、长生命周期工作流独特挑战而设计的可扩展基础设施,自信地部署复杂的智能体系统。

LangGraph 生态系统 ​

虽然 LangGraph 可以独立使用,但它也与任何 LangChain 产品无缝集成,为开发人员提供用于构建智能体的全套工具。要提升你的 LLM 应用程序开发,请将 LangGraph 与以下产品搭配使用:

LangSmith 可观测性(LangSmith Observability)

在一个地方跟踪请求、评估输出并监控部署。使用 LangGraph 在本地构建原型,然后借助集成的可观测性和评估功能进入生产环境,以构建更可靠的智能体系统。

LangSmith 部署(LangSmith Deployment)

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

LangChain

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

致谢 ​

LangGraph 的灵感来自 Pregel 和 Apache Beam。公共接口从 NetworkX 中汲取灵感。LangGraph 由 LangChain 的创造者 LangChain Inc 构建,但可以在不使用 LangChain 的情况下独立使用。