Files
myWiki/concepts/active-tool-discovery.md

56 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "主动工具发现 — Active Tool Discovery"
created: 2026-06-19
updated: 2026-06-19
type: concept
tags: [tool-discovery, llm-agents, mcp, active-learning, paradigm-shift]
sources:
- https://arxiv.org/abs/2506.01056
---
# 主动工具发现Active Tool Discovery
## 定义
Active Tool Discovery 是 [[fei-mcp-zero-2025|MCP-Zero]] 提出的工具选择新范式:**Agent 自主识别能力缺口,按需生成工具请求,由系统匹配返回**——而不是被动接受预注入的全部工具 schema。
## 范式对比
| | 被动注入Passive Injection | 检索增强Retrieval-Augmented | 主动发现Active Discovery |
|---|---|---|---|
| 决策主体 | LLM 从全量中选择 | 检索系统预选 | LLM 自主请求 |
| 上下文 | 全部 tool schema 在 context 中 | 仅相关 tool | 仅请求的 tool |
| 多轮能力 | 无(一次性注入) | 受限(基于首轮查询) | 天然支持迭代扩展 |
| 自主性 | 选择器 | 半自主 | 能力构建者 |
## 为什么需要主动发现
三个根本约束:
1. **外部决策权**:被动注入和检索方案将工具选择权交给外部系统,而非 Agent 自身
2. **语义分布差距**:用户查询和正式 tool spec 在不同的语义空间中——检索精度受损
3. **静态能力假设**:工具被一次性选定,而非随任务理解深化而迭代发现
## 理论建模
主动发现可建模为 **active learning**
```
r* = arg max I(T*; r|s_t)
= arg max[H(T*|s_t) - H(T*|r, s_t)]
```
Agent 生成请求 r 以最大化关于最优工具集 T* 的信息增益。
## 关键机制
- [[active-tool-request|Active Tool Request]]:结构化请求生成
- [[hierarchical-semantic-routing|层次语义路由]]:两级精匹配
- [[iterative-capability-extension|迭代能力扩展]]:跨域 toolchain
## 参考
- [[fei-mcp-zero-2025|MCP-Zero 论文]]
- [[mcp-protocol|MCP 协议]]
- [[skill-retrieval|Skill 检索]]类比skill 检索也是主动选择)