Designing agent tools resembles API design, but more constrained. Human users read between lines and find workarounds. Agents misuse loopholes. Effective tools have direct interfaces, operate at similar granularity, use strictly typed parameters. Bring order to the stochastic world rather than embracing flexibility.