In February 2026, a small team at OpenAI produced 1 million lines of production-grade code — not a single line hand-written. All by AI agents. What humans designed was the system that made those agents reliable, and it now has a name: Harness Engineering. Within weeks, Anthropic published three papers, ThoughtWorks turned it into a framework, and Hugging Face's Philipp Schmid called it "the most important discipline of 2026."
What Is Harness? Agent = Model + Harness
ThoughtWorks gives the simplest definition: Agent = Model + Harness. Harness is everything outside the model — constraints, feedback loops, documentation, tool permissions. Strip the harness: the model guesses blindly in your codebase. Add the right harness: it ships production code. Philipp Schmid uses a computer analogy: Model is CPU, Context Window is RAM, Harness is the OS that manages what the CPU sees and when. Most people run agents without an OS; they break the moment they hit production.
LangChain ran the same model on Terminal Bench 2.0: old harness scored 52.8%, new harness 66.5% — same model, 13.7 percentage point gap. Vercel went the other way: cut 80% of the agent's tools, got better results.
5 Core Artifacts: From Markdown Files to Sprint Contracts
1. AGENT.md / CLAUDE.md / .cursorrules — Markdown files scattered across the codebase, read at the start of every agent session. Like onboarding docs for a new engineer. Without them, each session is a blind boot.
2. JSON Feature List — a progress tracker. Each entry: feature, how to verify it, pass/fail status. Anthropic found agents accidentally overwrite JSON less often than Markdown — a small detail that matters in a 6-hour autonomous run.
3. Session Initialization Routine — Anthropic's 7-step boot: confirm directory → read git log + progress files → pick highest priority incomplete feature → start dev server → run basic E2E validation → implement one feature → commit with descriptive message. Same every time. Agent starts working immediately.
4. Sprint Contract — before any code is written, two agents negotiate: Generator proposes what to do and how to verify success; Evaluator reviews. Both sign off before implementation starts. Planning and executing in the same turn produces unreliable output.
5. Structured Task Template — before writing code, the harness analyzes the real codebase and produces a grounded impact map (real file paths, real symbol names, existing patterns, specific acceptance criteria). Teams that skip this step end up with agents hallucinating APIs that don't exist.
3 Schools: Environment, Separation, Framework
OpenAI (Environment-First): Design the environment to extremes, then let the agent run. Sora Android app: 4 engineers, 28 days, Play Store #1, 99.9% crash-free. Codex handles 70% of internal PRs weekly. Philosophy: design the environment, then let agents loose.
Anthropic (Separate Doing and Reviewing): Self-evaluation doesn't work — agents grade themselves an A+ even when output is mediocre. Solution: three dedicated agents — Planner turns a 2-sentence prompt into full spec, Generator implements one sprint at a time, Evaluator tests with browser automation like a real user. A/B test: single agent without harness costs $9/20 min → broken app; full harness costs $200/6 hours → working software with polished UI.
ThoughtWorks (2×2 Framework): Based on failures from 50+ engineering teams, they classify each harness control on two axes: timing (feedforward vs feedback) and method (computational/deterministic vs inferential/LLM-based). The resulting matrix: Type system/linter (computational feedforward), test suite/CI (computational feedback), spec docs/constraint descriptions (inferential feedforward), LLM code reviewer (inferential feedback). Both feedforward and feedback must exist.
5 Universal Principles
Context beats instruction — grounding the agent in the current state of the world consistently outperforms abstract commands. Grounded in real file paths → code that fits the codebase. Vague descriptions → hallucinated paths.
Planning must be separated from execution — agents that plan and execute in the same turn are unreliable. The planning step doesn't have to be done by a human, but it must be a separate step whose output is reviewed before work begins.
Feedback loops are non-negotiable — OpenAI uses CI/CD, Anthropic uses another LLM, ThoughtWorks stacks both. A harness without feedback is just a prompt with steps.
One thing at a time — forced incrementalism. Anthropic routine: read progress → pick ONE feature → implement → commit → repeat. Agents that try to do too much run out of context, lose coherence, and silently drop requirements.
The codebase IS the documentation — AGENT.md, feature lists, git history are the agent's continuity mechanism. If a convention isn't in the codebase, the agent won't know it. Dirty repo + AI agent = scaled chaos.
Harness Decay: Build to Delete
When Anthropic went from Opus 4.5 to 4.6, the sprint breakdown component became dead weight. Opus 4.7: the model started self-validating, shrinking the evaluator's role. Models improve, the assumptions embedded in harness components expire, and those components become pure overhead. Philipp Schmid advises: Build to delete — design each component to be removable, test periodically by turning it off. Manus rearchitected its harness 5 times in 6 months; LangChain reorganized 3 times in a year; Vercel cut 80% of tools and improved.
Cost reality: Anthropic's A/B test shows single agent without harness = $9 / 20 min; full harness = $200 / 6 hours — 22x cost for a product that actually works. But the combination evolves: better models = simpler harness = cheaper per run = faster output.

