====== Agentic Engineering: Disciplined AI-Assisted Software Development ====== **Agentic engineering** is Simon Willison's term for the practice of developing software with the assistance of coding agents -- tools like Claude Code, OpenAI Codex, and Gemini CLI that can both generate and execute code, enabling them to test and iterate independently of turn-by-turn human guidance((Source: [[https://simonwillison.net/guides/agentic-engineering-patterns/|Simon Willison - Agentic Engineering Patterns]])). It represents the disciplined, professional end of the AI-assisted development spectrum, distinct from vibe coding where developers pay no attention to the code at all. ===== Definition ===== Willison defines the core concept through the lens of what makes coding agents different from standard LLM tools: "Agents run tools in a loop to achieve a goal." The defining capability is **code execution** -- the agent generates code, runs it, observes results, and iterates until the goal is met. Without execution, LLM output is of limited value; with it, agents can converge on working software((Source: [[https://simonwillison.net/guides/agentic-engineering-patterns/what-is-agentic-engineering/|Simon Willison - What Is Agentic Engineering?]])). Agentic engineering is explicitly professional: "professional software engineers using coding agents to improve and accelerate their work by amplifying their existing expertise."((Source: [[https://simonwillison.net/2026/Feb/23/agentic-engineering-patterns/|Simon Willison - Writing about Agentic Engineering Patterns]])) ===== Distinction from Vibe Coding ===== Willison draws a clear line: "I think of vibe coding using its original definition of coding where you pay no attention to the code at all, which today is often associated with non-programmers using LLMs to write code. Agentic Engineering represents the other end of the scale."((Source: [[https://simonwillison.net/2026/Feb/23/agentic-engineering-patterns/|Simon Willison - Writing about Agentic Engineering Patterns]])) The key differences: * Vibe coding: unreviewed, prototype-quality, no tests, no discipline * Agentic engineering: test-driven, reviewed, production-quality, human-directed ===== Key Patterns ===== Willison's Agentic Engineering Patterns guide, launched February 23, 2026 and modeled on the classic 1994 Design Patterns book, documents evolving best practices((Source: [[https://simonwillison.net/guides/agentic-engineering-patterns/|Simon Willison - Agentic Engineering Patterns]])): ==== Writing Code Is Cheap Now ==== "The biggest challenge in adopting agentic engineering practices is getting comfortable with the consequences of the fact that writing code is cheap now." Code has always been expensive -- producing a few hundred lines of clean, tested code takes most developers a full day. Coding agents disrupt this, but **good code** (tested, documented, handles errors, simple) still has a cost. The drop in writing cost enables a "zero tolerance attitude to minor code smells"((Source: [[https://simonwillison.net/guides/agentic-engineering-patterns/code-is-cheap/|Simon Willison - Writing Code Is Cheap Now]])). ==== Red/Green TDD ==== Test-driven development pairs exceptionally well with coding agents. Write failing tests first (red), then let the agent implement until tests pass (green). Willison became an advocate for TDD with agents despite disliking it throughout his career: "agents absorb the tedium of writing failing tests first, and tests are now effectively free and therefore non-optional"((Source: [[https://agent-wars.com/news/2026-03-14-simon-willison-agentic-engineering-tdd-prompt-injection|Agent Wars - Simon Willison on Agentic Engineering]])). ==== First Run the Tests ==== Always execute agent-generated code to verify it works. Never assume LLM output is correct without running it. The execution feedback loop is what makes coding agents dramatically more reliable than simple code generation((Source: [[https://simonwillison.net/guides/agentic-engineering-patterns/|Simon Willison - Agentic Engineering Patterns]])). ==== Linear Walkthroughs ==== Have agents produce narrative walkthroughs of complex code to help developers rebuild understanding and combat cognitive debt. Part of the "Understanding code" section of the patterns guide((Source: [[https://simonwillison.net/guides/agentic-engineering-patterns/|Simon Willison - Agentic Engineering Patterns]])). ==== Interactive Explanations ==== When developers lose track of how agent-written code works, they take on cognitive debt. Interactive explanations -- artifacts built by agents that help developers explore and understand code behavior -- are a mitigation strategy((Source: [[https://simonwillison.net/tags/cognitive-debt/|Simon Willison - cognitive-debt tag]])). ==== AI Should Help Us Produce Better Code ==== "Shipping worse code with agents is a choice. We can choose to ship code that is better instead." Willison identifies four types of technical debt that agents can eliminate: API design flaws requiring dozens of changes, poor naming choices baked into codebases, duplicate functionality that drifted apart, and single files that ballooned to thousands of lines. All are conceptually simple but time-consuming for humans -- ideal for agents running in background branches((Source: [[https://simonwillison.net/guides/agentic-engineering-patterns/better-code/|Simon Willison - AI Should Help Us Produce Better Code]])). ===== Practical Workflow ===== * Use asynchronous coding agents (Gemini Jules, OpenAI Codex web, Claude Code web) for background refactoring * Run agents in branches or worktrees to avoid interrupting development flow * Evaluate results via Pull Requests -- iterate, prompt further, or discard * Update agent instructions and tools based on observed failures (the "harness evolution" pattern) * Run parallel agents for implementing, refactoring, testing, and documenting simultaneously ===== The Guide Structure ===== The Agentic Engineering Patterns guide is organized into sections((Source: [[https://simonwillison.net/guides/agentic-engineering-patterns/|Simon Willison - Agentic Engineering Patterns]])): * **Principles**: What is agentic engineering, writing code is cheap now, hoard things you know how to do, AI should help us produce better code, anti-patterns * **Working with coding agents**: How coding agents work, using Git with coding agents, subagents * **Testing and QA**: Red/green TDD, first run the tests, agentic manual testing * **Understanding code**: Linear walkthroughs, interactive explanations * **Annotated prompts**: Real-world examples with detailed commentary ===== See Also ===== * [[vibe_coding]] * [[agentic_coding]] * [[claude_code]] * [[cursor]] ===== References =====