# Agentic Engineering Capability Maturity: From Vibe Coding to Production-Grade Collaboration
Agentic Engineering is not a binary switch — it's a maturity spectrum from "fully human-written" to "spec-driven and fully automated." Understanding where you sit on that maturity curve matters more than arguing over which extreme is better.
Where the Concept Comes From
Andrej Karpathy coined the term vibe coding in 2025 — AI programming driven by feel, with weak review. By early 2026 he came to prefer Agentic Engineering as the term for professional contexts.
Addy Osmani emphasizes: vibe coding fits exploration and low-risk experimentation; Agentic Engineering points to AI agents that can execute the implementation, while humans still hold responsibility for architecture, quality, and correctness — something that can be written into team practice and governance mechanisms.
Simon Willison’s Agentic Engineering Patterns turns the concept into reusable patterns rather than a terminology debate.
A Trainable Definition
Agentic Engineering is an engineering practice for using coding agents in software delivery: through clear goals, controlled tools, isolated workspaces, version control, automated testing, human review, and traceable evidence, agents participate in implementation and verification, while humans retain final technical accountability.
Five key words: Agent, Engineering, Loop, Harness, Accountability.
For core concepts, see Core Concepts of Agentic Coding Agents; for Harness practices, see Harness Engineering.
The Spectrum With Vibe Coding
| Mode | Best fit | Human’s responsibility | Risk |
|---|---|---|---|
| Vibe Coding | Prototypes, one-off scripts | Quickly express intent, accept the result | Hard to maintain, hard to audit |
| AI-assisted Engineering | Local productivity gains, autocomplete | Write the core design, review AI output | Depends on individual habits |
| Agentic Engineering | Professional delivery, team collaboration | Design goals, verify, own the merge | Requires engineering discipline and governance |
In one line: vibe coding is “I barely look at the code but it still runs”; Agentic Engineering is “I let the agent write it, but I can explain, verify, roll back, and take accountability for it.”
Five Stages of Capability Maturity
| Stage | Characteristics | Share of code output from AI |
|---|---|---|
| L1: Assisted autocomplete | IDE autocomplete, single-line Copilot suggestions | <10% |
| L2: Conversational coding | Chat generates functions/modules, human assembles | 20-40% |
| L3: Agent collaboration | Agent completes tasks autonomously, human reviews | 50-70% |
| L4: Spec-driven | Spec → Agent handles the full flow, human signs off on gates | 80%+ |
| L5: Autonomous teams | Multiple agents work in parallel, human only sets constraints | 95%+ |
Where Most Teams Get Stuck
Most teams oscillate between L2 and L3. The bottleneck isn’t model capability — it’s:
- No reviewable spec
- The testing system can’t keep pace with generation speed
- No independent review role
Simon Willison’s Key Patterns
The Tool Loop
LLM + system prompt + tools + observations. Without the ability to execute tools, it’s just a code suggester; with execution capability, the agent converges by running tests. What enterprises need to govern is the Harness, not the model itself.
Git Is a Safety Rope
Every agent session should run inside a branch or worktree; small commits make review and rollback easier. Agents can help explain diffs and organize commits, but they cannot replace human accountability for the merge.
First, Run the Tests
A high-value short instruction to open a session with — it establishes a baseline and nudges the agent to keep validating changes against tests going forward.
Red/Green TDD
Write a failing test before implementing — reduces “code that looks reasonable but was never verified.”
Agentic Manual Testing
Automated tests can’t replace visually verifying the UI; agents can use Playwright and screenshots to perform something like manual testing, while humans still check the key outcomes.
Subagents
Their value is in protecting the main context; a good fit for exploration, impact-scope scanning, and independent review. Over-fragmenting increases coordination cost.
PR Accountability
Anti-pattern: handing a colleague a PR the agent generated that you never reviewed yourself — that’s shifting your accountability onto the reviewer. A good agentic PR is small, reviewable, and backed by test evidence.
Six Capability Domains
- Intent & Spec — requirement decomposition, acceptance criteria, risk boundaries
- Context & Knowledge — team conventions, architecture decisions, accumulated skills
- Harness & Tools — terminal, tests, browser, CI, permissions and sandboxing
- Verification & Evidence — tests, screenshots, logs, reproducible experiments
- Collaboration & Review — git branches, PR size, review checklists
- Learning Loop — retrospectives, failure patterns, tooling improvements, updating knowledge assets
The Path to Leveling Up
| Transition | Key action |
|---|---|
| L2 → L3 | Agent CLI + sandbox + review gate |
| L3 → L4 | Spec system + independent Evaluator + automated gating |
| L4 → L5 | Multi-agent orchestration + metrics-driven governance |
A 30/60/90-day path:
- Days 0-30: Branch/worktree boundaries; run tests first; small commits; agent instruction templates
- Days 31-60: Playwright; red/green TDD; subagents for impact-scope scanning
- Days 61-90: Codify skills/templates; measure PR lead time and defect leakage; incorporate into CI/CD gates
Anti-Pattern Checklist
- Handing a colleague an unreviewed PR
- No baseline tests
- Only looking at the demo, not the edge cases
- Delegating one giant task all at once
- Declaring completion with no evidence
- Ignoring the skill atrophy of junior engineers
References
- Andrej Karpathy, Agentic Engineering, 2026
- Addy Osmani, Agentic Engineering
- Simon Willison, Agentic Engineering Patterns
- SoluteLabs: “Agentic Engineering Is a Spectrum” (2025)