导语
玩 Agent 的人,绕不开一个名字:LangChain。2022 年 10 月开源,GitHub 上已经 14.5 万星、2.4 万 Fork(MIT 协议),是整个 LLM 应用生态里星数最高的老字号。它最早就是一句口号——把大模型和外部能力”链”(Chain)起来。三年过去,它从”提示词链条工具”长成了官方自称的 agent engineering platform(Agent 工程平台)。今天这篇基础篇,就把 LangChain 到底是什么、适合谁、怎么上手,一次讲透。
项目介绍:从 Chain 到 Agent 工程平台
LangChain 刚出来时干的事很朴素:给开发者一套标准接口,把模型调用、提示词模板、向量检索、工具调用串成一条链。那时候大家刚拿到 GPT-3.5 的 API,最大的痛点是”每次换模型、换向量库都要重写代码”,LangChain 一套抽象全抹平了。
现在它的版图大得多,官方生态分成五块:
- LangChain 框架本体:模型、Embedding、向量库、工具、链的标准接口,Python 和 JS/TS 双语言;
- LangGraph:底层 Agent 编排框架,拿”图”来控制复杂多步流程(本站之前单独介绍过,42K 星);
- Deep Agents:更高一层的开箱即用 Agent,自带规划、子 Agent、文件系统操作;
- LangSmith:调试、可观测、评测一条龙,专治”Agent 线上翻车不知道哪一步崩了”;
- LangSmith Deployment:给长跑、有状态的 Agent 工作流准备的部署平台。
一句话定位:新手从 LangChain 入门做 RAG 和小助手,复杂可控的流程下沉到 LangGraph,Deep Agents 负责开箱即用,LangSmith 负责上线后的运维。一家公司把”开发—编排—部署—观测”全包了,这是 LangChain 和其他单点框架最大的区别。
上手:5 分钟跑通第一个调用
环境要求 Python 3.10+,官方现在推荐用 uv 装:
uv add langchain
然后三行代码调模型(以 OpenAI 为例,换别的模型只改字符串):
from langchain.chat_models import init_chat_model
model = init_chat_model("openai:gpt-5.5")
result = model.invoke("Hello, world!")
init_chat_model("openai:gpt-5.5") 这种写法就是 LangChain 的精髓:模型名用”厂商:型号”字符串声明,以后想切 Anthropic、Gemini,改一行就行,上层链路代码不动。想往下走,接着学三件套就行:提示词模板(ChatPromptTemplate)→ 文档检索(向量库 + Retriever,做 RAG)→ 工具调用(Tool + Agent)。官方文档在 docs.langchain.com,中文教程一搜一大把。
本地党注意:LangChain 本体不绑模型,想省钱完全可以把 init_chat_model 换成 Ollama 本地模型(比如本站介绍过的 Ollama),链路照跑,token 钱一分不花。
实话:它适合谁,又有哪些坑
先说优点。生态最厚:市面上叫得上名的模型、向量库、云服务,几乎都有 LangChain 集成,文档和问答也是全网最多,出问题基本搜得到。抽象统一:换模型、换检索器成本低,适合要长期迭代的产品。
再说实话。第一,版本变迁快,v0.1 到 v1 的 API 改了不少,老教程容易把你带进坑,看教程先看日期,认准 docs.langchain.com 的当前版。第二,重:只想调个模型对话,大可不必搬整套框架;但做 RAG、Agent、多数据源,它省下的胶水代码远超学习成本。第三,调试玄学:链一长,出错难定位——这正是 LangSmith 存在的意义,正式项目建议早接可观测,别等线上翻车再补。
给个数码罗记式的结论:你是新手想系统学 LLM 应用开发,LangChain 依然是第一站;你只想拖拽搭应用,去看 Dify、Flowise;你要精细控制 Agent 流程,直接下沉 LangGraph。三者同门,路是通的。
by 数码罗记·godsun.pro