Simon Willison Defines Agentic Engineering for Software Development
- •Agentic engineering describes software development where AI agents execute code in loops to achieve goals.
- •The defining capability of modern coding agents is direct tool execution rather than simple text generation.
- •Human roles shift toward navigating technical trade-offs and verifying AI-generated solutions for robustness.
Simon Willison, a technologist and co-creator of the Django web framework, has introduced "agentic engineering" as a framework for understanding how AI-driven coding agents transform software development. Unlike traditional AI assistants that merely suggest snippets of text, these agents operate in a continuous loop: they generate code, execute it within a specific environment, and then refine the results based on the actual output. This iterative cycle allows the AI to move toward a working solution autonomously, effectively bridging the gap between a static suggestion and a functional piece of software.
The rise of specialized command-line tools marks a significant shift in the developer’s workflow. Willison argues that the defining feature of these agents is their ability to run tools. Without code execution, Large Language Models (LLMs) are restricted by their own internal limitations; with it, they become active participants in the engineering process. However, this does not render human developers obsolete. Instead, the role of the engineer evolves into one of a high-level architect who must decide which solutions best fit specific requirements while providing the necessary instructions and tool harnesses for the AI to succeed.
The guide emphasizes that while code is becoming "cheap" and abundant, the craft of engineering remains centered on identifying the right problems to solve. By leveraging agentic engineering patterns, developers can tackle more ambitious projects with higher quality assurance. The goal is not just to produce more code, but to build more impactful systems by treating the AI as a collaborator that can learn from its environment and follow complex, multi-step instructions until a goal is demonstrably met.