What is agentic engineering? - Agentic Engineering Patterns

Source

Summary

Simon Willison defines “agentic engineering” as the practice of building software with coding agents that run tools in a loop to achieve goals, distinguishing it clearly from “vibe coding” (unreviewed, prototype-quality LLM output). The key insight is that code execution — not just code generation — is the capability that makes agents useful, and the human’s job shifts to problem specification, tool harness design, and result verification.

Key Insight

  • Core definition: An agent = software that calls an LLM, passes tool definitions, executes requested tools, and feeds results back in a loop. For coding agents, the critical tool is code execution itself.
  • Agentic engineering vs. vibe coding: Vibe coding (Karpathy, Feb 2025) means prompting LLMs to write code while you “forget that the code even exists.” Agentic engineering is the opposite — you actively navigate solution tradeoffs, verify results, and iterate until production-ready.
  • The human’s remaining job: Figuring out what code to write, providing agents with the right tools, specifying problems at the right level of detail, and continuously updating instructions based on what you learn. LLMs don’t learn from past mistakes, but your tool harness and instructions can encode those lessons.
  • Ambition multiplier: Used well, coding agents let you take on bigger projects than you otherwise would, not just write code faster.
  • This is the opening chapter of a living guide — Willison plans to add pattern chapters as the field evolves, focusing on durable patterns that survive tool upgrades.