LangChain 的整体架构:模型、工具、RAG、Agent、记忆、观测
上一篇我们讲了 LangChain 到底是什么。这一章继续往下拆:LangChain 不是一个单点工具,而是一套组件体系。你可以把它想成一条 AI 应用生产线:前面接用户问题,中间接模型、知识库和业务系统,后面接结构化输出、日志、评测和监控。
通俗一点说:裸调大模型像是“直接问一个聪明人”;LangChain 更像是“给这个聪明人配上资料库、工具箱、工作流程、记忆本和质检系统”。
一、先看总图:LangChain 应用到底怎么跑?
LangChain 整体架构图:输入、模型、RAG、工具、记忆、Agent、观测
一个完整的 LangChain 应用,通常不是“用户问一句,模型答一句”这么简单。真实项目里,用户的问题进来以后,系统会先整理成 Messages 和 Prompt,然后交给模型。模型可能直接回答,也可能去查知识库、调用工具、读取记忆,最后再输出自然语言或结构化 JSON。
如果这个任务比较复杂,就会进入 Agent 或 LangGraph 编排层。Agent 会不断判断下一步要做什么:是继续查资料?还是调用接口?还是让模型生成最终答案?LangSmith 或自建日志系统则负责把整个过程记录下来,方便后续排查和评测。
二、把 LangChain 拆成 7 层,就不乱了
第 1 层:业务入口
业务入口就是你自己的产品,比如 Web 后台、App、客服窗口、运营平台、股票分析页面。LangChain 不负责做页面,也不替代你的业务系统,它通常运行在后端 AI 服务里。
第 2 层:模型交互
这一层包括 Messages、Prompt、Chat Model、Structured Output。它解决的是:怎么把用户问题整理好,怎么调用不同模型,怎么让模型按照固定格式返回。
第 3 层:知识检索
这一层就是 RAG,包括 Document Loader、Text Splitter、Embedding、Vector Store、Retriever。它解决的是:模型不知道你的私有文档怎么办。
第 4 层:能力扩展
这一层是 Tools。模型本身不会查数据库、不会查实时行情、不会调用订单接口,所以要把业务能力封装成工具。
第 5 层:智能体
这一层是 Agent。Agent 的价值是让模型自己判断下一步:要不要查资料、要不要调用工具、要不要继续追问。
第 6 层:复杂编排
复杂业务不能完全靠模型自由发挥。LangGraph 可以把流程变成节点、边和状态,让 AI 应用更可控、更适合企业级场景。
第 7 层:观测与评测
线上 AI 应用一定要能复盘。LangSmith 可以追踪模型输入输出、工具调用、耗时、错误和评测结果。
三、核心组件一览:每个组件负责一件事
组件 | 通俗理解 | 主要作用 | 典型场景 |
Chat Model | 大脑 | 调用 GPT、Claude、Qwen、DeepSeek 等模型 | 聊天、分析、生成 |
Messages | 对话记录本 | 区分系统、人类、AI、工具消息 | 多轮对话、工具调用 |
Prompt Template | 任务说明书 | 把角色、任务、约束、上下文模板化 | 客服、营销、股票分析 |
Structured Output | 标准表单 | 让模型输出 JSON / Schema | 接口联动、工单分类 |
Document Loader | 资料搬运工 | 读取 PDF、网页、Word、数据库 | 知识库建设 |
Text Splitter | 切文档的刀 | 把长文档切成 Chunk | RAG 检索 |
Embedding | 语义坐标 | 把文本变成向量 | 相似搜索 |
Vector Store | 语义仓库 | 存储并检索向量 | Milvus、FAISS、Chroma |
Retriever | 资料检索员 | 根据问题找相关文档 | 企业知识库问答 |
Tools | 工具箱 | 封装 API、数据库、搜索、函数 | 订单查询、行情查询 |
Agent | 任务调度员 | 决定下一步调用什么能力 | 复杂助手、自动分析 |
Memory | 记忆本 | 保存会话状态和长期偏好 | 多轮对话、个性化 |
Middleware | 拦截器 | 做日志、限流、过滤、重试、鉴权 | 企业级治理 |
LangGraph | 流程编排器 | 用图控制复杂 Agent 流程 | 客服、审批、长任务 |
LangSmith | 监控台 | 调试、追踪、评测、监控 | 线上排查、质量提升 |
四、模型层:不是只调一个 API,而是统一模型入口
LangChain 的第一类核心组件是模型层。它可以统一接入不同模型供应商,让你用相对一致的方式调用 OpenAI、Anthropic、Google、Qwen、DeepSeek、本地 Ollama 等模型。
这件事在企业项目里很重要。因为今天你可能用 GPT,明天为了成本换成国产模型,后天又想接本地模型。如果业务代码和某个模型 API 绑死,后面迁移就很痛苦。LangChain 的价值就是把这些差异包起来。
模型层一般包括两类:Chat Model 负责对话和生成;Embedding Model 负责把文本转成向量,用于知识库检索。
五、Prompt 与 Messages:让模型知道自己该干什么
很多人一开始写大模型应用,就是把用户问题直接丢给模型。这样做 Demo 可以,但做项目不行。真实应用里必须告诉模型:你是谁、你要做什么、你不能做什么、你应该按照什么格式输出。
Messages 负责区分不同角色:System Message 是系统规则,Human Message 是用户输入,AI Message 是模型回答,Tool Message 是工具返回结果。Prompt Template 则把这些规则模板化,避免提示词散落在代码里。
举个例子,智能客服的 System Prompt 会要求模型只能根据知识库回答;股票助手的 System Prompt 会要求模型必须提示风险,不能承诺收益;营销助手的 Prompt 会要求输出活动目标、人群、文案和复盘指标。
六、RAG 层:模型不知道你的资料,就先让它查资料
RAG 链路:Loader、Splitter、Embedding、Vector Store、Retriever、LLM
RAG 是 LangChain 最常用的落地场景之一。它解决的问题很直接:大模型不知道你的企业文档、产品手册、合同、研报、数据库资料,也不一定知道最新信息。怎么办?先检索,再生成。
构建知识库时,Document Loader 负责把 PDF、Word、网页、数据库资料读进来;Text Splitter 把长文档切成小块;Embedding 把文本变成向量;Vector Store 存储这些向量;Retriever 根据用户问题把相关资料找出来;最后模型基于资料回答。
这就是为什么 RAG 不只是“把文档丢给模型”。真正影响效果的是文档解析、切分策略、向量模型、召回方式、Rerank、上下文拼接和 Prompt 约束。
七、Tools 层:让模型接上真实业务系统
大模型本身不会真正查数据库,也不会主动调用你的订单接口、行情接口、用户系统、搜索引擎。LangChain 的 Tools 就是把这些外部能力包装成模型可以使用的工具。
比如用户问“我的订单到哪了”,模型应该调用订单查询工具;用户问“三安光电今天资金流怎么样”,模型应该调用行情工具;用户问“这篇文档里有没有关于退款的规则”,模型应该调用检索工具。
工具描述要写清楚,参数 Schema 要严格,返回结果要可控。否则 Agent 很容易传错参数、调错工具,甚至把不该执行的操作执行了。
八、Agent 层:从固定流程,变成模型自己决定下一步
Agent 循环:模型调用和工具执行不断交替,直到任务完成
普通 Chain 是固定流程,比如“先检索,再生成”。Agent 则更灵活,它可以根据问题自己判断下一步。
比如用户问“帮我分析一下某只股票”,Agent 可能先查行情,再查历史 K 线,再查公告,再查新闻,最后综合输出。用户问的是普通概念,它就不需要调用工具,直接解释即可。
新版 LangChain 的 create_agent 可以把模型、工具、系统提示词、中间件等组合成一个可运行的 Agent。官方文档也说明,Agent 的核心循环通常是模型调用和工具执行:模型决定是否调用工具,工具执行后把结果返回给模型,直到模型认为可以结束。
九、Memory 层:让 AI 记住上下文,而不是每次都从零开始
如果用户连续问多个问题,系统不能每次都当成第一次见面。比如用户先说“我持有三安光电,成本 17.3”,后面又问“明天要不要减仓”,AI 就应该知道他说的是三安光电。
Memory 可以分成短期记忆和长期记忆。短期记忆保存当前会话里的上下文,长期记忆保存跨会话的偏好、习惯和重要信息。
但是记忆不能乱存。企业项目里要考虑隐私、安全和数据过期。更靠谱的方式不是把全部聊天记录硬塞给模型,而是抽取结构化状态和摘要,在需要时再召回。
十、Middleware、LangGraph、LangSmith:企业级项目不能缺的三件套
Middleware:像后端拦截器一样治理模型调用
Middleware 可以在模型调用前后、工具调用前后插入逻辑,比如日志、鉴权、限流、敏感词过滤、动态选择模型、异常重试、上下文裁剪。对于企业级项目,这比单纯调用模型更重要。
LangGraph:把复杂 Agent 变成可控流程
当任务有多个节点、条件分支、循环、人工确认、状态恢复时,就应该考虑 LangGraph。它适合构建更复杂、更可控的 Agent 工作流。
LangSmith:让每次 AI 回答都能被追踪和评测
线上 AI 应用一定会出错。LangSmith 可以帮助记录每次调用的输入、输出、工具调用、耗时、评测结果。这样回答错了才能知道问题出在检索、Prompt、工具,还是模型本身。
十一、企业项目怎么落地?推荐 Java 主服务 + Python AI 服务
如果你是 Java 后端出身,最推荐的落地方式不是把所有 AI 逻辑硬塞进 Spring Boot,而是做成“Java 主服务 + Python AI 服务”的架构。
Java 负责用户、权限、业务数据、订单、审计、后台管理、任务状态;Python FastAPI 服务负责 LangChain、LangGraph、模型调用、RAG、工具编排、Prompt 和评测。两边通过 HTTP 或 gRPC 通信。
这样做的好处是:Java 继续发挥业务工程能力,Python 利用更成熟的 AI 生态。后续要接新模型、新向量库、新 Rerank、新文档解析器,也更方便。
十二、Demo 和生产级应用,差距到底在哪里?
很多人学 LangChain 的时候,会觉得它只是把模型调用变复杂了。其实不是。Demo 阶段,你可以只写几行代码调模型;生产阶段,你要考虑知识库、工具、权限、日志、评测、缓存、限流、成本、异常兜底。
LangChain 真正的价值不是“让模型更聪明”,而是让大模型应用更容易被接入、被控制、被追踪、被评测、被上线。
所以学习 LangChain,不要只盯着某个 API。你要把它当成一套 AI 应用工程体系来看。
十三、总结
•LangChain 是大模型应用的连接层,不是单纯的模型 SDK。
•Model、Messages、Prompt、Structured Output 解决模型调用和输出控制问题。
•Loader、Splitter、Embedding、Vector Store、Retriever 组成 RAG 知识库链路。
•Tools 让模型连接真实业务系统,Agent 让模型自己判断下一步。
•Memory 解决多轮对话和用户状态问题。
•Middleware、LangGraph、LangSmith 是企业级落地必须关注的工程能力。
•Java 主服务 + Python AI 服务,是很多企业项目比较稳妥的架构。
一句话总结:LangChain 的整体架构,就是把“模型大脑、知识库、工具箱、记忆本、流程引擎、监控台”连接成一个可上线的 AI 应用系统。
下一章预告
下一章我们开始进入模型调用基础:Chat Model 是什么?LangChain 如何统一调用 OpenAI、Claude、Qwen、DeepSeek、本地 Ollama 等不同模型?为什么企业项目不能把业务代码和单个模型 API 绑死?
内容来源:LangChain 的整体架构:模型、工具、RAG、Agent、记忆、观测:功能变化与行业影响解析_热闻岛
