There was a time when "hey AI, do this for me" was all it took. That was barely two years ago. Now when an agent makes a mistake, you fix the system, not the agent — and that's just common sense. Prompt engineering to context engineering to harness engineering. Three paradigm shifts in just four years.
What Is This?
Jonas Kim (AWS Korea Data Scientist) published "Four Years of AI Agentic Patterns" and it's been making waves across the dev community. It's not just a trend summary — it reads more like a post-mortem tracking why each era failed.
Here's the core story. In 2022, we obsessed over "what should I say to the AI?" We believed that crafting the perfect prompt was everything. By 2025, the question became "what information should I feed it?" We realized that what you put in the context window mattered far more than the prompt itself. And in 2026, it became "what system should I build around it?".
The origin story is fascinating. The term "harness engineering" was coined in February 2026 by Mitchell Hashimoto, creator of Terraform. His principle was dead simple: "Every time the agent makes a mistake, engineer the environment so it can't make that specific mistake again." You don't fix the prompt. You fix the system around the agent — the rules, tools, constraints, and feedback loops.
What happened next was remarkable. Within two weeks, OpenAI, Martin Fowler (ThoughtWorks), and Ethan Mollick (Wharton professor) independently published the same conclusion. No coordination. It was a "multiple discovery" — everyone had hit the same wall.
The Core Formula
Agent = Model + Harness
A harness is "everything in the agent except the model itself." The model is the engine, the harness is the operating system. Even the most powerful engine is useless without an OS.
What Actually Changes?
Chad Fowler (Honeycomb CTO) nailed it in one sentence: "Rigor doesn't disappear. It relocates." When XP advocated "test code instead of design docs," and when dynamic languages shipped without compilers, critics always said rigor was being abandoned. They were wrong every time. Rigor just moved to a higher level of abstraction.
| Dimension | Prompt Engineering (2022) | Context Engineering (2025) | Harness Engineering (2026) |
|---|---|---|---|
| Core Question | "What do I say?" | "What do I show?" | "What system do I build?" |
| Metaphor | Writing an email | Managing your inbox | Designing the email system |
| Failure Mode | Blind prompting | Context pollution | Orchestration bugs |
| Key Metric | Response quality (subjective) | KV-cache hit rate | Task completion rate |
| Skills Required | Language intuition | Information architecture | System design + security |
The most critical insight: each era doesn't replace the previous one — it subsumes it. Harness engineering contains context engineering, which contains prompt engineering. "Prompt engineering is dead" is wrong. It didn't die — it got promoted into a submodule of a larger system.
Real-world results make this concrete. OpenAI built a million-line codebase with zero manually-written code. Seven engineers spent five months writing not a single line — instead, they designed the environment for stable code generation. Anthropic split their agent into a 3-agent architecture: one plans, one generates, one evaluates.
How to Start Right Now
- Make AGENTS.md a Table of Contents
Instead of a massive instruction manual, create a 100-line map. Let agents find what they need themselves. OpenAI's lesson: "Give Codex a map, not a 1,000-page manual". - Update the Harness on Every Mistake
When agents repeatedly run wrong commands, update AGENTS.md. When they make structural mistakes, add linters or tests. Hashimoto's core principle: "Don't blame the agent — improve the harness". - Introduce Mechanical Enforcement
Documentation alone isn't enough. Use custom linters and structural tests to enforce architecture rules. Make agents fix their own code to pass the linter. - Design Rippable Harnesses
When models improve, half your error recovery logic becomes unnecessary. Harnesses must be rippable. Over-engineering today becomes tomorrow's technical debt. - Always Have an Agent Running
Hashimoto's goal: always have an agent running. Start by kicking off agents in the last 30 minutes of your workday and reviewing results the next morning.
Security Alert: The Lethal Trifecta
Simon Willison warns that when these three exist simultaneously, security incidents are inevitable: (1) Processing untrusted external input (2) Access to sensitive data (3) Ability to change state. Meta's "Rule of Two" — only allow agents a maximum of two of these at once.




