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 是用于模板、集成和例行自动化的无代码智能体构建器。
阅读框架、运行时和运行支架了解开源技术栈的对比。
安装
npm install @langchain/langgraph @langchain/corepnpm add @langchain/langgraph @langchain/coreyarn add @langchain/langgraph @langchain/corebun add @langchain/langgraph @langchain/core然后,创建一个简单的 Hello World 示例:
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 中通过可视化原型快速迭代。
提供集成和可组合组件,以简化 LLM 应用程序开发。包含构建在 LangGraph 之上的智能体抽象。
致谢
LangGraph 的灵感来自 Pregel 和 Apache Beam。公共接口从 NetworkX 中汲取灵感。LangGraph 由 LangChain 的创造者 LangChain Inc 构建,但可以在不使用 LangChain 的情况下独立使用。
