When building for AI-powered environments, design tools to be equally usable by humans and the AI model. An elegant, simple design for humans often translates directly into an effective tool for AI agents, simplifying development and promoting shared logic.
A powerful but unintuitive AI development pattern is to give a model a vague goal and let it attempt a full implementation. This "throwaway" draft, with its mistakes and unexpected choices, provides crucial insights for writing a much more accurate plan for the final version.
Intentionally create open-ended, flexible products. Observe how power users "abuse" them for unintended purposes. This "latent demand" reveals valuable, pre-validated opportunities for new features or products, as seen with Facebook's Marketplace and Dating features.
The terminal-first interface of Claude Code wasn't a deliberate design choice. It emerged organically from prototyping an API client in the terminal, which unexpectedly revealed the power of giving an AI model direct access to the same tools (like bash) that a developer uses.
Instead of codebases becoming harder to manage over time, use an AI agent to create a "compounding engineering" system. Codify learnings from each feature build—successful plans, bug fixes, tests—back into the agent's prompts and tools, making future development faster and easier.
To improve the quality and accuracy of an AI agent's output, spawn multiple sub-agents with competing or adversarial roles. For example, a code review agent finds bugs, while several "auditor" agents check for false positives, resulting in a more reliable final analysis.
Features built to guide AI agents, like an explicit "plan mode," will become obsolete as models become more capable. The Claude Code team embraces this, building what's needed for the best current experience and fully expecting to delete that code when a new model renders it unnecessary.
While vector search is a common approach for RAG, Anthropic found it difficult to maintain and a security risk for enterprise codebases. They switched to "agentic search," where the AI model actively uses tools like grep or find to locate code, achieving similar accuracy with a cleaner deployment.
