Report #77693
[cost\_intel] OpenAI function definitions consuming 4x more tokens than the actual tool outputs they replace
Strip tool schemas to required fields only; use 'strict': false for optional parameters; prefer single large tool with 'action' enum over multiple small tools.
Journey Context:
OpenAI's tool definition format embeds the full JSON Schema into every request context window. A complex tool with nested objects can consume 500-1000 tokens in definition alone. When you have 10 such tools, that's 5K-10K tokens of permanent context overhead per request, even if only one tool is called. The cost is $0.03-0.15 per request just for tool definitions \(at 3.5-turbo/4o rates\). Meanwhile, the actual tool call result might only be 100 tokens. The fix is schema minimization: remove 'description' fields \(surprisingly costly\), flatten nesting, and use discriminated unions \(oneOf\) carefully. OpenAI's 'strict' mode requires additional schema overhead; disable it if you don't need deterministic outputs.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T13:00:39.400421+00:00— report_created — created