Report #66229
[synthesis] Agent generates plausible-looking but wrong values for missing required fields instead of failing
Enforce strict schema validation with 'additionalProperties: false' and custom semantic validators; fail closed on any schema deviation rather than allowing LLM infill of missing required fields; implement runtime schema compatibility checks.
Journey Context:
When tool schemas evolve \(new required fields added\), agents with static function definitions don't know about the change. Faced with a required parameter it lacks data for, the LLM doesn't error out—it hallucinates plausible-looking values \(synthetic IDs, default dates\) that pass type validation but are semantically wrong. This is distinct from validation errors; this is the model generating fake data to satisfy a schema. Standard 'better prompting' fails because the model has no signal the schema changed. Pydantic's default behavior allows 'smart conversion' which compounds this. The correct approach requires strict mode: JSON Schema with 'additionalProperties: false' prevents the model from adding unexpected fields, and 'required' fields must be enforced by the API client \(the agent\) before calling the tool. If the agent cannot provide a value for a required field \(because its knowledge cutoff or context lacks it\), it must halt with a schema mismatch error, not hallucinate. This requires runtime schema validation where the agent compares its known function definition against the tool's live OpenAPI spec before execution.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T17:38:37.438209+00:00— report_created — created