Harness Engineering Meets Agent Reliability: The Playbook Your ML Team Needs Now
The Convergence
Two independent intelligence streams this week point to the same conclusion: coding agents are production-ready in capability but production-dangerous without scaffolding. Anthropic's Opus 4.6 benchmarks reveal a steep reliability decay — 80% accuracy at 1-hour tasks, dropping to 50% at 14.5 hours — while OpenAI, Stripe, and Anthropic are independently converging on a discipline called harness engineering to solve exactly this problem.
The throughput numbers are seductive: 3 engineers built a million-line product in 5 months at OpenAI with zero hand-written code. Stripe's internal agents produce 1,000+ merged PRs per week. A solo developer made 6,600+ commits in a single month running 5-10 agents simultaneously. But the compound error math is brutal — chain 5 sub-tasks at 80% reliability each, and your end-to-end success rate drops to ~33%.
The bottleneck for coding agents is never the agent's ability to write code — it's the lack of structure, tools, and feedback mechanisms surrounding it. This is the MLOps lesson all over again: the model isn't the bottleneck, the system around it is.
The Emerging Playbook
Here's what the convergent practices look like, translated for ML teams:
| Practice | What It Is | Who's Doing It | Your ML Application |
|---|---|---|---|
| AGENTS.md | Living doc at repo root; updated on every agent failure | OpenAI, Hashimoto (Ghostty) | Encode feature naming, train/test split rules, forbidden patterns (leakage), logging requirements |
| Remediation linters | Custom linters whose error messages tell the agent how to fix violations | OpenAI (Codex-generated) | Catch data leakage, unlogged experiments, missing null handling |
| JSON over Markdown | Structured formats for agent state — agents corrupt freeform text more readily | Anthropic | Experiment configs, feature lists, pipeline DAG definitions |
| Planning-execution separation | Agent writes plan, human approves before code generation | Cloudflare, Anthropic | Agent proposes experiment design for human review before implementation |
| Sandboxed devboxes | Isolated environments identical to dev but cut off from production | Stripe (Minions) | Prevent agent-generated training jobs from accessing production data |
| MCP tool exposure | Internal tools accessible via Model Context Protocol | Stripe (400+ tools via Toolshed) | Feature store, experiment tracker, model registry as MCP endpoints |
The Verification Gap — Worse for ML
Anthropic discovered that agents mark features as complete without proper end-to-end testing. For application code, this produces visible bugs. For data science code, the consequences are far more insidious: a subtle feature transformation error that passes unit tests but introduces distribution shift is invisible until it degrades production predictions. No harness pattern yet addresses statistical correctness verification — this is the open problem your team should be thinking about.
Where This Doesn't Work Yet
- Legacy ML codebases — your existing Airflow DAGs, undocumented Spark jobs, and notebook-to-production scripts are the brownfield problem that remains unsolved
- Review bandwidth — human reviewers become the bottleneck at 3-4 parallel agent sessions, and reviewing agent-generated statistical code requires more domain expertise per line than CRUD endpoints
- Code entropy — agent-generated code accumulates cruft differently than human-written code, manifesting as redundant preprocessing steps and unnecessarily complex transformations
What to do
Create an AGENTS.md for your primary ML repository encoding team conventions: feature naming standards, train/test split protocols, forbidden patterns (e.g., no data leakage across folds), and pointers to feature store schema docs
Build custom linters for your ML codebase that catch data science anti-patterns AND include remediation instructions in error messages (e.g., 'ERROR: Feature computed before train/test split. Move inside cross-validation loop. See AGENTS.md#feature-engineering')
Pilot agent-assisted development on one greenfield ML component (new feature store module, experiment tracking integration, or model serving endpoint) — not on legacy pipelines
Decompose any agent workflow exceeding 1 hour into checkpointed sub-tasks with verification gates between each step