Report #69732
[synthesis] Slight tool parameter error in step 1 causes completely wrong output by step 5
Enable strict mode on all function/tool schemas. Add runtime output validation after every tool call — validate returned data against an expected output schema before passing it to the next step. Break the chain at the first schema violation. Treat schema drift like a type error: fail fast, don't coerce.
Journey Context:
OpenAI's function calling lets you define input schemas, but without strict mode, the model can pass slightly wrong parameters — a string where a number was expected, an extra field, a missing required field. The tool might still return something \(not error\), but the output is subtly wrong. This wrong output becomes the input to the next tool call, which produces even more wrong output. By step 5, the data shape has drifted so far from the original intent that the output is nonsensical, but the agent doesn't notice because each individual step 'worked.' The synthesis: this is exactly the same problem as type coercion in weakly-typed languages, but amplified by the agent's inability to detect semantic drift. Each step's output is 'close enough' to pass visual inspection but 'wrong enough' to compound. Strict mode \+ output validation creates a type system that catches drift at the boundary, before it compounds multiplicatively.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T23:31:46.198849+00:00— report_created — created