| 对比维度 | LangChain | LangGraph |
| 框架定位 | 基础AI应用开发框架,提供LLM调用、工具集成等基础能力 | 上层工作流编排框架,专注于复杂AI工作流和多智能体系统的搭建 |
| 工作流模型 | 主要关注单个LLM调用和工具使用的链式组合,线性执行 | 提供完整的状态管理和节点编排,支持复杂的分支、并行和条件执行 |
| 状态管理 | 状态管理相对简单,主要通过链式传递,无全局状态 | 拥有全局状态,可在整个工作流中持久化和更新,支持状态累积 |
| 并行执行 | 主要是串行执行模式,缺乏原生并行支持 | 原生支持节点并行执行,提高复杂工作流的执行效率 |
| 中断与恢复 | 不支持执行中断和恢复,执行过程不可逆 | 支持执行中断和从中断点恢复,适合需要用户交互的场景 |
| 扩展性 | 适合构建相对简单的LLM应用,如问答、摘要等 | 适合构建复杂的、多步骤的AI系统,如多智能体协作、复杂任务规划等 |
| 核心概念 | Chains(链)、Agents(代理)、Tools(工具)、Prompts(提示词) | Nodes(节点)、Edges(边)、State(状态)、Interrupts(中断)、Checkpoints(检查点) |
| 执行模式 | 线性执行,每步依赖前一步结果,缺乏灵活性 | 基于图的执行,支持复杂的分支、并行和条件流转 |
| 状态持久化 | 无内置状态持久化机制,执行完成后状态丢失 | 内置检查点机制,支持状态持久化和工作流恢复 |
| 用户交互 | 有限的用户交互能力,主要是一次性输入输出 | 强大的用户交互支持,可在任意点中断等待用户输入 |
| 适用场景 | 简单的LLM应用、单步任务处理、基础工具集成 | 复杂的多步骤工作流、多智能体协作系统、需要状态管理的应用、交互式AI系统 |
| 与LangChain的关系 | 独立的基础框架 | 可与LangChain集成,使用LangChain的组件构建节点,同时提供更强大的工作流能力 |