如何评估 Agent 的「工具调用「能力
配图(无描述)
1️⃣ 考察意图
考察对工具调用评估的系统性理解。刁钻点:工具调用不只是"选对工具",还包括"参数正确"、"结果解析正确"、"错误处理"。
2️⃣ 标准答
工具调用评估四维度:
| 维度 | 指标 | 评估方式 | 目标值 |
|---|---|---|---|
| 工具选择 | 选择准确率 | 选对工具的比例 | >90% |
| 参数构造 | 参数准确率 | 参数完全正确的比例 | >85% |
| 结果解析 | 解析准确率 | 正确理解工具返回值的比例 | >90% |
| 错误处理 | 恢复率 | 工具失败后正确处理的比例 | >70% |
评估方法:
- 工具选择评估:给定任务和工具列表,检查Agent是否选对了工具。难度随工具数量增加——5个工具>90%,20个工具可能降到70%
- 参数评估:检查每个参数的类型、格式、范围。如
send_email(to="all@company.com", body="机密")——参数格式对但值不安全 - 结果解析:工具返回JSON,检查Agent是否正确提取了需要的信息。如搜索返回10条结果,Agent是否选了最相关的
- 错误处理:故意让工具失败(API超时/返回空结果/格式错误),检查Agent是否:(a) 检测到错误;(b) 重试或换用其他工具;(c) 告知用户
ToolBench评估框架:
- 16464个真实API
- 指标:Pass Rate(任务完成)+ Hallucination Rate(调用不存在的API)
- 发现:GPT-4在常见API上Pass Rate 75%,在罕见API上只有30%
3️⃣ 答题模板
"四维度:工具选择准确率>90%、参数准确率>85%、结果解析准确率>90%、错误恢复率>70%。评估方法:选择——给定任务检查选对工具;参数——检查类型/格式/范围/安全性;解析——检查是否正确理解返回值;错误处理——故意让工具失败测试恢复能力。ToolBench用16464个API测试,GPT-4常见API 75%,罕见API 30%。"
4️⃣ 高频追问
追问 1:工具数量增多时选择准确率怎么保持?
三个方案:(1) 路由模型——用轻量分类器(BERT-scale)根据用户意图预筛选3-5个相关工具,LLM只在这3-5个中选择;(2) 工具描述优化——用结构化格式(如OpenAPI spec)描述工具,比自然语言描述更清晰;(3) 分层工具——按领域分组(如"文件操作"组、"网络请求"组),先选组再选具体工具。实验:20个工具加路由模型后选择准确率从70%提升到88%。
追问 2:参数安全怎么评估?
检查参数值是否安全:(1) 敏感参数——
email_to不能是外部域名(除非用户确认)、file_path不能是系统路径、command不能包含rm -rf;(2) 范围检查——amount不能超过限额、count不能过大;(3) 组合安全——单独看参数安全但组合危险(如send_email(to="all", body="机密"))。评估方式:构造参数安全测试集,包含正常参数和危险参数,检查Agent是否拒绝危险参数。
5️⃣ 避坑
- ❌ "选对工具就行" → ✅ "选对工具只是第一步。参数是否正确、结果是否解析对、错误是否处理好,都是评估维度。"
6️⃣ 简历呼应
- 有Agent开发经验:从"工具调用评估"切入
- 校招无项目:用ToolBench测试不同LLM的工具选择能力
- "ToolBench: Facilitating LLMs to Master 16000+ Real-world APIs" (Qin et al., 2024)