Code execution is the capability that separates agentic engineering from autocomplete. Simon Willison defines agentic engineering as software development assisted by coding agents, tools like Claude Code, OpenAI Codex, and Gemini CLI that write and execute code in a loop until a goal is met. The agent calls an LLM, receives tool requests, runs them, feeds results back, and repeats. Without execution, LLM output is inert text. With it, the agent iterates toward software that demonstrably works.

The harder problem was never writing code. It was deciding what to write. Willison argues that coding agents do not displace engineers, they raise the ambition ceiling. Engineers still navigate tradeoffs, specify problems at the right level of detail, verify outputs, and update instructions over time. Critically, LLMs do not learn from past mistakes on their own, but agents can if the human deliberately encodes those lessons into the harness. That feedback loop is where the real engineering work lives.

Willison also draws a firm line between agentic engineering and vibe coding, the term Andrej Karpathy coined in February 2025 to describe prompting an LLM while forgetting the code exists. The distinction matters for production standards. The full guide, Agentic Engineering Patterns, is explicitly unfinished and evolving, which is itself worth noting: the patterns most likely to survive tool churn are the ones he is still working out. Read it for the framework, not just the definitions.

[READ ORIGINAL →]