从零构建生产级AI系统:LLM、RAG到多智能体工作流全解析

用一套完整工程体系串联LLM、嵌入、RAG、LangGraph、MCP等核心AI概念,演示如何为企业构建生产级智能文档助手。
本文以为虚构公司TechOp构建能理解500GB内部文档的AI助手为主线,系统梳理了当前生产级AI应用的核心技术栈。文章从上下文窗口的Token限制出发,引出嵌入(将文本语义转为向量)和向量数据库(语义检索替代关键词匹配)的必要性;通过LangChain解决多模型集成与组件复用问题;借助RAG实现无需微调的私有知识注入,并以提示约束防止幻觉;在复杂多步工作流场景引入LangGraph的图状态编排;最后以MCP协议统一外部系统集成。每个概念都在"为什么需要它"的问题驱动下自然展开,形成一套从原理到实战的完整认知框架,适合希望系统性理解AI工程体系的开发者阅读。
过去几年,提示工程、上下文窗口、Token、嵌入、检索增强生成(RAG)、向量数据库、MCP、智能体、LangChain、LangGraph 等术语密集涌现,让不少开发者感到难以跟上。这篇文章基于 B 站一则系统性教程整理,试图用一条贯穿始终的项目主线——为虚构公司 TechOp 构建一个能理解 500GB 内部文档的 AI 助手——把这些零散概念串成一个完整的工程体系。
一切从大语言模型与上下文窗口说起
像 OpenAI 的 GPT、Anthropic 的 Claude、Google 的 Gemini 都属于在海量数据上训练的 Transformer 模型,训练 Token 可达数万亿,覆盖医疗、法律、编程、科学等领域。但问题在于,企业自己的 500GB 内部文档从来不在这些训练数据里。要让模型回答公司私有信息,就必须找到把数据"喂"给模型的方法。
最直接的方式是把内容塞进对话历史,这部分"短期记忆"就是上下文窗口,以 Token 计量(英文大约 1 Token 对应 0.75 个单词)。不同模型的上限差异巨大:xAI 的 Grok 为 25.6 万 Token,Claude Opus 为 20 万,Gemini 2.5 Pro 可达 100 万。但窗口大并不等于理解力强——教程用"背诵圆周率"和"苹果农场"两个例子说明,模型在长上下文中既可能记不全,也可能被无关信息干扰。因此根据任务选择合适的模型(追求大窗口还是追求低延迟的 Flash/Nano 版本)非常关键。
关键矛盾随之出现:即便是 100 万 Token 的窗口,一次也只能容纳约 50 份典型商务文档,而 TechOp 需要模型理解全部 500GB 内容。这正是嵌入(Embedding)登场的地方。
嵌入:把"词"变成"含义"
嵌入改变了信息的存储方式——不再把文本当作单词,而是把含义转化为数字向量(通常是 1536 维)。"员工休假政策"和"职员请假指南"用词不同,但语义接近,它们生成的向量在数学空间中也会彼此靠近。
这样一来,当员工问"我可以在上班时穿牛仔裤吗",即使政策文件里根本没出现"牛仔裤"三个字,系统也能凭语义匹配到着装规范。嵌入解决的核心问题,就是让检索从"字面匹配"升级为"语义匹配"。
嵌入向量的生成依赖专门的嵌入模型(如 OpenAI 的 text-embedding-3-small/large、Google 的 text-embedding-004),它们与负责对话的 LLM 是两个独立的模型。嵌入模型接收一段文本,输出一个固定长度的浮点数数组——即向量。1536 维意味着每段文本被映射到一个 1536 维空间中的点,语义相似的文本在这个高维空间中距离更近。衡量两个向量相似度最常用的方法是余弦相似度:计算两个向量夹角的余弦值,结果在 -1 到 1 之间,越接近 1 表示语义越相似。这一数学机制是整个语义搜索和 RAG 系统的底层基础——检索时,用户的问题同样被转化为向量,再与数据库中所有文档块的向量做相似度计算,排名最高的几个块被认为是最相关的上下文。
LangChain:把零散组件连成系统
有了 LLM 和嵌入,还需要一个把它们串起来的系统。如果直接用 OpenAI SDK 手写聊天界面,你很快会发现大量缺失环节:存储聊天消息、维护对话上下文、连接内部知识库,以及未来可能从 OpenAI 切换到 Anthropic 或 Google 的灵活性。

LangChain 作为抽象层解决了这些痛点。它与直接调用 LLM 的核心区别在于智能体(Agent)概念:直接用模型是把它当作静态大脑,而智能体拥有自主性、记忆和工具,能自行决定完成任务所需的步骤。教程演示了实操对比——用原生 SDK 发起一次调用要写十多行样板代码,切换提供商还要全部重写;而用 LangChain,相同逻辑被压缩到三行,切换模型只需改一个模型名称,代码量减少约 70%。
LangChain 还提供记忆管理(Memory)、向量数据库标准化接口(Pinecone、ChromaDB 通用)、嵌入调用、工具集成等预构建组件,并支持提示词模板、输出解析器以及用管道操作符进行链式组合,让构建 AI 流水线更简洁、更可扩展。
提示工程:控制智能体行为的技术
提示词质量直接决定回复质量。一个模糊的"政策是什么"会引出大量无关细节,而"公司针对国际员工的远程办公政策是什么"则能得到精准结果。教程梳理了四种主流技术:
- 零样本(Zero-shot):不给示例,完全依赖模型已有知识,速度最快;
- 单样本/少样本(One-shot/Few-shot):在提示词中提供一到多个示例,确保格式、语气和风格的一致性;
- 思维链(Chain-of-Thought):给模型一系列思考步骤,比如先审查 GDPR 要求、再分析政策漏洞、再研究行业最佳实践、最后起草建议,特别适合复杂推理任务。

核心结论是:选对技术能让提示效果显著提升——零样本快、单样本保格式、少样本强语气、思维链擅长推理。
向量数据库与语义搜索
传统结构化数据库(如 SQL)搜索压力在用户身上,必须构造正确的查询语句(甚至要用通配符模糊匹配)。向量数据库则把压力转移给搭建者,换来的是让后续检索者只需用自然语言提问即可。

搭建时需要掌握几个核心概念:
- 维度:通常 1536 维,在表达丰富度和存储负担之间取得平衡;
- 评分阈值(Score):判断结果需多相似才算匹配,用于过滤低相似度结果(如"带笔记本去佛罗里达"与"去佛罗里达度假"语义完全不同);
- 分块重叠(Chunk Overlap):长文档切分成块时为避免语义被截断,让相邻块保留重叠上下文。
教程给出一组实测数据:500 字符块大小配合 100 字符重叠,可将检索准确率提升近 40%;完整语义搜索引擎最终把搜索失败率从 60% 降到成功率 95%。常见实现包括 Pinecone 和 ChromaDB。
RAG:检索增强生成
RAG(Retrieval-Augmented Generation)把流程拆成三步:检索(将用户问题嵌入后与文档向量做语义比对)、增强(运行时把检索到的数据注入提示词)、生成(基于真实、最新、私有的数据回答)。它的最大价值在于,无需微调模型就能让 AI 获得超出训练数据范围的知识。
实战中,一个关键的反幻觉手段是系统提示词约束:答案必须仅来自检索到的文档,若信息不在上下文中,AI 必须回答"我提供的文档中没有相关信息"。此外还要为每个答案加上来源归属,让系统成为可投入生产的问答引擎。教程也强调,不同数据集需要不同的分块策略——法律文件需保持长段落完整,而对话记录则适合句子级高重叠分块。
RAG 与另一种让模型掌握私有知识的方案——微调(Fine-tuning)——常被拿来对比。微调是在已有模型基础上用私有数据继续训练,让知识"烧录"进模型权重,优点是推理时无需额外检索步骤,但代价高昂:每次数据更新都需要重新训练,费用可能达到数千美元,且微调模型更容易在特定领域外出现能力退化。RAG 则是运行时动态注入,数据更新只需重新嵌入新文档,无需触碰模型本身,非常适合内容频繁变动的企业知识库。两者并非互斥——实践中也有"微调+RAG"的组合方案,用微调塑造模型的回复风格与专业术语习惯,用 RAG 保持知识的实时性。对大多数企业场景而言,RAG 是更低成本、更易维护的首选起点。
LangGraph:面向复杂工作流的编排
当业务需求升级到多步工作流、条件分支或迭代过程时,LangChain 就显得力不从心,这正是 LangGraph 的用武之地。它把流程建模成一张图:每个节点是独立的计算单元(如搜索文档、提取内容、评估 GDPR 合规性、交叉比对法规、生成建议),节点之间用边连接,并通过**共享状态(State)**在整个流程中传递信息。

条件边赋予了系统循环与分支能力。例如当合规分数低于 75% 时,边会把流程导回收集更多文档的节点;超过 75% 则继续生成最终报告。这种设计带来了迭代分析的循环、基于中间结果的条件分支,以及贯穿工作流的持久状态。
MCP:连接外部系统的通用协议
当智能体需要访问客户数据库、工单系统、库存软件等外部系统时,为每个 API 写自定义集成成本高昂。MCP(模型上下文协议)类似 API,但提供的是智能体可自主理解和调用的"自描述接口",把集成负担从开发者转移到了 AI 身上。
教程用一个 FastMCP 构建的 CustomerDB 服务器示例说明:MCP 服务器代码只需写一次,而且不一定要你亲自写——社区可能已经为 GitHub、GitLab、SQL 数据库等流行工具写好了现成的 MCP 服务器,你可以直接接入。一个形象的类比是:MCP 协议像 USB 端口,服务器是设备,工具是功能,而 LangGraph 就是使用这些功能的电脑。多个 MCP 服务器可以在统一智能体下协同——数学问题交给计算器,天气问题交给天气服务,由 LangGraph 智能分发。
MCP(Model Context Protocol)由 Anthropic 于 2024 年 11 月提出并开源,目标是成为 AI 智能体与外部工具/数据源交互的行业标准协议。传统 Function Calling(函数调用)方案需要开发者为每个 LLM 平台分别定义工具的 JSON Schema,换平台就要重写;MCP 则定义了一套与模型无关的通用接口规范,服务器按规范暴露工具,任何支持 MCP 的客户端(Claude Desktop、LangGraph、Cursor 等)都能直接调用,实现"一次编写,到处运行"。MCP 服务器可以本地运行(通过 stdio 通信)或远程部署(通过 HTTP/SSE),这使得企业可以把内部数据库、ERP 系统等敏感资源封装成本地 MCP 服务器,既赋予智能体访问能力,又避免数据离开企业网络。
从静态文档到动态智能系统
当上下文窗口、向量数据库、LangChain、LangGraph、MCP 和提示工程这些组件整合在一起,TechOp 的文档搜索从原本耗时 30 分钟的手动操作,缩短到不足 30 秒,准确率还因语义检索而大幅提升。再叠加 7×24 的聊天界面、预测性分析和主动合规智能体,系统甚至能在员工开口之前就主动解决问题。
从静态文档到动态智能系统的跃迁,不只是 TechOp 的转折点,也是任何想释放自身知识价值的企业都会面临的路径。这套从 LLM 原理到多智能体工作流的技术栈,正是当下生产级 AI 应用的通用骨架。
相关推荐

无GPU也能跑大模型?老旧DDR3服务器的本地推理性价比探讨
一场Reddit讨论探讨了无GPU本地部署大模型的可行性:用老旧DDR3多路服务器靠内存带宽跑Qwen 3.8 Flash,以及4bit量化、KV缓存与上下文长度的实用权衡与电费成本争议。

拓扑域外泛化:让AI预测系统从未见过的动力学突变
NeurIPS论文提出拓扑域外泛化方法,通过特征分离与物理稀疏先验修复分层DSR模型缺陷,使AI能在不知控制参数的情况下预测系统分岔与动力学突变,适用于PLRNN和Neural ODE。

用不好AI Agent是你的错吗?破解AI工具焦虑的实用指南
用不好AI Agent是你的能力问题吗?本文从产品成熟度、使用预期和场景匹配三个角度剖析AI工具使用困境,提供破解AI焦虑的实用方法与选型建议。