摘要:大多数开发者认为构建 AI 系统的核心在于选择模型,但真正的挑战在于理解何时让 AI “获取知识”(RAG),何时让 AI “执行操作”(MCP)。本文将深入剖析这两者的区别、互补性以及混合架构的未来。

大多数开发者在搭 AI 系统时,第一反应是挑模型——选 GPT、选 Claude、还是用本地部署的开源模型。这个选择当然重要,但它不是那个"先想清楚再动手"的问题。

真正应该先回答的是:你的 AI 到底需要获取知识,还是需要执行操作

这两件事对应的技术路线完全不同。前者是 RAG(检索增强生成),后者是 MCP(模型上下文协议)。它们不是二选一的关系,而是两套各有专长的工具。搞清楚什么时候用哪一套——或者什么时候该同时用——才是决定一个 AI 系统能不能用的关键。

RAG:让 AI “读懂"你的数据

RAG 要解决的是一个很具体的问题:大模型的训练数据有截止日期,而且不包含你企业的私有信息。

它的核心思路很简单——把用户的查询先投到一个检索系统里,拿到相关的文档片段再喂给 LLM,让它基于这些片段生成回答。

流程大致如下:

用户查询 -> 向量数据库(匹配相关片段)-> LLM(结合上下文生成答案)-> 最终回复

这解决的是"LLM 不知道我的私有数据"的问题。它让 AI 看起来像是在"拥有知识”——实际上是给你塞参考资料,让它照本宣科。

RAG 擅长处理的内容:文档、PDF、企业知识库里的结构化或非结构化文本。它的典型应用场景包括企业内部问答、法律合规搜索、客户支持自动化等。

性能方面有两个值得注意的特点。速度快(通常在百毫秒级别),因为检索是在预处理的向量数据库里做的,不需要等 LLM 慢慢生成。查询成本低——单次 token 消耗相对较小。

但 RAG 有个根本限制:它是只读的。它可以检索、摘要、解释已有内容,但不能更新数据库、触发工作流、或者执行任何实际的操作。如果你希望 AI “去做"一件事而不是"说"一件事,光靠 RAG 不够。

MCP:让 AI “动手"改变世界

MCP 解决的是另一个问题:LLM 与现实系统之间有一道墙——它能看到信息但无法改变任何东西。

通过标准化的接口,MCP 让大模型能够调用 API、操作数据库、驱动工作流。它的核心思路是让 AI 拥有"手脚”

工作流程跟 RAG 不同:用户查询 -> LLM Agent 做规划(把目标拆解成可执行的步骤)-> 调用工具/API/外部系统 -> 执行结果返回 -> LLM 基于执行结果做决策和反馈。

MCP 的典型能力包括:

  • 实时交互:直接连接 CRM、数据库、支付网关等外部系统
  • 多步推理与执行:根据上一步的执行结果动态决定下一步行动
  • 典型场景:更新客户记录、创建工单、触发支付流程、自动化数据管道

性能上的特点跟 RAG 恰好相反:速度偏慢,因为涉及实时 API 调用和网络延迟;上下文更大(通常单次查询超过 3 万 token),因为要处理工具调用的输入输出和返回结果。

MCP 的挑战也不小:API 稳定性、认证过期更新、集成维护成本——每一块外部系统的接入都需要专门的工程和运维投入。

RAG 和 MCP 的实际差异

性能与成本

img

RAG: 构建阶段贵(需要建立向量索引、做 embedding),但运行成本低。数据量增大时,成本主要取决于索引维护而非查询频率。

一个大致可以参考的数字:典型单次查询约 9,600 token,检索响应时间约 120ms。

MCP: 启动便宜(不需要前期知识库构建),但调用次数多了成本会线性增长。每次 API 调用都产生实时费用和网络开销。

单次查询通常 3 万 token 左右,速度受限于外部服务的响应时间和网络状况。

img

安全模型

这块两者思路完全不同:

RAG 把数据集中到向量数据库里——敏感信息被 embedding 后存储在同一个地方,存在单一攻击面的风险。

MCP 让数据留在原始系统中不移动,通过 OAuth2、mTLS 双向认证、基于身份的访问控制来保证安全。数据是分布式的,不存在集中泄露点。

简单来说:RAG 集中管理但集中暴露风险,MCP 保持数据分散但集成复杂度更高。

扩展性与维护

img

RAG 的可扩展性取决于文档量、向量数据库性能和上下文窗口限制。数据更新后需要重新索引或增量更新 embedding,存在数据漂移问题需要持续监控。

MCP 的可扩展性取决于你接入了多少外部系统、遇到了多少 API 速率限制和网络延迟。每一个集成都需要处理认证更新和接口变更。

一句话总结:RAG 是数据密集型,MCP 是系统集成密集型。

现实情况

根据公开数据和行业报告:约 70% 正在部署 AI 应用的公司在使用 RAG,它在企业知识系统中占据主导地位,市场规模已达数十亿美元级别并持续增长。

MCP 方面还在快速发展阶段。它正成为 Agentic AI 的 emerging standard,已索引超过 10,000 个服务器端点,在自动化工作流领域增长最快。

混合架构:RAG + MCP 才是真实世界的答案

行业正在快速收敛到一个模式:用 RAG 获取知识,用 MCP 执行行动。

典型的混合工作流是这样的:

用户查询 -> RAG 检索相关知识 -> MCP 执行动作 -> LLM 整合结果生成最终响应

举一个例子:用户问"查看这位客户的最后订单,并将其状态标记为高优先级。”

  1. RAG 先介入——从向量数据库中检索该客户的历史订单记录
  2. MCP 随后调用 CRM API,将对应订单的状态更新为"高优先级"
  3. LLM 综合查询结果和操作反馈,生成最终的回复内容

为什么混合架构越来越值得考虑?有几点原因:

首先是性能。混合系统可以通过 RAG 提供的上下文减少 MCP 盲目调用的次数,通常能将响应质量提高约 30%——具体数字取决于场景。

其次是完整性。仅靠 RAG 做不到闭环(只知道不说做),仅靠 MCP 缺乏必要的上下文(容易做出错误的操作)。两者结合让系统既能"知道该做什么"又能"实际去做"。

避坑经验

在落地过程中,最常见的错误其实很朴实:

  • 在需要执行操作的场景里只用了 RAG——结果系统能回答问题但无法真正执行流程
  • 在没有足够 grounding 的环境下单独使用 MCP——LLM 缺乏事实依据,生成的操作可能是错误的
  • 忽视了隐性成本:RAG 的索引维护费和 MCP 的 API 调用费,这两项在初期很容易被低估

选型时建议先做一个简单的判断:你的系统需要的是"回答问题"还是"执行任务"? 如果答案偏向前者,从 RAG 开始。如果偏向后者,从 MCP 开始。大部分实际项目两者都需要,但可以从单一方向入手,逐步叠加另一侧的能力。

展望

几个值得关注的方向:

Agentic RAG——把规划能力加到 RAG 上,让它不仅能检索还能制定策略。当前大多数 RAG 系统还是被动地"按查询抓取",具备自主规划能力的版本在实际应用中能处理更复杂的任务链。

通用工具协议——MCP 有望成为 AI 系统的标准化接口,类似于 USB 之于硬件外设。这意味着不同工具和系统之间的集成成本会逐步降低。

动态路由——系统能够在 RAG 和 MCP 之间自动判断该走哪条路径,根据实时成本和效率优化调用优先级。这已经在一些高级系统中出现雏形。

延伸阅读

智慧物流 订单配送规划海报