LangChain 和 LangGraph 是由 LangChain 公司开发的开源框架,专门用于构建基于大语言模型(LLM)的应用程序。它们代表了从简单链式调用到复杂多智能体工作流的演进。

一、LangChain:LLM 应用的"连接器"

核心定位

LangChain 是一个模块化抽象框架,旨在简化 LLM 应用的开发过程。它通过将复杂的 AI 应用开发分解为可重用的组件,让开发者能够像搭积木一样组合各种功能模块。

核心组件

组件 功能说明
模型接口 标准化不同 LLM(OpenAI、Anthropic、本地模型等)的调用方式
提示模板 管理动态提示词(Prompt Engineering)
工具(Tools) 封装外部 API、数据库、搜索引擎等能力
记忆(Memory) 支持短期对话缓存和长期向量数据库检索
链(Chain) 将多个组件串联成固定工作流
代理(Agent) 具备自主决策能力的"思考-行动"循环(ReAct 模式)

演进历程

  • 0.x 版本(2023):以 Chain 为核心,强调预定义流程

  • 0.1 版本(2024):模块化拆分,引入 langchain-core 等子包

  • 0.2/1.0 版本(2025)彻底聚焦 Agent 能力,在 LangGraph 之上重构,仅保留 create_agent 核心函数,强调"LLM 循环运行 + 工具调用"的中立运行时

二、LangGraph:复杂工作流的"编排引擎"

核心定位

LangGraph 是 LangChain 团队于 2024 年 10 月推出的图结构编排框架,专门用于构建有状态、多智能体(Multi-Agent)的复杂应用。它被定位为"智能体运行时",填补了 LangChain 在复杂流程控制上的不足。

核心概念

┌─────────────┐      ┌─────────────┐      ┌─────────────┐
│    节点      │ ───▶ │    节点      │ ───▶ │    节点      │
│  (Agent 1)   │      │  (Agent 2)   │      │  (工具调用)   │
└─────────────┘      └─────────────┘      └─────────────┘
       │                     │                     │
       └─────────────────────┴─────────────────────┘
                         │
                    共享状态 (State)
  • 状态(State):跨节点持久化的全局数据,支持断点续跑

  • 节点(Nodes):执行任务的基本单元(LLM 调用、工具执行、人工审核)

  • 边(Edges):定义节点间的流转逻辑,支持条件分支和循环

  • 检查点(Checkpoint):自动保存执行状态,支持错误恢复和"时间旅行"调试

关键特性

特性 说明
循环与分支 突破传统 DAG(有向无环图)限制,支持迭代优化和复杂业务逻辑
持久化 自动保存每一步状态,支持暂停/恢复执行,实现错误恢复和人机协作
人机交互(HIL) 可在任意节点中断执行,等待人工审批或反馈
多代理协作 支持构建"研究代理+写作代理+审核代理"等分工明确的 AI 团队
流式输出 支持逐 token 实时流式传输,监控代理思考过程

三、两者关系与架构对比

LangChain 生态架构
┌─────────────────────────────────────────┐
│           LangChain 1.0 (Agent)          │  ← 高层抽象:create_agent
├─────────────────────────────────────────┤
│           LangGraph (运行时)              │  ← 编排层:图结构、状态管理
├─────────────────────────────────────────┤
│           LangChain Core                 │  ← 基础层:模型接口、消息格式
├─────────────────────────────────────────┤
│  OpenAI / Anthropic / 本地模型 / 工具库   │
└─────────────────────────────────────────┘

核心区别

维度 LangChain LangGraph
抽象层级 高层封装(链、代理模板) 底层编排(图节点、状态管理)
流程控制 线性链式(Chain)或简单代理循环 任意图结构(循环、分支、并行)
状态管理 简单内存或外部存储 原生状态图,自动持久化
透明度 封装较多,隐藏部分实现细节 无隐藏提示词,完全可控
适用阶段 快速原型开发 生产级复杂工作流
人机协作 有限支持 内置中断、审批、编辑能力

协作方式

LangChain 和 LangGraph 并非替代关系,而是互补:

  1. LangGraph 复用 LangChain 的模型接口、工具定义和消息格式

  2. LangChain 1.0 的 Agent 基于 LangGraph 运行时构建

  3. 两者共享 LangSmith 调试和可观测性平台

四、典型应用场景

LangChain 适合的场景

  • 快速搭建 RAG(检索增强生成)问答系统

  • 简单的工具调用 Agent(联网搜索、计算器等)

  • 多模态任务链(文本生成→图像生成→语音合成)

LangGraph 适合的场景

  • 多智能体协作:研究 Agent 搜集资料 → 写作 Agent 生成报告 → 审核 Agent 校对

  • 复杂审批流程:代码生成 → 人工审核 → 自动部署 → 测试反馈循环

  • 对话式 AI:支持多轮决策、上下文记忆和人工介入的客服机器人

  • 自动驾驶任务流:根据中间结果动态调整执行路径(如数据分析流水线)

总结

  • LangChain"让 LLM 应用开发更简单"的模块化工具箱,适合快速搭建标准化应用

  • LangGraph"让复杂 AI 流程可控"的编排引擎,是构建生产级多智能体系统的首选框架

当前社区趋势显示:从探索走向生产时,LangGraph 正成为复杂 Agent 开发的事实标准,而 LangChain 则作为其生态基础设施继续存在。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐