大模型在有限上下文中链接外部工具的几种思路
更新日期:
背景
类GPT的大模型在诞生之初,许多人仅仅将它作为日常对话、解决问题的助手,那时大模型还鲜有与外部工具链接的能力;但是当时就开始许多人渐渐的不再写大段文章了,论文、乃至文案、视频号都由大模型生成的或者润色,人们其实很少有静下心来真正写一些东西,网络上开始遍布大模型生成的内容,human data占比越来越少。但是此时还有一个痛点,那就是自动化得不够彻底,相当一部分人还是需要将对话段落复制出来粘贴到其它应用中发送文本。
Anthropic在2024年11月25日正式对外发布了MCP协议,赋予了大模型调用外部工具的能力,打通了自动化这一环,这时候人们乐此不疲地通过mcp服务器将各种系统接入大模型,大模型不再仅仅停留于对话或者生成文案,而是被赋予了操作各种系统的能力。
人们为了追求这样一个全能助手,既能写代码、写word文档、查询天气、查询资讯,又能操作智能家居设备或者地图规划等任务,随着接入系统的增多,发现一个问题:mcp协议本质上是一个大力出奇迹的协议,也即为了让大模型会调用每个工具,只需要每次对话都将一大堆工具的定义、调用方法、参数、描述一股脑发给大模型即可;随着工具接入越来越多,这与大模型有限的上下文是矛盾的、往往只发一个简单的需求,mcp工具的描述都塞满了上下文一大半,第一是会造成模型速度缓慢,第二过大的mcp上下文也会对模型性能造成影响,模型将需要大海捞针般从众多工具中选取正确工具以及识别真正需求的能力,因为大部分上下文都是与当下真正需求无关的;虽然有缓存机制,过大的上下文也造成了不必要的token算力和金钱的浪费。
目前的几种思路途径
截止2026年,我们看到了以下几种业内的解决此问题的方案,他们本质上都是为了解决需要接入大量工具与上下文有限且有代价之间的矛盾:
SKILLS渐进式加载机制
Anthropic在2025年12月18日,将Agent Skills规范正式开放为行业开放标准,本质上每个skill是分三级加载,md文件头部的metadata主要简要描述skill名称作用以及什么时候使用在第一级永远加载,大模型用到skill时候开启加载skill文件余下部分对skill的具体调用进行描述,还有第三级是附带的可选referrence文档在需要时按需加载。这样可以大大减少常驻上下文数量。mcp服务器的智能路由创新
许多mcp聚合服务(例如mcphub)可提供一个智能路由,他们将mcp工具描述、参数这些文档使用重排技术存入向量数据库,只对大模型暴露两个工具:search_tool和call_tool,大模型可以通过search_tool提供需求描述搜到最有可能用到的工具以及参数描述,再通过call_tool工具调用工具,这种办法效率也很高,上下文也比较精简,类似于skill的渐进式加载,调用工具从原先的一步到位直接调用拆分成两步,不会撑爆上下文。claude的Tool Search 机制
Claude在接入大量mcp工具时候默认会打开tool search机制,类似于mcp的智能路由:当您提出指令时,Claude 会使用搜索工具(如 BM25 语义搜索)在目录中查找匹配的工具,并动态、按需地将这几个工具的完整定义加载到上下文中。
结语
以上是目前几种业界创新式的解决方案,也许在不久将来,随着模型性能不断迭代提升,大模型上下文越来越大乃至类似于长期记忆以及短期记忆自动检索机制的出现(类似于人脑记忆体),这个问题也许就不再是问题了,真正的全能大模型会出现。