LangChain 详解:代理工程平台与 LLM 应用框架
提到"用大模型做应用",绕不开的第一个名字就是 langchain-ai/langchain(LangChain)。它是最早把"模型、提示词、工具、检索"串成应用框架的开源项目,如今自我定位已升级为"代理工程平台(The agent engineering platform)"——约 146k Star、MIT 协议,几乎是 LLM 应用开发的默认起点。本文从它的定位演进、核心抽象、快速上手、三层产品矩阵到与同类框架的选型,完整拆解。
1、项目概述
LangChain 是构建代理与 LLM 应用的框架:把可互操作的组件与第三方集成链起来,形成完整应用。仓库约 146k Star、24.4k Fork、1.6 万+ 次提交,MIT 协议,出自 LangChain 公司(LangGraph、LangSmith 同门)。
定位的演进:
- 起家于"链式调用"框架:模型 + 提示词 + 输出解析器串成 chain
- 代理时代转向:以 create_agent 为核心的"最小、高度可配置的代理挽具(harness)"
- 挽具的含义:包住模型循环的提示词、工具与中间件——模型之外的工程外壳
- JS/TS 生态有同构的 LangChain.js
2、核心抽象:标准化接口
LangChain 最持久的贡献,是给纷乱的 LLM 生态定了一套标准接口——换模型、换向量库、换工具商都只是改一行参数。
标准化的对象:
- 模型层:chat 模型与嵌入模型的统一接口,init_chat_model 一行切换提供商
- 数据层:向量存储(vector stores)与检索器(retrievers)的标准接口
- 能力层:工具(tools)与工具包(toolkits),代理可调用的动作标准化
- 应用层:chains 组合组件、agents 编排工具调用、RAG 管线检索增强
要点:
1. 模型互操作是立身之本:OpenAI、Anthropic、Gemini、Bedrock、Ollama 等同一套写法
2. 检索器抽象让 RAG 的"换库不改代码"成为可能
3. 工具接口与 MCP 等协议生态互通,代理能力可持续扩展
4. 组件既可独立使用,也可组合进 LangGraph 的图中
3、安装与快速上手
官方推荐 uv 安装;三行代码完成"初始化模型-调用-拿结果"。
// 安装
uv add langchainfrom langchain.chat_models import init_chat_model
// 一行初始化,"提供商:模型"格式
model = init_chat_model("openai:gpt-5.5")
result = model.invoke("Hello, world!")上手要点:
1. init_chat_model 是统一入口,换提供商只改字符串前缀
2. 官方示例的提供商写法涵盖 openai、anthropic、gemini、bedrock、ollama 等
3. invoke 是最基础的调用,流式与批量另有统一方法
4. 从模型调用到代理,进阶路径是 create_agent(见下节)
4、create_agent:代理的挽具
当前版本的核心是 create_agent——官方称之为"最小、高度可配置的挽具":模型循环之外的一切(提示词、工具、中间件)都由它装配。
create_agent 的设计:
- 最小核心:不给代理预设行为,配置什么就是什么
- 高度可配置:提示词、工具集、中间件(如追踪、护栏)即插即拔
- 底层建在 LangGraph 之上:代理即一张图,天然获得持久化等能力
- 官方文档列出 OpenAI、Gemini、Anthropic、OpenRouter、Fireworks、Baseten、Ollama、Azure、Bedrock、HuggingFace 十家提供商示例
要点:
1. 简单代理用 create_agent 直接装配,不必手写图
2. 复杂工作流下沉到 LangGraph,两层数据贯通
3. 中间件机制让追踪、人机确认等横切能力不再侵入业务代码
4. 需要规划、子代理、文件系统等重能力时,升级到 Deep Agents
5、产品矩阵:三层分工
LangChain 公司的产品线已形成清晰的三层:开源框架、高层代理包、商业平台。
三层矩阵:
- LangChain(开源框架):组件 + create_agent 挽具,MIT 协议
- LangGraph(开源框架):低层编排,确定性工作流与可控代理
- Deep Agents(高层包):内置规划、子代理派生、文件系统与上下文压缩
- LangSmith(商业平台):评测、可观测、调试与长时工作流部署
分工逻辑:
1. 组件复用走 LangChain,代理装配走 create_agent
2. 要对执行图做精细控制(循环、分支、状态)下沉 LangGraph
3. 要开箱即用的重型代理升到 Deep Agents
4. 观测、评测与部署统一交给 LangSmith
6、定位对比:与 LlamaIndex、Dify 怎么选
三大主流选择各占一角:通用组件框架、数据框架、可视化平台。
三者对比:
- LangChain:通用组件 + 代理装配,生态最大(146k Star),集成最全
- LlamaIndex:专注数据与 RAG 的框架,检索管线更深(51.8k Star)
- Dify:可视化平台,业务人员拖拽搭建(153k Star,协议有附加条件)
选型建议:
1. 通用 LLM 应用、代理优先 → LangChain + LangGraph
2. 重 RAG、文档密集场景 → LlamaIndex(或两者组合:LlamaIndex 检索 + LangChain 代理)
3. 面向业务团队、可视化优先 → Dify
4. 组合参考架构:LiteLLM 网关统一模型接入,LangChain/LangGraph 做编排,LangSmith 做观测
7、使用建议与注意事项
使用建议:
- 从 init_chat_model + invoke 起步,先跑通模型调用再谈代理
- 简单代理 create_agent 直接装配;复杂编排下沉 LangGraph
- 开发期就接 LangSmith 追踪,别等出问题再补
- 官方 LangChain Academy 提供免费课程,体系学习首选
注意事项:
- API 迭代快、历史版本教程泛滥:认准当前版本文档,警惕 0.1 时代的老写法
- 抽象层次多,新手容易绕晕:按"模型-工具-代理"顺序渐进
- 可独立使用不绑全家桶,但深度集成时体验最顺
- LangSmith 是商业服务,团队引入前评估成本
8、总结
LangChain 是 LLM 应用框架的奠基者与最大生态(约 146k Star、MIT),以"模型、嵌入、向量库、检索器、工具"的标准接口立身,如今核心演进为 create_agent——最小、高度可配置的代理挽具,底层构建在 LangGraph 之上。产品矩阵三层分工:LangChain 装配代理、LangGraph 低层编排、Deep Agents 重型代理、LangSmith 观测部署,覆盖从组件到平台的完整链路。
落地建议:新项目从 init_chat_model 三行代码起步,代理用 create_agent 装配、复杂编排下沉 LangGraph,全程接 LangSmith 观测;RAG 重度场景可组合 LlamaIndex,模型接入统一走 LiteLLM。对于要规模化构建 LLM 应用的团队,熟练驾驭 LangChain 生态是必要的路径起点。


