Way To Agent
LangChain / LangGraph 实战

LangChain 总览

介绍 LangChain 的核心抽象、适合场景和在 AI 应用工程中的边界。

LangChain / LangGraph 实战beginnerLangChainRetrieverToolChain

LangChain 总览

LangChain 不是“做 AI 应用必须上的框架”,它更像一层通用编排抽象:帮你把模型、Prompt、检索器、工具和输出解析组织起来,少写一些重复胶水代码。它的价值不在于神奇,而在于把那些本来就要做的连接工作标准化了一部分。

如果你刚接触 AI 工程,LangChain 很容易给人两种错觉:一种是“它什么都能管”,另一种是“它不过是语法糖”。这两种判断都太极端。理解 LangChain,关键是看它到底帮你省掉什么,又明确不替你负责什么。

它帮你省掉什么

只要你的系统里已经出现下面这些元素,LangChain 的价值就会开始显现:

  • 一个模型不够,还要接 Prompt 模板、检索器和输出解析。
  • 你需要在不同模型或不同提供方之间切换。
  • 一条链路里有多步 AI 调用,手写胶水代码越来越散。
  • 你希望统一回调、Tracing、结构化输出或工具抽象。

它最擅长的,不是创造能力,而是把已有能力接得更顺。

它不负责什么

LangChain 再方便,也不会替你接住真正的业务复杂度。下面这些事,依然要由你的应用系统负责:

  • 用户、权限、额度和审计。
  • 主数据的读写和版本管理。
  • 失败重试、幂等、任务状态和人工介入。
  • 页面展示、交互流和非 AI 业务逻辑。

所以 LangChain 解决的是“AI 链路怎么接”,不是“业务系统怎么设计”。

最常用的几层抽象

LangChain 真正常用的部分,其实没有看起来那么多。大多数项目最先接触的是这几层:

  • ChatModel:统一接模型调用。
  • PromptTemplate:组织输入和上下文。
  • Retriever:把外部知识接进来。
  • Tool:把外部能力暴露给模型。
  • OutputParser 或结构化输出:把结果收回工程系统。

你可以把它理解成一套“AI 胶水接口”。重点不是把每个抽象都学完,而是知道自己当前链路缺的是哪一层。

什么时候值得引入 LangChain

下面这些情况,LangChain 往往是值得的:

  • 你已经不止一次手写同类 AI 调用链。
  • 你需要把 RAG、工具调用和结构化输出组合起来。
  • 你准备继续往 Agent 或多步骤链路走。
  • 你希望后面接 LangSmith、Tracing 或更细的可观测能力。

它适合“系统已经开始成形,但又没复杂到必须自建一套框架”的阶段。

什么情况下直接写原生代码更稳

不是所有项目都该先上框架。下面这些情况,直接写原生 SDK 或少量自定义封装通常更清楚:

  • 你只有一两次简单模型调用。
  • 链路很短,不涉及检索、工具和状态。
  • 你更在意可控性和最小依赖,而不是抽象复用。
  • 团队还没形成稳定的 AI 编排需求。

很多项目太早上框架,最后不是节省复杂度,而是把复杂度提前了。

一句话先记住

LangChain 的价值,是替你收拢 AI 链路里的重复连接工作,而不是替你设计整个系统。

继续阅读

  • 07-langchain-langgraph/003-langgraph-overview.md:当链路开始有状态、分支和中断恢复时,再看为什么需要 LangGraph。
  • 04-rag/002-rag-architecture.md:如果你更关心 RAG 链路,可以先看知识、检索和生成是怎样连成系统的。
  • 09-ai-agent-engineering/002-ai-call-log.md:框架接起来以后,真正的可观测性怎么补上,再往这里看。