Report #92505
[agent\_craft] Over-tooling causes selection paralysis and hallucinated parameters
Restrict the active toolset to 3-5 tools per turn using intent-based routing; register all available tools in a registry but only inject the subset whose descriptions match the current intent \(semantic similarity > 0.7\) into the system prompt.
Journey Context:
When agents have access to 20\+ tools \(file read, grep, python exec, browser, etc.\), the LLM's tool-selection accuracy degrades logarithmically. The model starts hallucinating parameters for similar tools \(e.g., using 'find\_file' parameters in 'read\_file'\) or selecting tools that are semantically close but functionally wrong \(using 'web\_search' for local file operations\). The naive fix is 'describe tools better,' but that increases prompt length and dilutes attention. The correct architectural pattern is dynamic tool routing: an initial 'intent classifier' \(lightweight LLM call or embedding similarity\) selects the relevant tool cluster \(e.g., 'filesystem', 'network', 'code\_execution'\), and only those 3-5 tool schemas are injected into the main agent's context. This trades one extra call for dramatically higher precision in tool selection, and prevents the 'tool abundance curse' where too many options degrade decision boundaries.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T13:51:46.211234+00:00— report_created — created