--- title: "迭代能力扩展 — Iterative Capability Extension" created: 2026-06-19 updated: 2026-06-19 type: concept tags: [tool-discovery, iterative, toolchain, mcp-zero, multi-turn] sources: - https://arxiv.org/abs/2506.01056 --- # 迭代能力扩展(Iterative Capability Extension) ## 定义 Iterative Capability Extension 是 MCP-Zero 的多轮工具发现机制:Agent 在任务执行过程中**逐步发现和集成工具**,动态构建跨域 toolchain,而非一次性预加载全部工具。 ## 工作流 ``` Task: "Debug my code: src/train.py" │ ├── 第 1 轮:识别需要读文件 → Request: filesystem.read_file │ └→ 获取代码内容 ├── 第 2 轮:识别需要编辑 → Request: filesystem.edit_file │ └→ 修改代码 ├── 第 3 轮:识别需要执行 → Request: terminal.run_cmd │ └→ 验证修复 └── 完成 ``` 每轮仅加载当前需要的工具,而非预先加载 filesystem + code_editor + terminal 的全部 schema。 ## 与传统方案的对比 | | 一次性注入 | 检索增强(单轮) | 迭代扩展 | |---|---|---|---| | 工具数量 | 全部在 context | 首轮检索 | 按需逐轮 | | 跨域 | 昂贵(全部预加载) | 受限(基于初始查询) | 天然支持 | | 容错 | 无 | 检索失败=任务失败 | 可优化请求重试 | ## 容错与自纠正 如果返回的工具不足或不合适,Agent 可以: 1. **优化请求**:重新描述需要什么 2. **重新检索**:触发新一轮匹配 3. **降级**:当确认无合适工具时,退回模型参数知识 ## 理论依据 迭代扩展对应信息增益的累积: ``` I_total = Σ I(T*_i; r_i | s_{t_i}) ``` 每轮请求 r_i 针对当前子任务状态 s_{t_i} 最大化信息增益——而非一次性从初始查询推断全部需求。 ## 参考 - [[active-tool-discovery|主动工具发现]] - [[active-tool-request|Active Tool Request]] - [[hierarchical-semantic-routing|层次语义路由]] - [[fei-mcp-zero-2025|MCP-Zero 论文]]