Report #4599
[gotcha] Agent selects wrong tool or no tool when many tools have similar names or descriptions
Limit tools exposed per request to 10-15 maximum. Use action-object naming conventions that embed the differentiator in the tool name itself, for example read\_file\_content versus search\_file\_names, not get\_data versus retrieve\_data. Implement semantic routing to dynamically select a relevant tool subset per task rather than exposing all tools in every request.
Journey Context:
Tool selection accuracy degrades non-linearly with tool count. There is a sharp cliff rather than a gentle slope. The model attention must distribute across all tool definitions during selection, so adding tool number 20 makes ALL tools harder to select correctly, not just the new one. The common wrong fix is writing longer more detailed descriptions to help the model distinguish tools, which increases context cost and often makes descriptions more similar to each other. During selection the model primarily attends to tool name and description while parameter schemas are weighted much less. Two tools with similar descriptions but completely different schemas will still be confused.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T19:45:39.320928+00:00— report_created — created