Namespace Tools, Write Unambiguous Descriptions

Group tools under a clear namespace and write descriptions that tell the model exactly when to call this tool and when to call a similar one instead — ambiguous tool selection is a primary source of agent errors.

What it is

When an agent has access to many tools, tool selection becomes a reasoning task: the model must read each tool's name and description and decide which one applies to the current situation. Ambiguous names and vague descriptions make this reasoning unreliable. A tool named read and another named fetch will produce inconsistent selection behavior because the model must infer from context which applies to files versus URLs. A tool described as "gets information about a resource" can match almost any retrieval operation and will be selected unpredictably. Namespacing and precise descriptions eliminate this ambiguity at the source. Namespacing groups related tools under a common prefix — file_read, file_write, file_list rather than read, write, list — so the model can use the namespace as a first-pass classifier before reading the description. Precise descriptions go further: they name the specific cases this tool handles, explicitly call out adjacent tools it is NOT appropriate for, and describe what the output looks like. A good tool description reads like a contract: "Call this tool when you need to read the contents of a local file by path. Do NOT use this to fetch remote URLs — use http_get for that. Returns the file content as a string." This level of specificity is not over-engineering; it is the minimum specification the model needs to select reliably in a diverse tool set.

When to reach for it

When NOT to

Exemplars

Related