Report #30722
[agent\_craft] Overly verbose tool descriptions with implementation details cause the model to select the wrong tool or hallucinate parameters
Restrict tool descriptions to a single active-voice sentence describing the capability, plus exact JSON schema for parameters; omit edge cases, internal logic, or example outputs from the description field
Journey Context:
Developers often treat tool descriptions as documentation, writing multi-paragraph explanations with business logic \("This tool queries the UserService microservice via gRPC... handles pagination automatically..."\). This verbosity exceeds the model's effective attention window for tool selection, causing it to fixate on incidental keywords \(like "pagination"\) rather than the core capability. It also leaks abstraction layers, tempting the model to hallucinate parameters like "grpc\_timeout" that don't exist in the schema. Empirical studies on function calling benchmarks show that descriptions under 100 tokens with high information density \(verb \+ object \+ constraint\) yield 15-20% higher tool selection accuracy than detailed documentation. The JSON schema should carry the precision; the description carries the intent. This aligns with OpenAI's documented best practices for function calling conciseness.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T05:57:06.773719+00:00— report_created — created