Skip to main content
LangGraph 提供两种不同的 API 来构建智能体工作流:图 API 和 函数 API。两者共享相同的底层运行时,且可在同一应用中协同使用,但针对不同用例和开发偏好进行了差异化设计。 本指南将帮助您根据具体需求选择合适的 API。

快速决策指南

选择 图 API 当您需要:
  • 复杂的流程可视化(调试和文档场景)
  • 显式状态管理(跨节点共享数据)
  • 多分支决策逻辑
  • 并行执行路径(需后续合并)
  • 团队协作(可视化提升理解效率)
选择 函数 API 当您希望:
  • 对现有过程式代码进行最小改动
  • 标准控制流程(if/else、循环、函数调用)
  • 函数级作用域状态(无需显式管理)
  • 快速原型开发(减少样板代码)
  • 线性流程(简单分支逻辑)

详细对比

选择图 API 的场景

图 API 采用声明式编程,通过定义节点、边和共享状态构建可视化图结构。 1. 复杂决策树与分支逻辑 当工作流包含依赖多条件的分支决策时,图 API 可显式展示并简化逻辑可视化。 :::python
::: :::js
::: 2. 跨组件状态管理 当需协调工作流不同部分的共享状态时,图 API 的显式状态管理更具优势。 :::python
::: :::js
::: 3. 并行处理与同步 当需并行执行多操作并合并结果时,图 API 天然支持该场景。 :::python
::: :::js
::: 4. 团队协作与文档 图 API 的可视化特性便于团队协作、文档编写和维护复杂流程。 :::python
::: :::js
:::

选择函数 API 的场景

函数 API 采用命令式编程,将 LangGraph 功能集成到标准过程式代码中。 1. 现有过程式代码 当需在现有代码中添加 LangGraph 功能且进行最小重构时适用。 :::python
::: :::js
::: 2. 线性流程与简单逻辑 适用于以线性流程为主、逻辑简单的场景。 :::python
::: :::js
::: 3. 快速原型开发 当需快速验证想法且无需定义状态模式或图结构时适用。 :::python
::: :::js
::: 4. 函数级状态管理 当状态天然作用于单个函数且无需广泛共享时适用。 :::python
::: :::js
:::

双 API 协同使用

您可在同一应用中混合使用两种 API。当系统不同模块需求差异较大时尤为有用。 :::python
::: :::js
:::

API 间迁移

从函数 API 迁移到图 API

当函数式流程变得复杂时,可迁移至图 API: :::python
::: :::js
:::

从图 API 迁移到函数 API

当图结构过于复杂且适用于简单线性流程时: :::python
::: :::js
:::

总结

选择 图 API 当您需要:
  • 显式控制工作流结构
  • 复杂分支逻辑
  • 并行处理能力
  • 团队协作优势
选择 函数 API 当您需要:
  • 对现有代码最小改动
  • 简单线性流程
  • 快速原型开发能力
两种 API 提供相同的 LangChain 核心功能(持久化、流式输出、人工介入、记忆模块),但采用不同范式以适配差异化的开发风格和用例场景。
官方原文:src/oss/langgraph/choosing-apis.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。
Last modified on November 3, 2026