Google Research introduced Harness² (Harness Squared), which rewrites the harness—a bundle of prompts, tools, and memory around a model—for each task while keeping model weights fixed. The framework improves task performance by changing the agent’s surrounding setup rather than replacing the model. The repository is public on GitHub (google-research/harness2). The first public commit was on October 8, and the paper appeared on arXiv on October 9.

Results

Evaluation covered WorkBuddy-Bench for office, web, and coding outputs, JobBench for end-to-end professional tasks, and LAB for legal work. The paper reports improvements for all four combinations across all three benchmarks. Gains ranged from 1.2–4.5 points in professional task scores and 2.0–11.8 percentage points in legal rubric pass rates. The table shows baseline harness → scores after 1 stage of Harness².

Table: Benchmark scores before and after 1 stage of Harness² (researcher-reported values, paper Table 1 and Table 2)

Conditions: By execution model and initial harness; baseline harness → Harness² stage 1 (k=1); harness editor: Claude Opus 4.8

Units: Points (WorkBuddy-Bench Avg., JobBench Score), % (LAB Partial absolute values), percentage points (LAB Partial changes in parentheses)

Results
Execution model + initial harnessWorkBuddy-Bench Avg.JobBench ScoreLAB Partial
Gemini 3.5 Flash + OpenCode72.4 → 77.5 (+5.1)31.5 → 36.0 (+4.5)79.9 → 81.9 (+2.0)
Gemini 3.5 Flash + Codex74.5 → 77.5 (+3.0)33.9 → 35.3 (+1.4)71.6 → 75.6 (+4.0)
GLM-5 + OpenCode64.2 → 75.7 (+11.5)20.6 → 24.2 (+3.6)59.6 → 71.4 (+11.8)
GLM-5 + Codex64.4 → 75.3 (+10.9)23.6 → 24.8 (+1.2)58.1 → 65.9 (+7.8)

Comparing the same initial harnesses in the reported results, GLM-5 gained more than Gemini 3.5 Flash on office, web, coding, and legal tasks. With just 1 stage of improvement, GLM-5 exceeded Gemini 3.5 Flash’s baseline office, web, and coding average. Gemini 3.5 Flash gained more on professional tasks, so which model benefited more depended on the task.

Why the results differ

Comparing methods within the same model–harness setup clarifies where Harness² stands (GLM-5 + OpenCode, by domain).

Table: Methods compared by WorkBuddy-Bench domain for GLM-5 + OpenCode (researcher-reported values, paper Table 1)

Conditions: Scores by domain

Unit: Points

Why the results differ
MethodCodeWebOfficeDescription
Baseline harness58.459.275.1No intervention
ReasoningBank63.361.472.0Retrieve only strategies from past trajectories
Harness Scaling60.363.479.8Modify only the harness for each task
Meta-Harness69.061.978.1Offline search on training tasks
Harness² (k=1)77.169.180.81-stage improvement

In the reported results, Harness² led competing methods by a wide margin in coding and web tasks, but was close to Harness Scaling on office tasks. The paper notes that ReasoningBank could fall up to 6.6 points below baseline in some coding task combinations. Harness Scaling fell below baseline in 7 of 12 paired combinations. According to the paper, Harness² led the comparison methods on WorkBuddy-Bench averages and JobBench scores in all four combinations. For legal work with Gemini 3.5 Flash + Codex, the offline search method Meta-Harness scored highest.

Harness² centers on proposal, testing, and assembly steps that revise the harness without a ground-truth verification tool. It proposes candidate edits, tests them on the same task, and assembles an improved harness from changes supported by differences in execution results. Harness-level recursion stores adopted harnesses and evidence-backed lessons in a library to refine subsequent tasks.

In a JobBench task (Gemini 3.5 Flash + OpenCode) reported in paper Figure 9, numerical cross-checks between input files and reinspection of output files were missing. The researchers added input inventory checks, numerical source tracing, output file reinspection, and task-specific reconciliation methods to the harness. They report that the rerun cross-checked figures and restored missing parts of a memo, raising the score from 43.1 to 77.8. This case fixed procedural flaws rather than adding knowledge.

k=1 denotes 1 stage of this improvement process; the +Recursion rows in the original paper tables use parallel recursion with k=5. In parallel recursion, k counts candidates and assembled results per scope, not stages. The paper finds that larger recursion budgets yield greater gains. For Gemini 3.5 Flash + OpenCode, raising k from 1 to 5 increased the reported gain over baseline from 5.1→8.4 points on the WorkBuddy-Bench average and 4.5→7.5 points on JobBench. Compute comparisons count all tokens before final output submission, including both task execution and harness improvement. The extra budget funds candidate testing and assembly as well as final answer generation. The offline search methods compared performed worse even with more compute than k=5.

The paper reports that all three components contribute to scores (ablation study using Gemini 3.5 Flash + OpenCode, k=1). Removing editor specialization means replacing the shared-procedure and task-specific editors with two general editors. Removing the library lowered WorkBuddy-Bench and JobBench scores by 3.1 and 1.8 points, respectively. Removing editor specialization lowered them by 2.9 and 3.7 points; removing assembly lowered them by 1.6 and 1.9 points.

Table: Benchmark scores in the ablation study (researcher-reported values, paper Table 3)

Conditions: Gemini 3.5 Flash + OpenCode, k=1

Unit: Points

Benchmark scores in the ablation study (Points)Harness² (full): WorkBuddy-Bench Avg. 77.5, JobBench Score 36.0; Without library: WorkBuddy-Bench Avg. 74.4, JobBench Score 34.2; Without editor specialization: WorkBuddy-Bench Avg. 74.6, JobBench Score 32.3; Without assembly: WorkBuddy-Bench Avg. 75.9, JobBench Score 34.1WorkBuddy-Bench Avg.JobBench ScoreHarness² (full)77.536.0Without library74.434.2Without editor specialization74.632.3Without assembly75.934.1
Benchmark scores in the ablation study (Points)
Why the results differ
ComponentWorkBuddy-Bench Avg.JobBench Score
Harness² (full)77.536.0
Without library74.434.2
Without editor specialization74.632.3
Without assembly75.934.1

In paper Figure 8, the researchers report gains on all three benchmarks for 5 models (GLM-5–Claude Opus 5), using the same model for execution and editing (OpenCode, k=2). The paper reports a 13.7-point gain for GLM-5 on LAB. Claude Opus 5 gained 3.3, 5.5, and 3.0 points on WorkBuddy, JobBench, and LAB, respectively.

How scores were measured

Each combination was run 3 times with shuffled task order to calculate means and standard deviations. The test sets comprised 40, 35, and 25 WorkBuddy tasks (coding, web, and office), 34 JobBench tasks, and 100 LAB tasks.

WorkBuddy uses a composite verifier for scoring, while Claude Opus 4.8 evaluates JobBench against rubrics. LAB reports per-criterion pass rates (Partial) evaluated by Claude Sonnet 4.6.

Limitations

During release validation, a Codex run on JobBench downloaded the task’s grading rubric without being instructed to do so. To prevent evaluation contamination, the execution agent’s external access must be restricted at the network level. Codex runs without a sandbox, a protection mechanism that isolates execution, so tool settings alone cannot be relied on to block access.

Installation guide

Installation targets Linux, Python 3.12, and uv. Follow the repository installation guide for model- and benchmark-specific dependencies and settings. The example below sets up LAB, runs a small test, and scores it separately. --max-tasks limits the number of tasks per domain.

harness2-setup lab
harness2-check --bench lab
harness2 --bench lab --k 1 --mode parallel \
  --only-domains antitrust-competition --max-tasks 1
harness2-judge --bench lab --k 1 --mode parallel

Selection criteria

Based on the authors’ experiments, teams able to modify their own harnesses (prompts, guardrails, skills, and scripts) can start with a single k=1 run. Use parallel recursion (k=5) if you have room to explore candidates, or sequential recursion to refine each stage. The paper compares both approaches at k=1–5.

The researchers report that improving the surrounding setup raised performance without replacing the model, supported by reusing experience across tasks.