Most agent evaluations ask whether the final answer is good. That misses the failure that hurts first: the model calls a plausible but wrong tool, the call succeeds, and the response looks fine while the wrong system was read or written. Microsoft's AI Red Teaming Agent frames this as probing for novel risks in generative systems rather than just checking output text, and it scores attack-response pairs into metrics like Attack Success Rate so a system can be judged ready or not for deployment (Microsoft Foundry). Selection accuracy deserves the same treatment: a named metric, a fixed dataset, and a gate.
Anthropic describes tools as a contract between a deterministic system and a non-deterministic agent: the same request may produce a tool call, a general-knowledge answer, or a clarifying question (Anthropic engineering). That non-determinism is exactly why a single manual try tells you nothing. You need a set of cases large enough that a change in score means something, and you need to capture the chosen tool, not the prose around it.
There is a second reason to isolate selection. The When2Call benchmark shows that existing tool-calling benchmarks mostly measure whether the correct tool was called with correct parameters, and spend far less effort on when a model should not call a tool, should ask a follow-up, or should admit the tools cannot answer (When2Call, arXiv). If your harness only contains "tool X is correct" cases, it will never catch the model reaching for a tool when it should ask a question. Build the negative cases in from the start.



