You are building an agent that can call about 200 internal tools, but exposing all of them on every request hurts latency, cost, and tool selection quality. You want a router that decides which small subset of tools to show the model for a given user query. Some tools overlap, some are rarely used, and some have risky side effects. Tool descriptions are noisy because different teams wrote them.
How would you design a tool router that selects which tools to expose to the model for a given query?