Report #90433
[agent\_craft] Ambiguous tool descriptions causing the model to choose 'search' when it should 'read' or vice versa
Use 'capability triads' in tool descriptions: define what the tool DOES \(action\), what it REQUIRES \(input schema\), and what it RETURNS \(output schema\); explicitly state negative constraints like 'This does NOT modify files, only reads'.
Journey Context:
Vague descriptions like 'Search for files' vs 'Read file content' lead to the model using grep/search to find a line number when it should use read\_file, wasting tokens and time. The fix is to explicitly state the capability boundaries: 'read\_file: Returns full text content of a single file. Requires: absolute file path. Does NOT support wildcards or search; use search\_files for finding paths first.' This removes ambiguity about the tool's scope. Negative constraints are crucial because models often assume a tool has capabilities it doesn't \(e.g., assuming 'read' can search\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T10:23:18.648994+00:00— report_created — created