实验 4-1 · 主动工具发现(Active Tool Discovery)
127 个 MCP 工具目录下:全量 schema 注入(对照组)vs 本地嵌入索引 + 按需动态注入(实验组)的对照验证
Experiment: 4-1
Model: qwen3:4b
Transport: mcp-stdio
Server: perception-tools
状态: passed
核心结论速览
在 127 个工具的 MCP 目录下,对照组把完整 schema(50,597 tokens)全量注入每次请求;实验组用 all-MiniLM-L6-v2 在本地建 384 维嵌入索引,按任务语义仅注入所需工具的子集 schema。
一句话结论:实验组在工具选择准确率保持 100%(两组均为 1.0,3/3 任务全部完成)的前提下,
把单任务注入的 schema 从全量 50,597 tokens 压到 1,853 ~ 6,092 tokens,
端到端总耗时从 1,766s 降到 282s,加速 6.25×、节省约 24.7 分钟,且不牺牲任何正确性。
对照组 vs 实验组
相同任务、相同模型、相同运行时与目录(控制变量),唯一差异是工具 schema 的注入方式。
对照组 Control
全量 schema 注入(完整目录)
基线
1,766 s
≈ 29.4 分钟 · 端到端总耗时
工具选择准确率1.0(100%)
完成任务3 / 3
单任务 schema50,597 tokens
注入方式一次性全量
实验组 Treatment
本地嵌入索引 + 动态注入
更优
282 s
≈ 4.7 分钟 · 端到端总耗时
工具选择准确率1.0(100%)
完成任务3 / 3
单任务 schema1,853 ~ 6,092 tokens
注入方式按语义检索子集
量化对比
左:端到端总耗时(越低越好);右:三个任务动态注入的 schema tokens(对比全量 50,597 的参考线)。
端到端总耗时 (s) · 越低越好
对照组 Control
实验组 Treatment
加速比 6.25× · 节省 1,484s(≈24.7 分钟)· 正确率不变
动态注入 schema tokens · 三个任务
各任务动态注入
全量 schema 参考线 50,597
工具目录与本地嵌入索引
实验组的技术底座:127 个工具的 schema 经嵌入模型编码为 384 维向量,本地构建索引供按需检索。
工具目录(perception-tools · mcp-stdio)
工具总数127
完整 schema tokens50,597
schema 原始字节208,614 B
gzip 后字节21,565 B
必需工具就位7 / 7 ✓
本地嵌入索引
嵌入模型all-MiniLM-L6-v2
后端transformers mean-pooling
运行设备cpu(local_files_only)
向量数127
向量维度384
验收 Gate 检查(12 / 12 通过)
每一项均为 True 方判定实验有效。全部通过,status = passed。
最终判定
综合 12 项验收 Gate 与双臂对比指标的自动化判定。
✓ 实验通过
status = passed · 12/12 Gate 通过 · 加速 6.25× · 正确率 100% 不变