Tool Selection Demo: What Another Tool Costs You
The monthly rent on your tool schemas as the count rises, plus a pairwise overlap check that finds which two of your own tool descriptions are hardest to tell apart.
1,920 tokens ride along on every call before the model has read a word of the conversation. Each additional tool adds $576.00 a month, forever, used or not.
- Schema tokens per call
- 1,920
- Schema tokens per day
- 76,800,000
- Schema tokens per 30 days
- 2,304,000,000
- Monthly cost of the schemas
- $6,912
- Cost of adding one more tool, per month
- $576.00
- What five more would cost, per month
- $2,880
- get_user vs get_account47%shared: fetch, record, by, id, including, plan, status
- search_docs vs search_tickets30%shared: search, query, matching
- get_account vs create_refund12%shared: an, id
- create_refund vs send_email8%shared: an
- send_email vs escalate7%shared: to
The two costs of one more tool
Adding a tool feels free. The schema is small, the model already handles the ones you have, and the new capability is obviously worth it. Both of the costs it actually carries are invisible at the moment you add it, and only one of them is arithmetic.
The arithmetic one is on this page. Tool schemas are part of the prompt, they are re-sent on every call, and they are billed on every call. A 160-token schema across 40,000 calls a day is 4.8 million input tokens a month before anyone has said anything, and that number does not depend on whether the tool was ever selected. This is why trimming schemas pays so reliably: descriptions get written once, in a hurry, and nobody ever goes back to shorten the parameter docs for an argument that is always the same value.
The second cost is selection. A model picks a tool by conditioning on the descriptions, and two tools whose descriptions differ only in a noun are genuinely harder to separate than two that do not. The overlap table finds those pairs in your own list — it is looking for the ones you would find by reading all of them side by side, which nobody does after the fifth tool. What it cannot do is tell you how often the model gets it wrong. That is an evaluation: fix a set of requests, record which tool should have been called, and measure. Nothing in a browser can substitute for that, and any page that shows you an accuracy curve without running one is showing you a number it made up.
The usual fix for both costs is the same: fewer, wider tools, with descriptions written to contrast with each other rather than to describe themselves.