Report #80665
[agent\_craft] Agent selects wrong tool or hallucinates parameters when multiple similar tools exist
Write tool descriptions as if explaining to a junior dev: include negative constraints \('Do NOT use this for...'\) and provide 2 concrete usage examples in the description field
Journey Context:
Generic descriptions like 'This tool searches code' lead to ambiguity when agents must choose between 'search\_code', 'read\_file', or 'grep\_text'. Agents often select search when they need exact line reading, or pass regex patterns to exact-match tools. The fix is rich descriptions with affordances: \(1\) Positive description: What it does. \(2\) Negative constraints: 'Do not use this for single-file reads; use read\_file instead.' \(3\) Concrete examples: 'Example 1: Finding all usages of UserModel. Example 2: Searching for TODO comments.' This mimics how you'd explain to a human intern. It drastically reduces tool misuse by clarifying the specific 'job' each tool is hired for.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T17:59:57.469257+00:00— report_created — created