Tool Design and Contracts
Resilient Tool Contracts
Resilient tool contracts come after tool design in the learning sequence because you first need a working tool interface before you can reason about keeping it stable as the system evolves around it. A resilient contract locks the input schema, error surface, and output format so that updates to the underlying implementation never silently break the agent calling it. The sharpest risk here is not a hard crash but a silent failure: when a schema changes without a version bump, the agent continues generating tool calls using the old shape, producing malformed requests that fail in ways that are difficult to trace back to a schema mismatch.
resources
Building Effective Agentsanthropic.comAnthropic's tool design principles including stability patterns (anthropic.com)OpenAI: Function Callingplatform.openai.comBest practices for defining stable function interfaces (platform.openai.com)JSON Schema Versioningjson-schema.orgStrategies for evolving schemas without breaking compatibility (json-schema.org)API Versioning Best Practiceslearn.microsoft.comMicrosoft's API design principles applicable to tool contracts (learn.microsoft.com)