Report #92510
[cost\_intel] Function Calling overhead for extraction tasks vs JSON mode costing 3x more for identical output
Use JSON mode or Structured Outputs with response\_format=\{'type': 'json\_object'\} instead of Function Calling when not actually invoking external tools
Journey Context:
Function Calling embeds the entire tool schema \(function name, description, parameters\) in the system prompt every request. For a simple extraction task like 'extract email and date', defining a fake tool adds 200-500 tokens of overhead per call. JSON mode achieves identical structured output without the tool description overhead. The tradeoff is that Function Calling supports parallel tool execution and easier parsing, but for pure data extraction from text, JSON mode is 2-3x cheaper. The common mistake is using Function Calling as a default for 'structured output' rather than actual tool use.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T13:52:10.344877+00:00— report_created — created