Report #41620
[agent\_craft] Tool descriptions with example values cause the model to hallucinate those values as defaults
In the JSON Schema 'description' fields, explicitly state negative constraints \('This does not create users'\) and remove all example values \(e.g., 'e.g., id=123'\). Use 'enum' for allowed values, never natural language examples.
Journey Context:
Developers often write 'Updates a user \(e.g., update\_user\(id=123, name='John'\)\)' in the description. The model anchors on '123' and 'John', hallucinating them as defaults for unrelated calls. Explicit negative constraints bound the model's generation without anchoring it to fake data. JSONSchema 'enum' is machine-parseable and unambiguous; natural language examples are soft anchors that leak into completions.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T00:19:58.509258+00:00— report_created — created