Tool Design for Agents

Design tools as contracts: clear semantics, safe defaults, and actionable errors.

Tool interfaces are not just APIs; for agents they are also prompts. A good tool design reduces ambiguity, prevents misuse, and makes failures recoverable.

Practical Principles

  • Prefer purposeful tools over “do everything” tools.
  • Use stable, meaningful names and argument semantics.
  • Make errors actionable (what happened, why, how to recover).
  • Default to safe behaviors (pagination, rate limiting, least privilege).