Skip to main content
被包括 Klarna、Replit、Elastic 等在内的塑造代理未来的公司所信赖——LangGraph 是一个用于构建、管理和部署长运行、有状态代理的低级编排框架和运行时。 LangGraph 非常底层,完全专注于代理 编排。在使用 LangGraph 之前,我们建议您熟悉用于构建代理的一些组件,从 模型工具 开始。 我们将在整个文档中通常使用 LangChain 组件来集成模型和工具,但您不需要使用 LangChain 来使用 LangGraph。如果您刚开始使用代理,或者想要更高层次的抽象,我们建议您使用 LangChain 的 代理,它们为常见的 LLM 和工具调用循环提供了预构建的架构。 LangGraph 专注于代理编排的重要底层能力:持久执行、流式传输、人机交互等。

安装

npm install @langchain/langgraph @langchain/core
然后,创建一个简单的 hello world 示例:
import { StateSchema, MessagesValue, 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!" }] });
使用 LangSmith 跟踪请求、调试代理行为并评估输出。设置 LANGSMITH_TRACING=true 和您的 API 密钥以开始使用。

核心优势

LangGraph 为 任何 长运行、有状态的工作流或代理提供低级支持基础设施。LangGraph 不抽象提示或架构,并提供以下核心优势:
  • 持久执行:构建能够在故障中持久存在并可以长时间运行的代理,从中断处恢复。
  • 人机交互:通过在任何时刻检查和修改代理状态,纳入人工监督。
  • 综合记忆:创建具有短期工作记忆(用于持续推理)和跨会话长期记忆的有状态代理。
  • 使用 LangSmith 调试:通过可视化工具深入了解复杂的代理行为,这些工具可以跟踪执行路径、捕获状态转换并提供详细的运行时指标。
  • 生产级部署:使用专为处理有状态、长运行工作流的独特挑战而设计的可扩展基础设施,自信地部署复杂的代理系统。

LangGraph 生态系统

虽然 LangGraph 可以独立使用,但它也与任何 LangChain 产品无缝集成,为开发人员提供了一整套构建代理的工具。为了改进您的 LLM 应用程序开发,请将 LangGraph 与以下工具配合使用:

致谢

LangGraph 的灵感来自 PregelApache Beam。公共接口借鉴了 NetworkX。LangGraph 由 LangChain 的创建者 LangChain Inc 构建,但可以在不使用 LangChain 的情况下使用。