2026 年 8 月 2 日 · 阅读时长 6 分钟

MCP、RAG 与 AI Agent:知识、工具与执行的分工

MCP、RAG 与 AI Agent 经常同时出现在一套 AI 系统中,三者分别处理知识获取、系统连接和任务执行。

  • RAG 为当前生成补充外部证据,重点是模型本次能看到什么。

  • MCP 统一 AI 应用访问外部数据和工具的方式,重点是系统如何连接。

  • AI Agent 围绕目标选择下一步,并根据执行结果继续调整,重点是任务如何完成。

可以把它们分别看作知识层、工具层和执行层。这套分层用于解释职责,不规定部署顺序。每套 AI 应用可以按任务选择其中一项或多项。

MCP、RAG 与 AI Agent 的分工:MCP 通过 Client 和 Server 连接 AI 应用与外部系统;RAG 检索知识并将 Context 交给 LLM;AI Agent 通过观察、规划、行动和验证调用工具并更新状态
三者可以独立使用,也可以组合:RAG 提供证据,MCP 连接外部系统,Agent 负责多步决策与执行。

RAG:为回答找到外部证据

RAG 是 Retrieval-Augmented Generation 的缩写。应用先检索与问题相关的内容,再把检索结果加入 Prompt 或 context,最后由 LLM 生成回答。

问题 -> 检索 -> 选择相关内容 -> 组装 context -> LLM 生成回答

它适合处理企业文档问答、产品手册查询、知识库搜索,以及需要展示来源的回答。知识发生变化时,应用可以更新数据和索引,不必仅靠重新训练模型来写入新事实。

RAG 改善的是模型在当前请求中可用的信息。修改工单、发送消息和创建记录等外部操作仍由应用工具执行。数据过期、切分不合理、检索遗漏和模型没有忠实使用证据,都会产生错误。

因此,RAG 系统至少要分别评估两件事:检索是否找到了正确材料,生成是否遵守了材料。只看最终答案,很难判断问题出在检索还是生成。

MCP:统一工具与数据的接入方式

MCP 是 Model Context Protocol 的缩写。它定义 AI 应用与外部系统之间的通信方式,使 MCP Server 可以向 Client 暴露 Tools、Resources 和 Prompts 等能力。

AI 应用(Host)-> MCP Client -> MCP Server -> API、数据库或应用

没有 MCP 时,团队也可以为每个服务编写专用 SDK、函数调用或 HTTP 集成。MCP 的价值在于提供统一协议,让同一个 Server 能被不同的兼容 Client 使用,并减少每个 AI 应用都重新设计连接约定的成本。

MCP 规定能力如何被描述、发现和调用。具体调用哪个工具、按什么顺序调用、失败后是否重试,仍由 Host 中的应用逻辑、Workflow 或 Agent 决定。认证、授权、用户确认和审计也需要在实际实现中配置,协议本身不会替应用划定安全边界。

MCP 与 RAG 可以组合,但职责不同。一个 MCP Server 可以提供文档资源或搜索工具,成为 RAG 的数据入口;它也可以提供创建工单、发送消息等操作工具,完全不经过向量检索。

AI Agent:根据反馈推进任务

AI Agent 接收目标和上下文,判断下一步行动,调用工具观察或改变环境,再根据结果继续执行。常见过程可以概括为:

观察 -> 规划 -> 行动 -> 验证 -> 继续或停止

Agent 适合步骤难以预先完全写死的任务。例如排查一次线上故障时,它可能先读取告警,再查询日志,根据错误类型决定是否查看最近发布记录,最后运行只读检查并整理证据。每一步都依赖上一步返回的真实结果。

工具、Memory 和 RAG 都可以进入这个循环。Agent 可以通过 MCP 调用外部系统,通过 RAG 找到相关文档,并用 Memory 保存任务状态或已经确认的决定。工具越多,可变更的范围通常越大;可靠性仍依赖执行上限、最小权限、失败处理、验证标准和人工确认点。

三者如何组合

假设任务是:「找出上季度存在续费风险的客户,并为负责人创建跟进任务。」

一套组合系统可以这样运行:

  1. Agent 把目标拆成风险规则确认、客户筛选、结果核对和任务创建。

  2. RAG 从销售规则、客户成功手册和历史说明中检索「续费风险」的当前定义,并保留来源。

  3. Agent 根据这些规则生成查询条件。

  4. MCP Server 提供 CRM 查询和任务管理工具,Agent 通过 MCP Client 调用它们。

  5. Agent 检查客户范围、负责人和重复任务;写入前按权限策略请求人工确认。

  6. 工具返回创建结果后,Agent 核对成功记录和失败原因,再生成执行报告。

这个例子将职责分开:RAG 提供风险规则的证据,MCP 连接业务系统,Agent 安排筛选、核对和写入顺序,原有权限系统继续约束数据访问与外部操作。

核心差异

维度RAGMCPAI Agent
主要问题如何为生成找到相关外部证据如何统一连接工具与数据如何根据目标和反馈选择下一步
主要输入问题、文档、索引和过滤条件Client 请求、Server 能力与参数目标、上下文、工具结果和状态
主要输出检索内容、来源和生成回答Resource 内容或 Tool 调用结果多步行动、验证结果和最终交付物
是否负责规划通常不负责不负责负责动态决策,或受 Workflow 约束
常见失败检索遗漏、证据过期、生成偏离证据认证失败、权限过大、Schema 或调用错误目标漂移、循环失控、误调用、缺少验证
可以独立使用可以可以可以,但通常需要至少一种工具或反馈来源

不必默认把三者全部加入系统

只需要回答内部文档问题时,可以先实现检索、引用和评估,不必增加 Agent。固定的跨系统同步任务可以使用普通 Workflow,通过 MCP 复用连接能力,也不一定需要模型动态规划。

当任务需要根据中间结果改变步骤,并且最终结果可以验证时,再考虑 Agent。此时若任务依赖大量私有或持续更新的知识,可以加入 RAG;若多个 AI 应用需要复用同一批工具,可以加入 MCP。

直接调用 API 仍然是有效方案。只有一个应用、少量稳定接口时,专用集成往往更容易理解和维护。MCP 适合解决连接复用与互操作问题,不应为了使用协议而增加一层没有实际收益的抽象。

设计时可以依次检查三个条件:

  1. 模型缺少外部证据时,先评估 RAG。

  2. 多个工具或数据源需要统一接入时,评估 MCP。

  3. 下一步依赖环境反馈,无法用固定步骤完整描述时,评估 Agent。

答案可能是其中一个、两个或全部。系统结构应由任务、权限和验收方式决定。

延伸阅读

参考资料

CO

我是 Cooper,一名生活在中国的开发者,多年来一直在家远程工作。

主要使用 Go、PHP 和 Rust,从事移动端、Web、跨境支付与资金系统开发。目前主要采用 Vibe Coding 构建产品,并以真实运行结果完成验证与交付。