All insights
AI Product Building AI Agents Coding Tools

Tools are a new kind of software — contracts between deterministic systems and non-deterministic agents

Agent tools must be designed for how agents think (context-limited, non-deterministic, description-dependent), not how programmers think

Anthropic Engineering — Writing Effective Tools for AI Agents — Using AI Agents · · 7 connections

Anthropic’s engineering team frames agent tools as a fundamentally new category of software. Traditional APIs are contracts between two deterministic systems — both sides behave predictably. Agent tools are contracts between a deterministic system and a non-deterministic agent that chooses tools based on descriptions, operates within limited context, and may interpret outputs creatively.

The design implications are specific: namespace tools clearly (asana_projects_search not search), return meaningful context (names not just UUIDs), consolidate multi-step workflows into single tools, and add response format parameters to control token usage. Every principle traces back to The context window is the fundamental constraint — everything else follows — agents can’t hold unlimited tool outputs, so tools must be token-efficient by design. This reframes Declarative beats imperative when working with agents from the tool-builder’s perspective: the tool description IS the declarative contract, and a vague description produces unpredictable agent behavior. The collaborative iteration pattern — paste evaluation transcripts into Claude Code, let it analyze failures and refactor tools — is Compound engineering makes each unit of work improve all future work applied to tool development.