11. Tool Use Evaluation:工具选择、参数、执行与结果处理
核心 Evaluator · 3~4 小时
学习目标
- 把 Tool Eval 拆成可诊断子指标
- 评估正确拒绝和不调用工具的能力
- 设计工具故障与恢复 Case
前置知识
- 第 9~10 章
- Function Calling 基础
本章产物: 建立 Tool Use Scorecard 与错误分类。
11.1 Tool Eval 不能只有“工具调用成功率”
应该分层:
Need Tool?
↓
Choose Tool
↓
Arguments
↓
Permission / Policy
↓
Execution
↓
Interpret Result
↓
Next Action任何一层都可能失败。
11.2 Tool Selection
指标:
Tool Selection Accuracy
False Tool Call Rate
Missed Tool Call Rate
Forbidden Tool Rate尤其要测:
不需要调用工具时,Agent 能否不调用。
11.3 Argument Accuracy
参数错误常比工具选择错误更危险。
例:
{
"account_id": "A-102",
"amount": 100000
}应分别验证:
- field presence;
- type;
- entity grounding;
- value;
- units;
- date/timezone;
- enum;
- cross-field constraint。
11.4 Tool Relevance
工具集合扩大后,Agent 可能受相似工具干扰:
send_email
send_marketing_email
send_secure_email因此评测不应永远只给 3 个明显不同的 Tool。
11.5 Tool Result Handling
即使调用正确,Agent 也可能错误解读结果。
例如 Tool 返回:
{"status":"pending"}Agent 却告诉用户“完成”。
所以需要判断:
result semantics → next action / response11.6 Tool Error
构造:
- 400;
- 401;
- 403;
- 404;
- 409;
- 429;
- 500;
- timeout;
- malformed response。
评估 Agent 是否:
- 重试;
- 换工具;
- 请求用户;
- 停止危险行为;
- 正确解释错误。
11.7 多工具组合
复杂任务要评:
ordering
dependency
parallelism
redundancy但不要默认只有一个“标准轨迹”。只要满足依赖和安全约束,多个路径都可以正确。
11.8 本章实验
给 Agent 5 个相似工具,其中 2 个参数 schema 很接近,构造 20 个 normal + 10 个 irrelevant + 10 个 error cases。
11.9 验收问题
- 为什么 Argument Accuracy 应独立于 Tool Selection?
- 什么是 False Tool Call?
- Tool 500 时“重试越多越好”为什么错误?