大型语言模型(LLMs)在有效利用越来越多的外部工具(如模型上下文协议(MCP)所定义的工具)方面存在困难,这是由于提示膨胀和选择复杂性造成的。因此引入了RAG-MCP,这是一个检索增强生成框架,通过卸载工具发现来克服这一挑战。
提示膨胀与 MCP 压力测试
- 提示膨胀问题:随着可用的MCP(Model Context Protocol)服务器数量增加,将所有工具描述包含在单个提示中会导致提示过长,消耗大量token,并降低模型区分和回忆正确工具的能力。这种现象类似于“针在草堆中”(Needle-in-a-Haystack, NIAH)测试,即在长上下文中检索关键信息的能力会随着上下文长度增加而显著下降。
- MCP压力测试设计:为了量化工具选择能力随工具池大小的变化,作者设计了一个MCP压力测试。测试中,候选MCP服务器的数量从1增加到11100,每次试验中随机选择一个“真实”MCP(唯一能满足任务需求的工具)和若干干扰项(distractors)。模型需要从这些候选中选择正确的MCP并执行任务。通过改变候选工具的数量和位置,测试模型在不同工具池规模下的选择准确性和任务成功率。
RAG-MCP 框架
-
框架设计:RAG-MCP框架通过检索增强生成(RAG)技术解决提示膨胀问题。它不将所有工具描述一次性提供给LLM,而是将工具描述存储在外部向量索引中,并在查询时动态检索与用户任务最相关的工具描述。
-
工作流程:
-
- 检索(Retrieval):使用轻量级LLM(如Qwen)对用户任务描述进行编码,并在MCP索引中执行语义搜索,返回与任务最相似的前k个候选工具。
- 验证(Validation):对每个检索到的MCP,生成少量示例查询并测试其响应,以确保其基本兼容性(可选步骤)。
- 调用(Invocation):仅将最佳MCP的描述(包括工具使用参数)注入LLM提示中,LLM随后通过函数调用接口执行任务。
-
框架优势:
-
- 减少提示大小:避免上下文窗口过载,即使工具库很大也能保持高效。
- 降低认知负担:LLM无需筛选数百个干扰工具,从而提高选择准确性和减少幻觉(hallucinations)。
- 资源效率:与传统MCP客户端相比,RAG-MCP仅激活选定的MCP,降低了启动成本,并支持任意大小的工具集,而无需担心基础设施瓶颈。
- 多轮对话鲁棒性:在多轮对话中,LLM无需重复包含所有MCP提示,RAG-MCP的检索器可以动态处理工具回忆,释放上下文空间用于任务特定推理。
三步流程图
-
流程图总结:RAG-MCP的操作流程分为三个核心步骤:
-
- 用户任务输入:用户的自然语言任务被编码并提交给检索器。
- 检索器选择和验证MCP:检索器在MCP索引中搜索,按语义相似性对候选工具进行排序,并通过合成示例测试每个工具的兼容性(可选)。
- LLM执行任务:LLM仅接收选定MCP的描述和参数,并通过函数调用接口执行任务。
实验结果
- 性能提升:RAG-MCP在工具选择的准确性上显著优于基线方法。在基准任务中,RAG-MCP的工具选择准确率达到了43.13%,而基于关键词匹配的“实际匹配”方法和直接提示所有工具的“空白条件”方法的准确率分别为18.20%和13.62%。
- 提示大小减少:RAG-MCP显著减少了提示中使用的token数量,平均为1084个token,而“空白条件”方法需要2133.84个token。
- 生成token数量:RAG-MCP的完成token数量略高于“实际匹配”方法(78.14 vs 23.60),但这种增加与更高的准确性和整体任务成功率相关。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。