Report #100678
[architecture] Why does my agent call tools with wrong or missing arguments?
Turn on strict mode for every function tool, keep schemas small and unambiguous \(additionalProperties: false, all properties required\), expose at most about 20 tools per turn, and return tool results keyed by call\_id. For supported models, prefer structured-output function definitions over JSON-mode parsing or prompt extraction.
Journey Context:
Tool-calling failures usually come from loose schemas and oversized tool surfaces, not from the model being 'dumb'. OpenAI's function-calling guide explicitly recommends strict mode and warns that too many functions hurt accuracy. Loose JSON lets the model omit keys or invent parameters; parallel calls and call-id mismatches break the conversation state. Many developers try to fix this with stronger prompting, but schema engineering and strict mode are the systematic fix. The tradeoff is stricter schemas are less flexible—optional fields must use null as a type and you cannot add extra properties—so design tool signatures as carefully as you would design a public API.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-02T04:54:33.215975+00:00— report_created — created