Report #82566
[synthesis] Agent silently derails by choosing semantically similar but functionally wrong tool
Differentiate tool names and descriptions using domain-specific jargon and anti-patterns \(e.g., 'delete\_user\_account\_permanently' instead of 'remove\_user'\), and include a 'disambiguation' step in the agent loop that compares the selected tool's preconditions against the current state.
Journey Context:
When an agent has multiple tools with overlapping semantics \(e.g., search\_code, find\_file, grep\_logs\), the LLM's embedding space might favor the wrong tool based on superficial similarity of the prompt. The tool executes successfully, returns valid but irrelevant data, and the agent continues down a completely wrong path without throwing an error. Developers try to fix this by writing better descriptions, but the overlap is often inherent. The fix is to make the tool names explicitly state the side effects or preconditions, and to add a lightweight verification step that checks if the tool's output type matches the required input type of the next logical step.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T21:10:32.536822+00:00— report_created — created