大型语言模型是一个数据宝库,但直到去年,它们的使用还仅限于基于训练数据的基本 Q/A。后来出现了 RAG 概念,这一突破帮助我们将数据源与 LLM 连接起来,创建个性化、可信的系统。现在,有了 MCP,我们通过将 LLM 与外部工具连接起来,将我们与 LLM 的合作方式向前推进了一步。那么,RAG 与 MCP 究竟是一回事,还是这些技术互为补充,可以提高我们从 LLM 中获得的产出?在本文中,我们将分析 MCP 和 RAG 之间的区别,并了解如何将二者结合起来使用 LLM 构建复杂的解决方案。
什么是RAG?
RAG 或称 “检索增强生成”(Retrieval Augmented Generation)将信息检索的功能与生成过程相结合。通常情况下,LLM 仅依靠其训练数据来生成对用户查询的响应,这有时会导致结果不正确或有偏差。有了 RAG,LLM 可以在输出生成过程中检索外部信息,从而弥补 LLM 静态训练知识与动态信息之间的差距。
以下是 RAG 系统的工作原理:
- 查询:用户对 LLM 的输入就是 RAG 系统的查询。
- 检索:在 LLM 生成响应之前,RAG 系统内的“检索”过程会浏览与查询相关的知识库,以找到最相关的信息。
- 扩充:然后将检索到的最相关信息“增强”到原始查询中,然后将这些累积信息输入 LLM。
- 生成:LLM 使用综合输入(查询 + 检索到的信息)生成更准确、更相关的响应。最后,该回复将与用户共享。
基于 RAG 的系统通常用于要求输出准确、全面和经过充分研究的任务。因此,这类系统被广泛应用于以下任务中:
- 客户支持:确保根据最新信息回复客户。
- 企业搜索:帮助公司建立可靠的搜索引擎,帮助员工找到相关的公司信息。
- 个性化推荐:帮助推荐系统根据用户的选择和以往行为推荐产品和服务,从而为用户提供更好的服务。
不仅如此,RAG 系统还被广泛应用于法律援助、医疗保健研究、财务报告等任务中。然而,尽管 RAG 系统有其优势,但也面临着一系列挑战,如上下文窗口限制、检索不准确、延迟和设置复杂性等。
什么是MCP?
MCP 或“模型上下文协议”由 Anthropic 公司于2024年推出,但到了2025年,世界终于认识到了它的潜力。MCP 允许 LLM 与外部工具、API 和数据源实时无缝连接。这一开放式标准使实验室管理员不仅能生成文本,还能帮助他们执行操作、触发工作流和访问当前信息,以支持主动决策。
MCP 的主要组成部分包括
- 模型:模型或 LLM 是运行此框架的引擎,负责您收到的输出。可以使用“客户端”(如 Claude 桌面应用程序、集成开发环境或聊天机器人)访问模型。
- 上下文(Context):它是模型准确回答您的查询所需的额外信息。上下文保存在一个名为“服务器”的系统中。它可以是 Google Drive、GitHub 存储库、邮箱、PDF 等。
- 协议(Protocol):这是一套允许模型访问不同来源(如外部工具和 API)以获取与该查询相关的上下文的准则。
当用户输入查询时,客户端会向服务器发送请求,以获取相关信息。服务器为客户端提供所需的上下文,然后客户端利用这些上下文为用户提供响应或完成任务。因此,MCP 允许 LLM 思考并使用其所掌握的工具来执行操作并提供可靠的响应。
MCP 对于构建需要以下功能的系统非常有用:
- 实时数据访问:如股票市场分析应用程序、库存管理系统或订单处理应用程序。
- 任务自动化:如更新 CRM、发送电子邮件、安排会议等。
- 触发工作流:如员工入职流程或部署代码。
总之,MCP 无需手动上传数据或为不同工具创建自定义集成。它还允许 LLM 与本地和基于云的系统协同工作,将其用途从简单的 Q/A 工具扩展到实际的行动系统。
推荐文章: 如何使用 MCP?
MCP与RAG:竞争对手?
不,在工作方式或任务方面,MCP 和 RAG 并不是竞争对手。正如我们在前几节所讨论的,MCP 和 RAG 执行不同的任务,并以不同的方式赋予当地联络员权力。RAG 为当地联络员提供更多数据,而 MCP 则赋予当地联络员采取行动的能力。下表概述了多边协商程序与区域咨询小组的主要区别:
特性 | RAG(检索增强生成) | MCP(模型上下文协议) |
---|---|---|
目的 | 通过检索相关外部数据增强大语言模型(LLM)的知识 | 扩展大语言模型(LLM)的能力,以使用工具并执行操作 |
功能 | 从文档、数据库或搜索API中提取信息 | 连接工具、API、软件和实时系统 |
使用案例类型 | 提高响应的准确性和上下文相关性 | 启用现实世界的行动、工具使用和自动化 |
工作原理 | 检索相关文档 → 增强提示 → 生成输出 | 使用结构化工具架构 → 选择工具 → 执行操作 |
数据访问 | 通常处理文本或向量数据 | 处理功能端点(如API、插件、Webhooks) |
执行 | 被动:仅检索和通知 | 主动:可以执行如提交表单或更新系统的操作 |
示例任务 | “我们的退款政策是什么?” → 从政策文档中检索 | “取消我的订阅” → 触发退款API |
模型输入影响 | 用更多内容扩展提示以更好地基础化 | 不总是扩展提示,专注于决策和执行 |
复杂性 | 需要向量数据库、分块和嵌入逻辑 | 需要工具定义、安全层和执行控制 |
最佳使用场景 | 知识型问答、基础化和内容生成 | 工作流编排、自动化和工具增强代理 |
MCP和RAG可以协同工作吗?
是的,MCP 和 RAG 可以协同工作,帮助我们设计高度复杂的人工智能工作流程。RAG 允许 LLM 提取相关信息,而 MCP 则根据检索到的知识执行任务。将两者结合使用,我们可以创建以下工作流程:
1. 将RAG作为MCP框架内的工具
在这种情况下,使用 MCP 运行的 LLM 可以将 RAG 作为其工具之一,用来获取所需的信息。
示例:由 MCP 驱动的人工智能系统用于营销活动。它使用 RAG 检索有关以往营销活动和竞争对手的信息。然后,它使用 MCP 驱动的工具创建社交媒体帖子,并安排它们在不同平台上发布。
2. 指导RAG驱动的代理的MCP
在涉及多个代理的系统中,每个代理都可以拥有自己的 RAG 管道,而 MCP 可以充当系统的协调者。
示例一个由 MCP 驱动的多代理客户支持团队: 当客户提出询问时,MCP 代理会根据询问将任务分配给其中一个技术支持/订单状态/付款问题代理。该代理使用 RAG 根据查询查找相关信息,然后将其输出转发给 MCP 代理。最后,该代理将其回复传达给客户。
MCP 和 RAG 的结合可用于增强 LLM 的功能,并有助于构建能够思考和行动的人工智能系统。
您应该选择哪一个?
选择 RAG、MCP 还是 RAG + MCP 取决于任务。每种框架都有其独特的优势。以下是您如何决定采取哪种方法的方法:
- RAG:如果您的主要目标是提高 LLM 生成的内容的准确性、相关性和事实基础,那么 “RAG ”应该是您的选择。
- MCP:如果您的主要目标是让 LLM 与外部系统交互、执行操作或利用工具来完成任务,那么 “MCP ”就是您的首选。
- RAG + MCP:如果您的目标是建立一个能够更好地理解和果断行动的智能自主系统,那么 RAG 和 MCP 的组合就是您的首选。
推荐阅读: A2A 和 MCP 之间有什么区别?
小结
大型语言模型已经风靡全球!然而,它们的使用仍然有限。通过 RAG,法学硕士可以访问外部知识库,这些知识库可以帮助法学硕士生成更加明智的回复。有了 MCP,法律硕士就可以使用工具来执行操作。RAG 和 MCP 并不相互竞争,两个框架的目的各不相同。但 RAG 和 MCP 可以共同帮助我们构建智能、高效的系统。
评论留言