“Which model should I use for my coding agent” is the comparison most people run, and it’s measuring the wrong variable. Databricks published a controlled test in July 2026 that ran the same model, at the same thinking effort, through two different coding agent harness setups β€” and found cost per task differed by more than 2x while output quality stayed essentially the same. The model wasn’t what changed. The software wrapped around it was. If you’re picking an AI coding tool by which model it’s “powered by,” you’re checking the wrong spec.

What a Harness Actually Is

A harness is the layer of software between you and the model β€” it decides what context the model sees on each turn, which tools it’s allowed to call, how it searches your codebase, how it handles test-and-repair loops, and how state carries across a multi-step task. Two products can advertise “powered by the same frontier model” and behave completely differently in practice, because the harness β€” not the model β€” controls repo search, context hygiene, file selection, tool orchestration, and the loop that decides when a task is actually done.

The Databricks Finding, and Why It Should Change How You Evaluate Tools

Databricks ran the test on its own multi-million-line internal codebase specifically because public benchmarks like SWE-Bench and TerminalBench have a known problem: the tasks are public, so solutions leak into training data over time, and results on them don’t necessarily transfer to a real, private codebase. Running the same model through Claude Code, Codex, and a leaner harness called Pi, the team found cost per task varied by more than 2x in some cases with comparable quality β€” and traced the gap to context management. Pi sent roughly three times less context per turn, kept a tighter working set, and finished tasks in fewer runs. One widely shared summary of the results cited a specific figure: Opus 4.8 running through Pi at roughly $0.74 per task against roughly $1.94 per task through a native harness, for comparable output β€” a third-party read of the Databricks data rather than Databricks’ own headline number, but directionally consistent with what Databricks itself reported.

It’s Not Just One Company’s Finding

An independent academic benchmark on a completely different domain β€” small-molecule pharmacology tasks, not coding β€” found the same pattern holding up under controlled comparison. Running the identical model checkpoint through different harnesses, pass rate still varied: one harness outperformed a comparable setup by 4.4 percentage points on shared Claude models and by 5.5 percentage points on shared GPT models, and it won on every shared model tested, not just on average. For scale, that’s a similar-sized jump to what the researchers saw from moving up a full model generation within the same family β€” meaning harness choice can matter about as much as which model version you’re running.

What changed between harnessesEffect observed
Same model, coding tasks, Databricks’ internal codebaseCost per task varied more than 2x at comparable quality
Same model checkpoint, pharmacology reasoning tasksPass rate varied by 4.4–5.5 percentage points depending on harness pairing
Image-bearing tasks across harnessesOne harness rendered figures to the model 100% of the time, another 84%, a third-party harness lacking vision support 0%
Run failure rate0.6% for the leaner harness versus 1.8% for a heavier one, in the same study

How to Actually Test This Before You Commit

Skip the marketing comparison of model names and run a version of what Databricks did, scaled to your situation: take two or three harness options, point them at the same model, and run them against a handful of real tasks from your own codebase or workflow, not a public benchmark. Track cost per completed task rather than price per token or per API call β€” as one widely circulated read of the Databricks data put it, price per token is the wrong unit for agentic work, because a harness that uses more tokens but finishes in one pass can still beat one that uses fewer tokens but needs three retries. The same “read past the headline rate” discipline applies to comparing free and paid AI tools generally, and it matters even more once open-weight coding models like GLM-5.3 enter the harness mix, since a cheaper model paired with an expensive harness can still lose to a pricier model in a lean one. If any of your work involves images, screenshots, or diagrams, check whether the harness renders them to the model at all β€” that single capability gap fully explains part of the performance difference researchers found, independent of model choice, and it’s the kind of gap this site has flagged before when weighing Cursor, Claude Code and GitHub Copilot against each other by unit and metering structure rather than by headline model name alone.

You Don’t Have to Pick Just One Anymore

The response building in the tooling ecosystem is to stop treating harness choice as a one-time, locked-in decision. Databricks open-sourced a meta-harness called Omnigent under Apache 2.0 that sits above Claude Code, Codex, Pi and custom agents, letting teams swap harnesses with a one-line change, enforce cost and permission guardrails at the orchestration layer instead of through prompts, and share live agent sessions for review. Separately, Vercel’s AI SDK 7 shipped a comparable abstraction, HarnessAgent, aimed at the same problem from a different angle β€” letting a team write an agent once and swap the underlying harness the same way they’d already swap models. Two different companies converging on the same abstraction within the same stretch of 2026 is itself a signal that harness lock-in was a real, widely felt problem, not a niche complaint.

Where This Fits Into a Broader Automation Strategy

If you’re building any kind of AI-driven automation beyond coding specifically, this same lesson generalizes: the wrapper around a model β€” how it retrieves context, which tools it can call, how errors get handled β€” usually matters more to real-world reliability than which underlying model you picked, a point this site made when laying out the order of operations for automating work with AI tools and when covering what AI agents can and can’t reliably do for a business. It also applies directly if you’re evaluating a self-hosted setup like OpenClaw, where the skills and permission configuration function as a harness layer of their own, or routing calls through an aggregator like OpenRouter, where the harness sits on top of whichever model gets routed to underneath.

Who Should Actually Care About This

If you’re an individual developer using one coding assistant out of the box, the harness underneath it is largely fixed by the product you chose, and the practical move is simply to know it exists rather than assume the model name is the whole story. If you’re evaluating tools for a team, or building automation that calls multiple models, this is worth real testing time β€” the Databricks and academic findings both suggest the harness layer can be worth as much to your outcomes as an entire model upgrade, and it’s a variable that’s easy to test cheaply before committing to a vendor or a workflow at scale.

Frequently Asked Questions

What exactly is an AI agent harness?

It’s the software layer between a person and a model that manages what context the model sees, which tools it can call, how it searches a codebase, and how multi-step tasks get carried out and verified. Claude Code, Codex, and Pi are examples of different harnesses that can run the same underlying model.

Does the harness really matter more than the model?

Controlled tests found harness choice alone changed cost per task by more than 2x in one benchmark and pass rate by 4–6 percentage points in another, at comparable model settings β€” a magnitude researchers compared to the gain from moving up a full model generation. It doesn’t replace model choice, but it’s a large enough factor that model name alone is an incomplete comparison.

Why did a leaner harness perform better in these tests?

The Databricks test traced most of the cost difference to context management: the leaner harness sent roughly three times less context per turn and kept a tighter working set, finishing tasks in fewer runs at comparable quality.

Can I switch harnesses without switching models?

Increasingly, yes. Databricks’ open-source Omnigent and Vercel’s AI SDK 7 HarnessAgent both let a team swap the harness a model runs through without rewriting the underlying agent, treating harness choice as a configuration rather than a permanent commitment.

Should I trust public coding benchmarks like SWE-Bench when comparing harnesses?

Treat them cautiously. Databricks specifically avoided relying on public benchmarks for its own evaluation because public task solutions can leak into training data over time, and found the results weren’t representative of performance on its own private, real-world codebase.

Does harness choice matter outside of coding agents?

Yes. An independent study on pharmacology reasoning tasks found the same pattern β€” harness choice changing pass rate at a fixed model checkpoint β€” suggesting the effect isn’t specific to coding and applies to agentic AI workflows more broadly.