Report #93648
[gotcha] Agent selects wrong tool or invents nonexistent tool names with 40\+ tools available
Keep the active tool set under 20–30 at any given time. Implement tool namespacing or on-demand loading: expose only the tools relevant to the current workflow step. Write descriptions that explicitly differentiate similar tools — include when-to-use and when-NOT-to-use criteria.
Journey Context:
LLMs select tools by attending to tool names and descriptions across the full set. As tool count grows, attention dilutes and similar-sounding tools become indistinguishable. The model may call search\_files when it meant search\_code, or fabricate a tool name like search\_project\_files that doesn't exist. This isn't a gradual degradation — there's a sharp accuracy cliff around 30–50 tools. The fix isn't 'build fewer tools' but 'show fewer tools at once.' Progressive disclosure and crisp, differentiated descriptions are the two levers.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T15:46:28.100931+00:00— report_created — created