在 Model Context Protocol(MCP)系统中,LLM 并不直接读取工具实现,而是依据工具的元数据进行选择。工具的 名称 与 描述 用于概括功能,参数模式(parameter schema) 则定义了工具接受的字段及其组织方式。我们对 367,174 个 MCP 工具的元数据进行统计,发现即使功能相似的工具,其参数模式也存在显著差异:许多工具共享相同的名称和相似的描述,却暴露出不同的参数结构。
为检验参数模式是否会在实际调用前影响工具选择,我们在五种 LLM(包括 GPT 系列)和五个任务上进行受控元数据干预实验。每次比较仅修改一个因素(服务器名称、工具名称、描述或参数模式),其余保持不变。实验中平衡了工具在列表中的位置,并使用条件逻辑回归估计位置校正后的效应。
实验结果表明:
- 参数模式的变化产生的选择偏移最大且最稳定。模型倾向于选择 独立的顶层参数,而不是 分组或复合形式。
- 对参数进行解释的描述能够提升选择概率,名称的影响相对较弱且不一致。
- 进一步比较显示,参数模式的效应取决于具体的参数名称以及请求中信息的呈现方式。当只有一种模式满足显式的请求需求时,所有模型都会优先选择该兼容工具,即使它在列表中的位置不佳。
这些发现表明,参数模式不仅决定了工具的调用方式,还会在工具被实际调用前影响其被选中。对 MCP 开发者和评估者而言,参数模式的设计以及工具的排序 都可能改变最终调用的实现,即便功能保持不变。
点评