On October 9, 2026, researchers from Google Cloud AI Research and Northwestern University posted Harness²: Recursive Agent Harnessing for an Open World and released the accompanying code on GitHub under the Apache 2.0 licence. The framework improves an AI agent’s harness — the prompts, tools, memory, skills and orchestration wrapped around a model — while leaving the model’s weights frozen. A single improvement step lifts reported scores by up to 11.5 points on WorkBuddy-Bench, 4.5 points on JobBench and 11.8 percentage points on Harvey’s Legal Agent Benchmark (LAB). No weights ship with it, and there is no Hugging Face model or dataset card — just a paper page.
Advanced
Key points
- On October 9, 2026, researchers from Google Cloud AI Research and Northwestern University posted Harness² and released the accompanying code on GitHub under the Apache 2.0 licence.
- The framework improves an AI agent’s harness — the prompts, tools, memory, skills and orchestration wrapped around a model — while leaving the model’s weights frozen.
- A single improvement step lifts reported scores by up to 11.5 points on WorkBuddy-Bench, 4.5 points on JobBench and 11.8 percentage points on Harvey’s Legal Agent Benchmark.
- Harness² defines the harness as eight editable files and runs each task through a contrastive Propose–Probe–Compose step that needs no ground-truth answer.
- In results reported by the Harness² study, one step with Gemini 3.5 Flash under OpenCode moves the WorkBuddy average from 72.4 to 77.5, and with GLM-5 under the same harness from 64.2 to 75.7, the largest single-step gain reported.

What One Harness² Step Actually Does
Harness² defines the harness as eight editable files: system prompt, guardrails, memory, skills, tool guidance, scripts, subagents and a middleware plugin. The model stays frozen, so this is not fine-tuning and involves no reinforcement learning — only a search over the files around the model.
Each task runs through a contrastive Propose–Probe–Compose step. The agent first executes it from a base harness to produce a reference execution. A harness editor then drafts two candidates: an invariant one aimed at agentic weaknesses that recur across domains (planning, tool use, delegation), and a domain-specific one carrying the current field’s knowledge and procedures. Both are probed on the same task under matched settings and compared with the reference. Because the guiding signal is a behavioural contrast — did the edit change the behaviour it targeted? — no ground-truth answer is needed. A composer then merges the edits the evidence supports into a successor harness.

Task-level recursion has a budget, k. Parallel recursion probes k general and k domain-specific candidates at once and composes k successors; sequential recursion refines the harness through k successive steps. A second loop then runs: a reflector writes the adopted harness and a file of evidence-backed lessons into a persistent “improvement harness” library that guides proposals on later tasks. Every task still starts from the same base harness — what carries forward is the library, not a tuned harness. By default the editor is Anthropic’s Claude Opus 4.8 running under OpenCode, with Gemini 3.5 Flash and GLM-5 as the frozen executors.
Results, and What They Cost
The numbers come from three benchmarks: WorkBuddy-Bench (office, web and code deliverables), JobBench (end-to-end professional tasks) and LAB, Harvey’s legal benchmark. With Gemini 3.5 Flash under OpenCode, one step moves the WorkBuddy average from 72.4 to 77.5; for GLM-5 under the same harness it moves from 64.2 to 75.7, the largest single-step gain reported. On JobBench, Gemini gains 4.5 points (31.5 to 36.0); on LAB’s per-criterion partial pass rate, GLM-5 gains 11.8 percentage points (59.6 to 71.4). Scaling parallel recursion to k = 5 adds a further 2.9–3.9 points on WorkBuddy-Bench, 3.0–4.2 on JobBench and 2.6–6.7 points on LAB.

Two patterns stand out. Weaker executors gain more: GLM-5 with an improved harness reaches 75.7 on WorkBuddy-Bench, above Gemini 3.5 Flash’s base score of 72.4 — a better harness can matter more than a better model. Ablations also show where the gain comes from: removing the persistent library costs 3.1 points on WorkBuddy-Bench and 1.8 on JobBench, removing the scoped invariant and domain editors costs 2.9 and 3.7, and removing composition costs 1.6 and 1.9.
Recursion raises the tokens spent before a deliverable is submitted, and it does not uniformly close gaps between configurations: Meta-Harness, an offline baseline that searches harness code against a training split, stays ahead on LAB for Gemini 3.5 Flash under Codex. The repository also warns that executor network access is unrestricted and Codex runs with its sandbox disabled, so “public benchmark rubrics may be accessible online.”
What This Means
“Self-improving” deserves precision here. Nothing in Harness² updates weights, generates training data, trains a reward model or plays games against itself. What improves is a set of configuration and instruction files, selected by comparing executions on the task at hand and kept as lessons. The persistent library is what lets the loop compound across a task stream; a JobBench-derived library that improved one-step refinement on WorkBuddy-Bench is the evidence those lessons are portable rather than task-specific.
The practical read: harness engineering is now a measurable axis of agent performance rather than prompt polishing. Dependencies are modest: Apache 2.0 code, Linux and Python 3.12, and a local demo that needs no model credentials, though model-backed runs need a Vertex AI project plus Docker or Pandoc. The default configuration is notable in itself — a Google framework whose harness editor is Anthropic’s Claude Opus 4.8 — and Google’s disclaimer still applies: a research release, “not an officially supported Google product.”
Related Coverage
- Qwen Releases QwenGyre for Long-Horizon Agent RL Training — a different route to better agents: reinforcement learning over hour-long tasks, rather than editing the harness around a frozen model.
- DeepSeek Open-Sources Harness, an All-Plugin Agent Runtime — a separate project that shares the name but not the codebase: DeepSeek’s Harness is an agent runtime, while Google’s Harness² is a method for improving any harness.
This post was drafted with AI assistance and reviewed by RITS staff.
Sources
- google-research/harness2 — GitHub repository (Apache 2.0)
- Harness²: Recursive Agent Harnessing for an Open World — arXiv:2610.14224
- Harness² project page
- Hugging Face paper page for arXiv:2610.14224
- MarkTechPost: Google Open-Sources Harness2, a Recursive Agent Harnessing Framework (October 18, 2026)