主题
LangGraph 概览
借助 LangGraph 获得控制力,设计能够可靠处理复杂任务的智能体
LangGraph 受到塑造智能体未来的公司的信赖——包括 Klarna、Uber、J.P. Morgan 等——它是一个低层编排框架和运行时,用于构建、管理和部署长时间运行、有状态的智能体。LangGraph 为你提供细粒度控制,让你可以在同一张图中混合确定性的手写步骤与 LLM 驱动的智能体步骤,从而构建行为完全符合你应用需求的定制智能体。
LangGraph 非常底层,且完全专注于智能体编排。在使用 LangGraph 之前,我们建议你先熟悉一些用于构建智能体的组件,从模型和工具开始。
在整篇文档中,我们通常会使用 LangChain 组件来集成模型和工具,但使用 LangGraph 并不需要使用 LangChain。如果你刚开始接触智能体,或者想要更高层的抽象,我们建议你使用 LangChain 的智能体,它们为常见的 LLM 和工具调用循环提供了预构建架构。
LangGraph 专注于对智能体编排很重要的底层能力:持久化执行、流式传输、人在回路等。
LangGraph 的核心优势之一是能够在单张图中混合确定性步骤与 LLM 驱动的智能体步骤。这让你能够构建定制工作流,其中部分逻辑完全可预测、可审计,而其他部分则灵活且由模型驱动,从而让你对 AI 的应用位置和方式拥有细粒度控制。
LangChain 各产品如何协同工作
- Deep Agents 是一个智能体 harness:在 LangGraph 之上提供规划、子智能体、文件系统工具和上下文管理。
- LangChain 是智能体框架:为模型、工具和智能体循环提供抽象与集成。
- LangGraph 是编排运行时:持久化执行、流式传输、人在回路和持久化。
- LangSmith 是跨框架进行追踪、评估、提示词和部署的平台。
- LangSmith Engine 会检测你的 LangGraph 智能体追踪中的问题并提出修复方案。你可以直接从 Engine 选项卡用建议的修复方案发起一个拉取请求。
- LangSmith Fleet 是用于模板、集成和例行自动化的无代码智能体构建器。
阅读框架、运行时和 harness以了解开源技术栈的对比。
安装
bash
pip install -U langgraphbash
uv add langgraph然后,创建一个简单的 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!"}]})TIP
使用 LangSmith 来追踪请求、调试智能体行为和评估输出。设置 LANGSMITH_TRACING=true 和你的 API 密钥即可开始。按照追踪快速入门进行设置。我们还建议你设置 LangSmith Engine,它会监控你的追踪、检测问题并提出修复方案。
核心优势
LangGraph 为任何长时间运行、有状态的工作流或智能体提供底层支撑基础设施。LangGraph 不抽象提示词或架构,并提供以下核心优势:
- 混合确定性与智能体步骤:在单张图中将手写的确定性逻辑与 LLM 驱动的决策相结合。在你需要可靠性和可预测性的地方使用确定性步骤,在你需要灵活性的地方使用智能体步骤——让你能够精确控制智能体行为的每一部分。
- 持久化:构建能够从故障中恢复并可长时间运行的智能体,从中断处恢复。
- 人在回路:通过在执行过程中的任意时刻检查并修改智能体状态,纳入人工监督。
- 全面的记忆:创建有状态的智能体,既具备用于持续推理的短期工作记忆,也具备跨会话的长期记忆。
- 使用 LangSmith 调试:借助可视化工具深入洞察复杂的智能体行为,这些工具可追踪执行路径、捕获状态转换并提供详细的运行时指标。
- 面向生产的部署:利用专为应对有状态、长时间运行工作流的独特挑战而设计的可扩展基础设施,自信地部署复杂的智能体系统。
LangGraph 生态系统
虽然 LangGraph 可以独立使用,但它也能与任何 LangChain 产品无缝集成,为开发者提供构建智能体的全套工具。为了改进你的 LLM 应用开发,请将 LangGraph 与以下内容搭配使用:
LangSmith Observability
在一处追踪请求、评估输出并监控部署。使用 LangGraph 在本地进行原型开发,然后借助集成的可观测性和评估移至生产环境,以构建更可靠的智能体系统。
Learn more →
LangSmith Deployment
使用专为长时间运行、有状态工作流打造的部署平台,轻松部署和扩展智能体。跨团队发现、复用、配置和共享智能体——并通过 Studio 中的可视化原型快速迭代。
Learn more →
LangChain
提供集成和可组合组件,以简化 LLM 应用开发。包含构建在 LangGraph 之上的智能体抽象。
Learn more →
致谢
LangGraph 的灵感来自 Pregel 和 Apache Beam。其公开接口从 NetworkX 中汲取灵感。LangGraph 由 LangChain 的创造者 LangChain Inc 构建,但可以在不使用 LangChain 的情况下使用。