Google Research · Apache 2.0 · Unofficial field guide

Harness² (harness2): Recursive Agent Harnessing, Explained

Last updated: October 19, 2026

An unofficial field guide to Harness², Google Research's recursive agent harnessing framework.

8
editable harness components
2
levels of recursion
3
professional benchmarks

The vocabulary

A harness is not the model. It is everything that lets the model act.

Harness

The system around a model that enables it to act as an agent: prompts, tools, memory, skills, orchestration and more.

Harnessing

The process of optimizing that system — the part around the model, not the model weights.

Harness²

A plug-and-play framework for recursive agent harnessing in an open world. It connects two levels of recursion while keeping model weights fixed.

The two recursion levels are the point. Task-level recursion refines the execution harness for the current task through a contrastive Propose–Probe–Compose step. Harnessing-level recursion writes the adopted harness and evidence-supported lessons into a persistent improvement harness for future tasks.

The Harness² pipeline: task-level recursion runs a reference execution, proposes and probes candidate harnesses, then composes a refined harness; harnessing-level recursion updates the improvement harness for future tasks.
The two-level pipeline. Figure from the google-research/harness2 repository (Apache-2.0).

Quick start

Three commands, then a demo that needs no model credentials.

The README targets Linux, Python 3.12 and uv. The demo runs both recursion modes with deterministic editors and real Python executions, so you can verify the install before touching Vertex AI.

Full installation guide, including the dependency traps →
from the repository rootbash
uv venv --python 3.12 .venv
source .venv/bin/activate
uv pip install -e '.[render]'

Then run the credential-free demo

harness2-demo --output runs/demo --k 2

The README does not document a GPU requirement. See the FAQ for that and the other setup questions.

What you can edit

The eight editable components

The model stays frozen. These are the pieces Harness² can change, grouped by their runtime role.

Full component guide →
ComponentGroupWhat it controls
System promptContext constructionThe agent's persona and top-level procedure — how the executor approaches a task before any individual tool is called.
GuardrailsContext constructionConstraints and checks on what the agent may do, and what it must verify before delivering.
MemoryContext constructionWhat the agent carries forward or retrieves across steps and tasks, as opposed to what is recomputed each time.
Tool guidanceTool interfaceHow tools are described to the model, when each should be used, and what good input looks like.
SubagentsOrchestrationHow work is split and delegated to specialized or parallel agents.
SkillsContext constructionReusable procedures the agent can load for a class of tasks instead of rebuilding the method each time.
ScriptsTool interfaceExecutable helpers that make deterministic operations repeatable instead of asking the model to perform them by reasoning.
PluginsMiddlewareMiddleware that runs inside the tool loop and changes behavior across tools rather than one prompt.
The eight Harness² components grouped by context construction, tool interface, orchestration and middleware control.
The eight components and their runtime groups. Figure from the google-research/harness2 repository (Apache-2.0).

What one step changes

Gains over each base harness

Results and reproduction →

Professional work

JobBench

up to +4.5

on points, relative to the base harness

Library grouped by the dataset’s occupation directories.

Legal work

LAB

up to +11.8 percentage points

on partial pass rate, relative to the base harness

Needs Pandoc and Poppler; reports Partial and All-pass.

Office, web and code

WorkBuddy-Bench

up to +11.5

on points, relative to the base harness

Requires Docker; use --subset office, web or code.

These are gains from a single Harness² step, not absolute scores, and not typical results. The README reports them as maximums across three professional benchmarks and four model–harness configurations, for GLM-5 and Gemini 3.5 Flash. Read the benchmark page before quoting them.

Go deeper

Three paths through the material

Before you install

Four questions people ask first

All FAQ answers →

Do I need a GPU to run Harness²?

The official docs do not list a GPU requirement. The local demo runs on CPU with deterministic editors, and model-backed runs call the configured Vertex AI models.

Does Harness² fine-tune the model?

No. The README says Harness² keeps model weights fixed and improves the harness instead, so it is not SFT or weight fine-tuning.

Which models and executors are documented?

Reported results cover GLM-5 and Gemini 3.5 Flash. Setup docs describe Vertex Gemini executors and judges, with Vertex Claude or Gemini as the improver; OpenCode is the default executor and Codex is used with --substrate cx.

Is this an officially supported Google product?

No. The README states it is not an officially supported Google product and is not eligible for the Google Open Source Software Vulnerability Rewards Program.

Primary sources

Read the original material

This guide is a reading aid, not a substitute for the repository and paper. Commands, parameters and benchmark figures are quoted from the official sources.

How to read the numbers on this site

Every figure here is quoted from the official repository or the paper, and labelled with what it measures. Where the README is silent — GPU requirements, guardrail implementations, the skill file format — this site says so instead of filling the gap. If a number on this page disagrees with the repository, the repository is right.