很多同学刚接触 LangChain 时,都会有点懵: 文档里一堆 Chain、Agent、RAG、Memory,根本不知道从哪下手。
其实 LangChain 的架构,和前端框架挺像的。 只要你把它当成"AI界的React",理解起来会快很多。
LangChain 分层架构

LangChain 的架构,说白了就三层。
- 核心组件层:LLM、Prompt、解析器,这些都是基础积木。
- 应用层:用 Chain 或 Agent 把积木拼成能跑的业务逻辑。
- 基础设施层:向量检索、记忆持久化、运行监控,保证你的应用稳得住、查得了。
是不是很像前端?组件库 → 业务组件 → 脚手架/监控。
Chain:AI 应用的"Promise 链"

Chain 是 LangChain 最核心的抽象。
它的工作方式特别简单:
- 用户输入进来
- PromptTemplate 把变量填好
- 丢给 LLM 生成文本
- OutputParser 解析成结构化结果
我们可以想象成 Promise 链,或者 Express 中间件。
Agent:让 LLM 自己决定"要不要调用工具"


Chain 是按部就班的。
Agent 则更像一个会思考的执行者。
它遵循一个循环:
思考 → 行动 → 观察 → 再思考。
每次它都会问自己:这个问题我能直接回答吗?
如果不能,就调用工具继续收集信息。
比如用户说"帮我查小米su7销售额并画个图",Agent 会先去查数据库,再调用图表工具,最后汇总输出。
RAG:给大模型装一个"外接大脑"

大模型有一个病:容易一本正经地胡说八道。
RAG 就是用来治这个病的。
做法不复杂:
先把企业文档加载进来,切成小段,转成向量存进向量库。
用户提问时,先把问题也转成向量,去库里找最相关的内容,再把这些内容作为上下文一起给 LLM。
相当于给大模型配了一个可查询的知识库。
回答有出处,幻觉自然就少了。
Memory:没有记忆的 AI,就像金鱼

没有记忆的对话,体验很差。
你刚说完"规划去杭州的旅游行程",下一句问"我要飞机去,高铁回来,7天",它可能一脸懵。
Memory 模块的作用就是把对话历史保存下来,每次调用时注入 Prompt。
这样 LLM 就能看到前文,回答更连贯。
实现方式也很多样:
简单的可以存最近 N 轮对话;复杂的可以做摘要,只保留关键信息,避免撑爆上下文窗口。
前端集成:为什么不要让浏览器直接调大模型

很多前端同学会问:我能不能直接在前端调 LangChain?
不建议。
生产环境里,前端通常只负责发消息给后端 API。
后端用 LangChain 编排 Prompt、Memory、Tools,统一调用模型,再把结果返回给前端。
这样做有两个好处。
一是安全:API Key、向量库地址这些敏感信息不会暴露到浏览器。
二是好维护:业务逻辑集中在后端,前端只负责展示和交互。
总结
LangChain 看起来概念多,但本质就是做了一件事:
把 LLM 的能力,用组件化的方式组织起来。