Harness²: Recursief Agent-harnessing voor een Open Wereld

Harness² is een plug-and-play framework voor recursief agent-harnessing in een open wereld, waarbij agenten taken tegenkomen die niet eerder zijn gezien tijdens het ontwerp van de harness. Het verbindt twee niveaus van recursie terwijl de modelgewichten vast blijven:

  • Taakniveau-recursie: Verfijnt de executie-harness voor de huidige taak via een contrastieve Propose–Probe–Compose-stap: edits voorstellen, hun effecten op dezelfde taak testen (proben) en een verfijnde harness samenstellen op basis van gedragscontrasten tussen executies, zonder dat er grondwaarheid-feedback (ground-truth feedback) nodig is.
  • Harnessing-niveau-recursie: Actualiseert een persistente verbeterings-harness met aangenomen harnesses en bewijs-ondersteunde lessen uit elke taak om toekomstige verfijningen te sturen.

Over drie professionele benchmarks en vier model-harness configuraties verbetert een enkele Harness²-stap GLM-5 en Gemini 3.5 Flash ten opzichte van hun basis-harnesses. De winst bedraagt tot 11,5 punten op WorkBuddy-Bench, 4,5 punten op JobBench en 11,8 procentpunten op het gedeeltelijke slaagpercentage van LAB. Het verhogen van het budget voor taakniveau-recursie levert verdere winst op.

De release ondersteunt parallelle en sequentiële recursie, OpenCode- en Codex-executors, en de benchmarks JobBench, LAB en WorkBuddy-Bench.

Harness-componenten

Harness² stelt acht bewerkbare componenten rond het model beschikbaar:

  • Systeem-prompt
  • Guardrails
  • Geheugen
  • Tool-begeleiding
  • Sub-agenten
  • Vaardigheden
  • Scripts
  • Plugins

Deze componenten controleren de constructie van de context, de tool-interface, delegatie en het gedrag binnen de tool-loop.

Installatie

Gebruik Linux, Python 3.12 en uv.

Voer vanuit de root van de repository de volgende commando's uit:

uv venv --python 3.12 .venv
source .venv/bin/activate
uv pip install -e '.[render]'
harness2-demo --output runs/demo --k 2

De lokale demo draait beide recursiemodi met deterministische editors en echte Python-executies. Hiervoor zijn geen model-credentials vereist.

Voor benchmarks op basis van modellen moeten Node.js 20+, de Google Cloud CLI en de benchmark-afhankelijkheden worden geïnstalleerd. LAB vereist Pandoc en Poppler; WorkBuddy-Bench vereist Docker. Configureer vervolgens de modellen:

cp .env.example .env
# Bewerk .env met uw Vertex AI project- en model-ID's.
gcloud auth application-default login

Raadpleeg de installatiehandleiding voor modelinstellingen, alternatieve authenticatiemethoden en de Codex-executor.

Een benchmark uitvoeren

Het volgende voorbeeld installeert LAB, voert één taak uit, en evalueert en rapporteert vervolgens het resultaat. Runs op basis van modellen brengen API-kosten met zich mee; begin met een kleine selectie van taken.

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
harness2-report --bench lab --k 1 --mode parallel

Sequentiële recursie voert dezelfde commando's uit met --mode sequential. De parameter --k bepaalt het budget voor taakniveau-recursie (zie Experimenten). Het beoordelen (judging) en rapporteren moet gebruikmaken van dezelfde benchmark, executor, subset, --k, --mode en seed als de verfijningsrun. Voeg --dry-run toe aan harness2 om de taakselectie te bekijken zonder model-aanroepen te doen.

Beschikbare Benchmarks

BenchmarkTakenInstallatieHandleiding
JobBenchProfessioneel werkharness2-setup jbJobBench
LABJuridisch werkharness2-setup labLAB
WorkBuddy-BenchKantoor, web en codeharness2-setup wbWorkBuddy

Kies één benchmark per commando. WorkBuddy accepteert daarnaast --subset office, --subset web of --subset code bij elk commando na de installatie. De benchmark-handleidingen bevatten informatie over data, domeinen en beoordeling.

Experimenten

Taakniveau-recursie kan op twee manieren worden geschaald:

  1. Parallelle recursie: Onderzoekt meerdere kandidaat-harnesses en stelt verfijningen samen op basis van hun executiebewijs.
  2. Sequentiële recursie: Neemt de verfijnde harness en het verzamelde bewijs mee door opeenvolgende Propose–Probe–Compose-stappen.

Parallelle recursie verkent breder; sequentiële recursie verfijnt dieper.

OptieGedrag
--k 1Eén Propose–Probe–Compose-stap
--k K --mode parallelProbeert K algemene en K domeinspecifieke kandidaten, en produceert vervolgens K composities
--k K --mode sequentialVerfijnt de harness via K opeenvolgende stappen
--substrate cxGebruikt Codex in plaats van de standaard OpenCode-executor

Na elke taak behoudt de harnessing-niveau-recursie de aangenomen harness en de bewijs-ondersteunde lessen om toekomstige verfijningen te sturen. Zie de experimenthandleiding voor taakselectie, gelijktijdigheid, reproduceerbaarheid en baseline-vergelijkingen.

Webtoegang

Netwerktoegang voor de executor is onbeperkt, en Codex draait met de sandbox uitgeschakeld. Openbare benchmark-rubrieken kunnen online toegankelijk zijn. Configureer vóór evaluatie netwerkbeperkingen om te voorkomen dat er toegang wordt verkregen tot benchmark-antwoorden en beoordelingscriteria.

Resultaten en hervatten

Resultaten worden opgeslagen onder runs/, georganiseerd per benchmark en, indien van toepassing, per subset. Deze bevatten taakoverzichten, deliverables, aangenomen harnesses, reflectienotities en evaluatieresultaten.

Herhaal hetzelfde commando om een run te hervatten. Gebruik een nieuwe HARNESS2RUNSDIR bij het wijzigen van modellen of de taakselectie. Elk commando ondersteunt ook --help.

Citatie

@article{xu2026harness2,
title   = {Harness$^2$: Recursive Agent Harnessing for an Open World},
author  = {Xu, Ruiyao and Chen, Yanfei and CuiZhu, Zhongying and Dalvi Mishra, Bhavana and Ming, Yifei and Yu, Han and Han, Rujun and Lee, Chen-Yu and Pfister, Tomas},
journal = {arXiv preprint arXiv:2610.14224},
year    = {2026},
url     = {https://arxiv.org/abs/2610.14224}
}

Bijdragen

Zie CONTRIBUTING.md.

Licentie

Harness² is gelicentieerd onder Apache 2.0. Code van derden onder third_party/, benchmarks en datasets behouden hun eigen upstream-licenties; zie de berichten over software van derden.

Disclaimer

Dit is geen officieel ondersteund Google-product. Dit project komt niet in aanmerking voor het Google Open Source Software Vulnerability Rewards Program.