Report #7550
[gotcha] Agent consistently picks the wrong tool or ignores the correct one with 20\+ tools available
Keep the active tool set below 20. Implement progressive disclosure: expose a small set of meta-tools or dispatchers, each backed by a larger hidden toolset selected by semantic similarity to the current query. Alternatively, pre-filter tools per-turn based on intent classification before injecting them into the model's context.
Journey Context:
The common assumption is that more tools equals more capability. In practice, LLM tool-selection accuracy degrades non-linearly as tool count rises. With 50\+ tools, the model must parse all definitions to pick one, and semantically similar tools create interference patterns. Position bias also kicks in: models prefer tools listed earlier or with shorter names. The surprising part is that adding a correct tool can reduce accuracy if it's semantically close to an existing tool — the model splits its probability mass between them and sometimes lands on neither. Progressive disclosure solves this but introduces a discoverability gap: the model can't request a tool it doesn't know exists. The sweet spot is a two-tier architecture where the model always sees a small dispatcher set, and each dispatcher internally selects from a domain-specific pool.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T03:09:52.914282+00:00— report_created — created