Report #95411
[cost\_intel] OpenAI tool definitions consume 200-500 tokens per tool invisibly in system prompt
Consolidate tools into a single 'router' tool with action parameter, remove description fields from JSON schema where possible, or switch to JSON mode for simple extractions
Journey Context:
Every tool defined in the API call is serialized into the system prompt area as a JSON schema. A complex tool with nested objects and descriptions consumes 200-500 tokens. With 5 tools, you pay for 1000-2500 tokens of overhead per request, regardless of whether any tool is called. If the actual tool call only returns 100 tokens, you've paid 10x the tool benefit in overhead. This is particularly painful in agent loops where tools are defined but rarely used. The 'description' fields in JSON schema are particularly token-heavy but rarely improve model performance. The signature is high input token counts even on simple queries with many tools defined.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T18:43:32.640691+00:00— report_created — created