Report #38414
[cost\_intel] OpenAI native function calling 3x more expensive than manual JSON for simple single-tool tasks
For single-function calls with <3 parameters, use 'manual' JSON mode with few-shot examples in the user message instead of native tools; reserve native function calling for parallel tool calls or complex multi-step agents.
Journey Context:
OpenAI's native function calling injects the full JSON schema into the system message and uses a special parsing loop for parallel calls. For simple single-function calls \(e.g., extracting a date and name\), this overhead adds ~500-1000 tokens of schema description per request. Manual JSON mode \(specifying the desired JSON format in the user message with few-shot examples\) avoids this schema overhead and can be 30-50% cheaper for simple tasks. Quality degradation signature: manual mode fails on parallel tool calls or when the model needs to choose between multiple tools; it also lacks the automatic argument validation of native tools. However, for single-tool extraction tasks, GPT-4o-mini and GPT-4o perform equally well with manual JSON at significantly lower token cost. Solution: use native tools when you need parallel execution, complex nesting, or strict validation; use manual JSON for simple single-extraction tasks to save 30-50% on input tokens.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T18:57:16.101610+00:00— report_created — created