← 返回文章列表

什么是 LangChain 和 LangGraph?

LangChainLangGraph 是面向 Python(也支持 JavaScript)的开源框架,用于基于大语言模型构建应用:从简单的 RAG 到带工具、记忆和分支流程的 AI 智能体。LangChain 提供构建块(模型、提示词、链、检索器);LangGraph 则是状态图,用于需要控制、循环和人工确认的复杂智能体流程。下文说明二者区别、如何选型,以及业务侧要注意什么。

  • LangChain - 组件库:LLM、提示词、链、向量嵌入、向量检索、工具
  • LangGraph - 通过节点图编排:状态、分支、循环、重试、人在回路
  • 链(chain) - 固定流水线「输入 → 步骤 → 回答」
  • 智能体 - 由模型决定调用哪个工具、何时停止
  • 不能替代模型本身 - 框架不会让 GPT/Claude「更聪明」;它帮忙串起 API、数据与逻辑
  • 实践 - 简单 RAG/FAQ 往往够用 LangChain;复杂客服路由和多智能体更适合 LangGraph

用一句话说清 LangChain

一次模型 API 调用是「提问 → 回答」。真实产品通常更宽:从知识库拉取文档、调用 CRM、查订单、保存历史、统计 token,并减少模型 幻觉

LangChain 是一层覆盖各厂商(OpenAI、Anthropic、Gemini、本地 LLM 等)的抽象,免得手写重复粘合代码:

组件 用途
Chat model / LLM 统一对接不同 API
Prompt templates 带变量与角色(system/user)的提示词
Retrievers 为 RAG 找到相关片段
Tools / functions 调用外部 API、数据库计算器
Memory 对话历史与短期上下文
Output parsers 把模型输出解析成 JSON/结构

典型 LangChain 流程:用户提问 → 检索器找文档片段 → 提示词拼接问题 + 上下文 → 模型带出处作答。这就是经典 RAG,对很多业务场景已经够用。

什么是 LangGraph,它如何补充 LangChain

LangGraph 是同一 LangChain 生态中的库,用于把智能体应用建成图:节点执行步骤,边定义迁移,共享状态(state)沿途更新。

已有链为何还要图:

  1. 分支 - 置信度低 → 转人工;客户要求退款 → 另一条路径。
  2. 循环 - 智能体调用工具、读结果、再思考、再调用。
  3. 可控 - 明确停点、重试、步数上限;少一点「黑盒」。
  4. 多智能体 - 多个角色(调研、编辑、审核)彼此传递结果。
  5. 人在回路 - 发客户邮件或扣款前,先等运营确认。

简单说:LangChain = 积木零件LangGraph = 复杂机器的装配图。二者常一起用:图中的节点调用 LangChain 生态里的模型、检索器与工具。

LangChain vs LangGraph:如何选择

任务 通常够用 更宜倾向
知识库 FAQ / RAG LangChain(+ 向量库) 分支与升级很多时用 LangGraph
固定流水线(摘要 → 翻译) LangChain -
带工具与「思考 → 调用 → 校验」循环的智能体 LangChain Agent 或 LangGraph 复杂度上升选 LangGraph
带工单路由的客服 可从链起步 状态与人工审批用 LangGraph
多智能体与长任务 纯 chain 很难 LangGraph

实践规则:从最简单的流水线开始。逻辑已经像带条件与循环的流程图时,就上图,而不是在一个文件里堆「if 链」。

典型技术栈长什么样

业务最小可用组合:

  • 模型 - GPT / Claude / Gemini,或经 Ollama 的本地模型;
  • LangChain - 提示词、检索器、工具;
  • 向量存储 - 用于 embedding 与知识检索;
  • LangGraph(按需) - 智能体与分支编排;
  • 可观测性 - 步骤日志、延迟、token 成本、错误追踪;
  • 集成 - CRM、工单系统、Telegram 机器人、内部数据库。

重要:框架替代不了干净数据与产品设计。知识库差 + LangGraph 再强,回答仍差。估算 RAG 系统成本 与 定制 AI 智能体 时,瓶颈几乎总是数据、集成与质控,而不只是选哪套库。

项目利弊

优点:

  • Python 原型快;
  • 与主流 LLM、向量库集成现成;
  • 提示词、工具与 RAG 有一致写法;
  • LangGraph 让智能体结构显式,便于向客户解释与调试;
  • 生态成熟,示例与文档多。

风险:

  • 抽象税:新手可能淹没在分层里,其实几十行直连 API 就够;
  • 生态 API 会变 - 锁版本并注意 breaking changes;
  • 带循环的智能体容易无限制烧 token;
  • 没有测试与 eval,产品会悄悄变差;
  • 并非每个业务都需要智能体 - 常常确定性脚本 + 一步 LLM 更好。

什么时候该上,什么时候还早

值得上,如果:

  • 要在自有数据与 API 上做 RAG、助手或智能体;
  • 团队已写 Python/JS,想要标准骨架而非零散脚本;
  • 需要分支、人工确认与多步场景(LangGraph);
  • 打算长期维护 - 明确架构会回本。

可以延后,如果:

  • 一两次 API 调用加好提示词就能解决;
  • 没有稳定知识库与集成 - 框架救不了空数据;
  • 团队尚未掌握基础 LLM 调用与 embedding;
  • 只需要无代码聊天机器人、无自定义逻辑。

小结

LangChain 用现成积木拼装 LLM 应用:模型、提示词、RAG、工具。LangGraph 用状态图编排复杂智能体逻辑:分支、循环与检查点。FAQ 与文档检索常常 LangChain 就够;客服智能体、多步流程与人在回路,建议一开始就用 LangGraph 设计流程。相对数据质量、指标与 token 预算,选库是次要的 - 但正确骨架能省下数月混乱代码。

常见问题

LangChain 和 LangGraph 是两个产品还是一套?

它们是关联生态:LangChain 提供组件,LangGraph 编排复杂流。可以单独用,但实践中图节点常调用 LangChain 的模型与工具。场景变复杂时,按「积木 + 图纸」来想,而不是非此即彼。

普通 RAG 需要 LangGraph 吗?

不一定。 经典 RAG(提问 → 检索 → 回答)用 LangChain,甚至直连 API + 向量库就行。当 RAG 之上出现分支、追问、多智能体、校验循环或强制人工确认时,再上 LangGraph 更有价值。

LangGraph 智能体和「直接调 ChatGPT」有何不同?

一次 ChatGPT 调用是模型在单个上下文窗口内的回答。LangGraph 智能体可多次调用工具、更新状态、按条件分支,并停下来等人审批。它更接近内置 LLM 的工作流引擎,而不是普通聊天。

用 Python 还是 JavaScript 更好?

后端、数据管道与生态多数示例更常见 Python。若智能体旁就是站点的 Node 技术栈,则 JavaScript/TypeScript 合适。功能相近;选团队语言以及要嵌入 LLM 的服务即可。

上线 LangChain / LangGraph 要花多少钱?

框架本身开源 - 费用在模型 API、基础设施(向量库、托管)与开发/运维。RAG 原型可能几天加不大的 token 预算就能出;带 CRM、监控与 eval 的生产智能体则是数周项目,且有明显的智能体预算。最大隐性成本是无限制循环与膨胀的上下文。

联系方式