Tool selection is how the model decides whether to call a tool at all, and which one — driven by the user's request, the conversation context, and the quality of each tool's schema description.
Three Possible Decisions at Each Step
| Decision | When |
|---|---|
| Answer directly, no tool needed | The question can be answered from general knowledge or existing context — e.g. "What's 15% of 200?" doesn't need a calculator tool if the model can compute it reliably, though for precision-critical math a calculator tool may still be preferred |
| Call exactly one tool | The request clearly maps to one specific available capability |
| Call multiple tools (sequentially or, where supported, in parallel) | The request requires combining information from multiple sources |
What Drives Correct Selection
- Clear, distinct tool descriptions — see Tool Schema, by far the highest-leverage factor
- Relevant conversation context — enough information in the message history for the model to determine what's actually being asked
- Not overwhelming the model with too many similar tools — a large number of overlapping tools increases selection errors
Example — Ambiguous Request Requiring Clarification
User: "Cancel it"
Problem: "it" isn't resolved — WHICH order? The conversation
history needs to make this clear, or the model should ask for
clarification rather than guessing which tool/order to act on.
Well-designed system: if context doesn't clearly resolve "it,"
the model should ask "Which order would you like to cancel?"
rather than calling cancel_order with a guessed order ID.
Practical Use Case
Systems with several tools sharing similar surface-level purposes (search vs. get-details vs. update) need deliberate testing of tool-selection accuracy across realistic, ambiguous user phrasings — not just clean, unambiguous test queries that don't reflect how users actually write requests.
Common Mistakes
- Not testing tool selection against realistically ambiguous or underspecified user requests, only clean test cases
- Providing too many overlapping tools without clear differentiation, degrading selection accuracy as the tool count grows
- Not giving the model a clear path to ask for clarification instead of guessing when a request is genuinely ambiguous
Interview Relevance
"How would you improve tool selection accuracy in a system with 15 available tools?" — clearer, more distinct tool descriptions, reducing overlapping tool purposes, and testing against realistic ambiguous phrasing are the expected concrete answers.
Practice Question
A user says "update it to next week" in a conversation about a delivery. Explain what context would need to be present for correct tool selection, and what should happen if that context is missing.