54 lines
2.1 KiB
Markdown
54 lines
2.1 KiB
Markdown
---
|
||
title: "Dynamic ReAct: Scalable Tool Selection for Large-Scale MCP Environments"
|
||
created: 2026-06-19
|
||
updated: 2026-06-19
|
||
type: paper-raw
|
||
source: https://arxiv.org/abs/2509.20386
|
||
arxiv_id: 2509.20386
|
||
version: v1
|
||
---
|
||
|
||
# Dynamic ReAct: Scalable Tool Selection for Large-Scale MCP Environments
|
||
|
||
**Authors**: Nishant Gaurav, Adit Akarsh, Ankit Ranjan, Manoj Bajaj (agentr.dev)
|
||
**Published**: 2025-09-22
|
||
**Venue**: arXiv:2509.20386 (cs.SE, cs.AI, cs.IR)
|
||
|
||
## 核心问题
|
||
|
||
当 MCP 工具生态扩展到数百到数千个工具时,传统 ReAct Agent 的全量加载方式不可行——LLM 上下文有硬限制。
|
||
|
||
## 五架构演进
|
||
|
||
### 1. Baseline: Direct Semantic Search
|
||
用户查询直接入向量库 → 取 top-k → 绑定 LLM。简单但噪声严重("退订链接"查询返回 Mailchimp 的 unsubscribe 报告而非 Gmail 工具)。
|
||
|
||
### 2. Meta-Tool Query Construction
|
||
暴露向量搜索为 meta-tool,LLM 先构造原子化搜索查询再检索。更精确,但仍需大 k 值。
|
||
|
||
### 3. Search and Load(★ 最优)
|
||
两个 meta-tool:`search_tools`(两级搜索,k1=20→去重→每应用上限 k2=5)+ `load_tools`(LLM 精选后显式加载)。多查询合并、精确加载 < 5 个工具。
|
||
|
||
### 4. Application-Aware (Hierarchical Search)
|
||
增加 `search_apps` 先定位应用再搜工具。application filtering 在语义搜索中效果有限——LLM 倾向直接用 query 包含 app 名。
|
||
|
||
### 5. Fixed Tool Set
|
||
四个固定 meta-tool 动态获取工具信息并调用。缓存效率好,但长对话中性能退化。
|
||
|
||
## 向量检索优化
|
||
|
||
| 策略 | Top-5 | Top-10 |
|
||
|------|-------|--------|
|
||
| OpenAI text-embedding-3-large (baseline) | 40% | 64% |
|
||
| voyage-context-3 | 48% | 68% |
|
||
| **voyage-context-3 + Sonnet context enrichment** | **60%** | 68% |
|
||
| + BM25 hybrid | 56% | 72% |
|
||
|
||
Context enrichment 带来 50% 相对提升(Top-5: 40→60%)。
|
||
|
||
## 关键创新
|
||
|
||
- **default tools**:create_table + web_search 始终可用,避免为通用任务浪费搜索
|
||
- **Meta-tool 作为"七杠杆"**:LLM Client (1) + Meta Tools (4) + Tool Registry (1) + Vector DB (1)
|
||
- 工具加载减少 **50%**,准确率不降
|