跳到主要内容

LangGraph 概览

工作流是 LLM 和工具通过预定义的代码路径进行编排的系统。

智能体是 LLM 动态指导其自身流程和工具使用的系统,它们都是构建复杂大型应用系统的核心组件。

LangGraph 的工作流通过有向图(Directed Graph )定义,由节点(Node)、边(Edge)、状态(State)构成,支持条件分支、循环、并行执行。通过状态图(StateGraph)将多个智能体(Agent) 和任务节点(Node)组织成可动态调整的流程结构,实现 有状态、可扩展的任务编排


核心优势

开发者选择 LangGraph 的原因是:

  • 可靠性和可控性:通过审核检查和人工干预审批来指导智能体行为。LangGraph 可为长时间运行的工作流持久化上下文,使您的智能体保持正常运行。
  • 低层级和可扩展性:使用完全描述性的低层级原语构建自定义智能体,不受限制自定义的僵化抽象约束。设计可扩展的多智能体系统,其中每个智能体都为您的用例量身定制特定角色。
  • 一流的流式传输支持:通过逐令牌流式传输和中间步骤流式传输,LangGraph 让用户实时清晰地了解智能体的推理和行动过程。

内存类型

LangGraph 支持两种对于构建对话代理至关重要的内存类型:

内存类型说明
短期内存通过在会话中维护消息历史来跟踪正在进行的对话,存储一次聊天中的上下文
长期内存在不同会话之间存储用户特定或应用程序级别的数据

常见问题解答

与 LangChain 的关系

使用 LangGraph 必须搭配 LangChain 吗?它们有什么区别?

不需要。 LangGraph 是一个用于复杂代理系统的编排框架,比 LangChain 的代理更底层、更可控。

LangChain 则提供了与模型及其他组件交互的标准接口,适用于直接的链式操作和检索流程。两者可以独立使用,也可以结合使用。

注意:智能体开发在最新版本中已经全面移植到了 LangGraph 中。


与其他框架的区别

LangGraph 与其他代理框架有何不同?

其他代理框架通常只能处理简单、通用的任务,面对公司定制的复杂场景时显得力不从心。

LangGraph 提供了一个更具表达力的框架,能处理公司独特的任务需求,且不会将用户限制在单一的黑盒认知架构中。


性能与开源

LangGraph 会影响我的应用性能吗?

不会。 LangGraph 不会给您的代码增加任何额外开销,并且是专门为流式工作流设计的,对性能无负面影响。

LangGraph 是开源的吗?免费吗?

是的。 LangGraph 是一个采用 MIT 许可的开源库,可免费使用。


LLM 兼容性

LangGraph 是否支持不带工具调用的 LLM?

支持。 您可以将 LangGraph 与任何 LLM 配合使用。

我们推荐支持工具调用的 LLM,是因为它能最便捷地让 LLM 自主决策;但如果您的 LLM 不支持工具调用,您只需编写一些逻辑,将 LLM 返回的原始字符串响应映射为要执行的操作即可。

LangGraph 是否支持开源 LLM?

支持。 LangGraph 对底层使用的 LLM 没有任何挑剔。

教程中常用闭源 LLM 是因为它们能无缝支持工具调用,而开源 LLM 通常缺乏此功能,但工具调用并非强制要求,因此开源 LLM 完全可以与 LangGraph 集成使用。


LangGraph 平台

LangGraph 和 LangGraph 平台有何不同?

  • LangGraph:是一个有状态的编排框架,为代理工作流提供精细的控制。
  • LangGraph 平台:是一项部署和扩展服务,提供有主见的 API 来构建代理用户体验,并集成了开发者工作室。平台可让您轻松将 LangGraph 应用部署到生产环境。

LangGraph 平台是开源的吗?

不。 LangGraph 平台是专有软件。但它提供了免费的自托管版本,可访问基本功能。

LangGraph 平台的定价情况如何?

部署方式定价
云 SaaS 部署测试版期间免费,未来将转为付费服务(会提前通知,并以优惠价格回馈早期用户)
自托管部署付费服务

我可以在不登录 LangSmith 的情况下使用 LangGraph Studio 吗?

可以。 您可以使用 LangGraph Server 的开发版本在本地运行后端,它会连接到作为 LangSmith 一部分托管的 Studio 前端。只要将环境变量 LANGSMITH_TRACING 设置为 false,就不会向 LangSmith 发送任何跟踪信息,从而无需登录即可使用 Studio。