Have a project in mind? Let's talk.

Harness2 is a new open source framework from Google Research that improves how an AI agent performs by tuning everything around the model instead of the model itself. The repository appeared on GitHub on October 6, 2026, with a paper on arXiv three days later, and it has already passed 12,000 stars. The pitch is simple: most teams cannot retrain the model they use, but they can restructure how that model is prompted, tooled, and checked. Harness2 automates exactly that layer. Source Source
This post explains what Harness2 actually does, what the published results show, and what it means if you run agents in production. Primary sources first: the GitHub repository and the arXiv paper. Anything that is our read of the material is marked as such.
The paper defines a harness as the system around a model that lets it act as an agent: prompts, tools, memory, skills, orchestration, and more. "Harnessing" is the process of optimizing that system. The core idea is expressed as Agent equals Model plus Harness, and Harness2 only ever edits the second term. Model weights stay frozen throughout. Source
The framework targets an "open world" setting, meaning agents meet tasks that were unseen when the harness was designed. That creates two problems the paper names directly: there are no ground-truth verifiers to guide edits at test time, and improvements tuned for one task often fail to generalize to the next. Harness2 addresses both with two connected levels of recursion, which we unpack below. Source
The release is plug-and-play under an Apache 2.0 license. It supports parallel and sequential recursion modes, runs on OpenCode and Codex executors, and ships with three professional benchmarks: JobBench for professional work, LAB for legal work, and WorkBuddy-Bench for office, web, and code tasks. One caveat in the fine print: this is not an officially supported Google product. Source
Harness2 exposes eight editable components around the model: the system prompt, guardrails, memory, skills, tool guidance, scripts, subagents, and a middleware plugin. Each component is mounted as a file in the runtime, which means every harness edit is a concrete, inspectable file change rather than an abstract configuration tweak. Source
That decomposition matters for anyone running agents today. These eight files are exactly the things teams already hand-edit when an agent misbehaves: the prompt, the tool descriptions, the memory policy, the delegation rules. Harness2's contribution is to make those edits systematic, evidence-based, and reversible instead of vibes-based. Source
The hard part of improving an agent on a new task is that you usually cannot tell whether the output was correct. Harness2's answer is a contrastive step called Propose-Probe-Compose. It starts by running the current harness once to get a reference execution. The point of that run is not to judge correctness but to observe behavior: where the agent hesitated, which tools it called, how it managed context. Source
Propose then drafts two candidate edits. The "invariant" candidate targets recurring agentic weaknesses such as planning, tool use, context management, or delegation. The "domain-specific" candidate targets the knowledge and constraints of the current task's domain. Both candidates are full executable harnesses built by editing the component files. Source
Probe runs the candidates under matched conditions and compares their behavior against the reference. Compose then builds a successor harness from the changes that the behavioral evidence supports, keeping parts of both candidates when each earned its place. No ground-truth answer is consulted at any point; the loop runs entirely on observed execution evidence. Source
Two scaling modes sit on top of this step. Parallel recursion explores multiple candidate harnesses at once and composes from their combined evidence. Sequential recursion carries the refined harness through several successive Propose-Probe-Compose steps. In the repo's framing, parallel explores wider while sequential refines deeper. Source
Most tuning loops are amnesiac: each task starts from scratch. Harness2's second level of recursion fixes that by maintaining an improvement harness across tasks. After each task, the pipeline retains the adopted harness plus the lessons from its refinement, so the next task's proposals start from accumulated evidence rather than zero. Source
Each entry in this library pairs an executable harness with an EXPERIENCE.md file that records the applicable situation, the lessons, and the supporting evidence. An index lets later sessions pull only relevant entries. Notably, when the evidence is too thin, reflection adds nothing, which keeps the library from filling with noise. Source
The ablation results argue this memory is doing real work. Removing the library drops scores by 3.1 points on WorkBuddy-Bench and 1.8 on JobBench. Removing the invariant-versus-domain scoping costs 2.9 and 3.7 points, and removing the composition step costs 1.6 and 1.9. All three design choices contribute measurably. Source
Across three professional benchmarks and four model-and-harness configurations, a single Harness2 step consistently improved GLM-5 and Gemini 3.5 Flash over their base harnesses. The reported gains reach 11.5 points on WorkBuddy-Bench, 4.5 points on JobBench, and 11.8 percentage points on LAB's partial pass rate. Source
The most quotable result: on WorkBuddy-Bench, one step lifts GLM-5 from 64.2 to 75.7 under OpenCode and 75.3 under Codex, surpassing the base Gemini 3.5 Flash scores of 72.4 and 74.5. A weaker model with a tuned harness beat a stronger model running its original harness. That is the whole thesis in one number. Source
Spending more recursion budget keeps helping, with diminishing shape. With Gemini 3.5 Flash under OpenCode, raising the task-level budget k from 1 to 5 lifts gains over the base harness from 4.5 to 7.5 points on JobBench and from 5.1 to 8.4 on WorkBuddy-Bench. The paper reports both tested Harness2 configurations sit on the empirical compute-performance Pareto frontier against baselines like ReasoningBank and Meta-Harness. Source
Here is our read, separate from the paper's claims. Most production agent teams live exactly where Harness2 operates: the model is a fixed API dependency, and all the leverage sits in the scaffolding. Until now, harness edits were shipped on intuition and reverted after incidents. Harness2 encodes a discipline instead: every change must earn its place through measured behavior on real tasks, and the reason it worked gets written down where the next task can use it.
That discipline pairs naturally with observability. If you cannot see what your agent did, you cannot judge a harness change, which is the same premise behind our AI agent observability checklist. It also rhymes with repeatable evaluation practice, the theme of our post on Scale's AgentEnv and repeatable agent evaluations. Harness2 adds the missing third piece: acting on that evidence automatically.
The practical implication for AgentOps is that "harness version" becomes a first-class release artifact. The Harness2 results directory already treats adopted harnesses, reflection notes, and evaluation results as saved outputs per run. Expect teams to start reviewing harness diffs the way they review model version bumps today. Source
Setup is Linux, Python 3.12, and uv. From the repository root you create a virtual environment, install the package, and run the demo, which exercises both recursion modes with deterministic editors. A --dry-run flag previews task selection without model calls, which is the sensible first step before spending API budget. Source
Benchmark runs follow a five-command pattern per benchmark: setup, check, refine, judge, report. Judging and reporting must use the same benchmark, executor, subset, recursion budget, mode, and seed as the refinement run, or the numbers will not line up. Results land under a runs directory organized by benchmark, including task summaries, deliverables, adopted harnesses, reflection notes, and evaluation scores. Source
One security note deserves emphasis. The executor's network access is unrestricted and Codex runs with its sandbox disabled by default, and public benchmark rubrics may be reachable online. The README explicitly tells you to configure network restrictions before evaluation so agents cannot reach benchmark answers or grading criteria. Treat that step as mandatory, not optional. Source
The evidence is strong but narrow in specific ways. The gains are demonstrated on three professional benchmarks with two models and two executors. Single-step gains range from 11.5 points down to 1.2, so the effect size varies considerably by configuration. The repo also warns that benchmark runs carry API costs and recommends starting with a small task selection. Source Source
Open questions we would want answered before betting a production stack on it: how the loop behaves on messy internal tasks rather than curated benchmarks, how often the composed harness regresses on the task it was tuned for, and what the ongoing token cost looks like at k=5 compared to just buying a stronger model. The compute-performance analysis is a good start, but every team's cost curve is different. Source
Harness2 turns agent tuning into an evidence loop: propose an edit, probe its behavior, keep only what works, and remember why. The headline finding, that a weaker model with a tuned harness can beat a stronger model on its stock harness, gives every team stuck on a fixed model a concrete new lever. It is early, benchmark-bound, and unofficial, but the loop it encodes is a reasonable default for maintaining an agent stack in 2026.
Harness2 is an open source framework from Google Research that automatically improves the harness around a frozen AI model: the prompts, guardrails, memory, tool guidance, subagents, skills, scripts, and plugins that turn a model into an agent. It never touches model weights. GitHub
It uses a contrastive Propose-Probe-Compose step. It runs the current harness to observe behavior, drafts one invariant and one domain-specific edit, probes both under matched conditions, and keeps only changes backed by behavioral evidence. No correct answer is needed at any point. paper
A single step improved GLM-5 and Gemini 3.5 Flash across three professional benchmarks, with gains up to 11.5 points on WorkBuddy-Bench, 4.5 on JobBench, and 11.8 percentage points on LAB. In one setup, tuned GLM-5 scored 75.7, beating base Gemini 3.5 Flash at 72.4. arXiv
No. The repository is published under the google-research organization with an Apache 2.0 license, but the README states clearly that it is not an officially supported Google product. GitHub
Treat it as a research-grade tool worth piloting, not a production default. The published evidence covers three benchmarks and two models, evaluation runs cost API budget, and the default setup gives executors unrestricted network access that you must lock down first. GitHub
Ready to take the first step towards unlocking opportunities, realizing goals, and embracing innovation? We're here and eager to connect.