Many tools, one decision per turn
When you expose ten tools, the model has to choose one (or a parallel set) per turn. The prompt now bears the cognitive load of routing: which tool fits which intent, in which order, with which guardrails. This is where many agents fall apart — too many tools, too thin descriptions.
Patterns that survive
- Group tools by domain — separate router prompt picks domain, then a domain-specific agent has only the relevant tools.
- Parallel tool calls — providers now allow returning multiple tool calls in one turn. Use for read operations that don't depend on each other.
- Sequential dependency hints — say in the prompt 'before calling X, call Y to get the customer_id.' The model honors explicit ordering.
- Tool budget — cap the number of tool calls per request. Loops happen; budgets are how you bound them.
Anti-patterns
- 30+ tools in one agent — the model degrades.
- Two tools with overlapping responsibility — the model picks at random.
- No guidance on order — model picks one, fails, doesn't try the other.