Agentic Engineering Patterns
Summary
Simon Willison’s guide defines Agentic Engineering as a shift in software development where AI agents perform the bulk of the implementation, while the engineer moves into a role of orchestrator, reviewer, and validator. The core philosophy is built on the premise that “writing code is cheap now,” which allows engineers to prioritize rigorous testing, frequent refactoring, and deep exploration over the manual labor of typing syntax.
Key Concepts
- The Economics of “Cheap Code”: Because the cost of generating code has dropped significantly, engineers should focus on higher-level concerns: architecture, security, and correctness.
- Knowledge Hoarding: A strategy of systematically capturing and documenting patterns, prompts, and workflows that you know work well, creating a personal “library” of agentic capabilities.
- AI as a Quality Multiplier: AI shouldn’t just produce more code; it should be used to produce better code through exhaustive testing and documentation that a human might otherwise skip.
- Verification-Centric Workflow: In an agentic world, the most important skill is not writing code, but verifying it. This places Testing and QA at the center of the development lifecycle.
Agentic Engineering Patterns
1. Testing & QA Patterns
- Red/Green TDD: Instructing the agent to write a failing test first, then the implementation. This ensures the agent understands the requirements and provides an immediate feedback loop for correctness.
- “First Run the Tests”: A mandatory pattern where the agent must execute existing tests before making any changes to establish a baseline and ensure the environment is stable.
- Agentic Manual Testing: Using agents to perform or script manual QA tasks, such as simulating user interactions or checking edge cases that are tedious for humans to test manually.
2. Development & Workflow Patterns
- Subagents: Breaking complex, large-scale tasks into smaller, manageable chunks that can be delegated to specialized sub-agents to maintain context and accuracy.
- Git-Integrated Development: Using Git as a safety net, where agents are encouraged to make frequent, small commits, allowing the human to review the “thought process” and revert easily if the agent goes off-track.
- Linear Walkthroughs: Using the agent to provide a step-by-step narrative of a codebase or a specific change to ensure the human engineer fully understands the generated logic.
3. Understanding & Documentation
- Interactive Explanations: Engaging in a dialogue with the agent to probe specific parts of the code, asking “why” certain decisions were made or “how” a specific edge case is handled.
- Annotated Prompts: Maintaining a collection of high-quality, annotated prompts that have been proven to solve specific engineering problems (e.g., optimizing assets or scaffolding new features).
📇 Additional Metadata
- 🗂 Type:: note
- 🏷️ Tags:: ai software-engineering
- 📡 Status:: #status/🌱