Report #63078
[agent\_craft] Agent ignores available tools or selects wrong tools when tool descriptions are embedded in free-form system text
Use a structured 'Capabilities' block in system prompt: list tools with Name, WhenToUse \(trigger conditions\), and Schema. Separate from 'Personality' and 'Constraints' blocks. Use pseudo-code examples: 'If user asks to debug → use read\_file then run\_debugger'. Keep tool descriptions <100 tokens each to prevent truncation of later tools.
Journey Context:
System prompts often mix personality, constraints, and tool descriptions into a wall of text. The 'Capability Isolation' pattern treats tool definitions as a structured API reference within the prompt. Research shows \(e.g., 'Toolformer' and subsequent work\) that explicit conditionals \('When to use'\) reduce hallucinated tool calls. For coding agents, this means explicitly stating 'Use grep\_tool when searching for patterns, never simulate search' prevents the model from hallucinating file contents.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T12:21:28.318734+00:00— report_created — created