One harness rarely fits a mixed workload. Google Cloud AI Research's Object-Oriented Harness paper treats that as a software-architecture problem: evolve specialised subclasses, share code through inheritance, and route each task to the right class.
Gaotang Li (UIUC internship) with Bhavana Dalvi Mishra, Yifei Ming, and colleagues at Google Cloud AI Research post arXiv:2610.28380. Agent harnesses are executable code (prompts, tools, control flow) around a fixed language-model executor. Global optimisation can help one task family while hurting another. OO-Harness keeps a base class, grows children that override or extend methods, and freezes the hierarchy before held-out evaluation.
Class hierarchies for harness code, plus a lesson-aware router
The claimed representation combines shared behaviour and specialised behaviour through inheritance, method overrides, and new methods. During training, base-harness execution records seed task clusters with shared execution needs. An evolution agent iteratively picks a cluster and parent harness, writes a subclass, and evaluates it on that cluster only, avoiding a full discovery-set rerun for every candidate. Accepted classes enter the hierarchy; design lessons and routing lessons accumulate from successes and failures. At test time a harness router uses the task, an observable base trajectory, class descriptions, and frozen routing lessons to pick a specialised harness or keep the base result. Executor weights stay fixed; polymorphism runs the selected class through a common interface.
Held-out gains with a frozen Flash executor
All compared methods use the same gemini-3.5-flash executor. Evolution agents are fixed to Claude Opus 4.8 for up to 40 iterations; OO-Harness routing uses Claude Sonnet 5. Harnesses and lessons freeze before held-out scoring.
Table 1 reports three-run means. AutomationBench mean rises from 61.62 for the base harness to 77.41 under OO-Harness. Workspace-Bench micro-averaged rubric pass moves from 25.44 to 39.48. Toolathlon-GYM PASS rises from 31.15-class base figures to 37.45 on the primary PASS column the authors emphasise (user-facing round numbers: 61.6 to 77.4, 25.5 to 39.5, 31.2 to 37.5). OO-Harness leads the compared set, including Meta-Harness global optimisation and Adaptive Auto-Harness specialisation.
An inheritance ablation on Workspace keeps routing, executor, splits, and budget fixed while changing how code is learned. OO subclasses prior specialised harnesses; Flat copies evolved code into classes derived directly from the base; Base-reset starts from the base without carrying prior evolved code. OO reaches the highest micro rubric pass at 40.56%, exceeding Flat by 4.96 points. Separate figures show larger early discovery gains and shorter recorded search duration versus Meta-Harness, with higher held-out scores after freeze.
Frozen executor, disjoint held-out tasks, Meta-Harness as global foil
Fairness rests on a shared executor and native benchmark protocols, with discovery tasks separated from held-out tasks, unlike Meta-Harness TerminalBench-2 settings that reuse search tasks for final scores. Baselines include the unevolved base, Meta-Harness, Agentic Harness Engineering adaptations, Adaptive Auto-Harness, and unsupervised test-time scaling of the base (parallel best-of-K and sequential self-refinement) without grader feedback. OO-Harness's router sees base trajectories; ablations test task-only versus trajectory-based routing. Gains are harness-code gains with Gemini 3.5 Flash held constant, so they do not transfer automatically to a stronger executor without remeasurement.
Open weights for evolved harness trees are outside the release story
The paper does not claim a public dump of every evolved subclass from the main runs as a pip-installable product. Cross-executor transfer, human maintenance cost of deep inheritance trees, and behaviour when routing lessons go stale under distribution shift remain partly explored via OOD Toolathlon splits where the router falls back to Base. Dollar API cost of evolution is discussed qualitatively through shorter search duration versus Meta-Harness; exact invoices are unsettled.
arXiv preprint and appendix implementation notes
Primary artefact: arXiv:2610.28380, "Object-Oriented Harness: Evolving Agent Harnesses through Object-Oriented Design." Appendices describe prompts, clustering, and routing inputs. Benchmark suites (AutomationBench, Workspace-Bench, Toolathlon-GYM) are external evaluation surfaces with their own harnesses and graders. Companion code availability beyond the paper should be checked on the arXiv abstract page at read time.
Specialise the scaffold before you fine-tune the weights
Platform teams running heterogeneous business-workflow, workspace, and tool-use traffic can trial cluster-and-inherit harness search when a single prompt pack oscillates under ablations. Keep the base harness selectable so out-of-distribution tasks do not inherit unrelated specialisations; the OOD Toolathlon experiment shows Base reuse preserving performance while a global Meta-Harness regresses. Do not read the Flash-executor leaderboard deltas as a model-quality claim about Gemini itself.
After Meta-Harness, specialisation with shared parents
OO-Harness sits in the automatic harness-evolution line with Meta-Harness, Agentic Harness Engineering, and HarnessEvolve, and alongside concurrent Adaptive Auto-Harness Git-branch specialisation. Its distinctive move is object-oriented inheritance for sharing code across specialists while a lesson-aware router chooses among them, answering papers that showed global edits helping hard tasks and hurting easy ones.
