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:框架接起来以后,真正的可观测性怎么补上,再往这里看。