Anti-Patterns

Tool Explosion

Anti-pattern: expose every available tool in every request and watch function-calling accuracy collapse.

Problem

Past roughly twenty tools in a single request, function-calling accuracy drops sharply for almost every current model. The agent starts picking the wrong tool for a task, invents wrong arguments, or fails to call any tool when one is needed. Adding more tools feels free because each individual registration is cheap, but the cost is paid invisibly on every request as a degraded selection. The exact threshold drifts with model capability, which makes it tempting to ignore — until the agent starts misbehaving in production with no obvious change to blame.

Solution

Don't. Use tool-loadout to select per-task subsets. Cap exposed tools at a tested threshold. Measure function-calling accuracy as a release gate.

When to use

  • Cite this entry when every request exposes the full tool registry because registration is free.
  • You are already here if the agent picks wrong tools or invents arguments once the palette grows past about twenty.
  • Select per-task subsets with tool-loadout, cap the exposed set, and gate releases on function-calling accuracy.

Open the full interactive page

Diagram, neighbourhood map, code examples, related patterns and full provenance.

Related