Skip to main content
Run several agent harnesses as one team, and the layer you’re writing is a meta-harness: it gives each a role, hands work between them, runs a step again when a review fails, asks a person at the gate, and keeps a record of every step. The inner layer, one model and one loop, is the neighbour term, an agent harness.

In Obversa

Obversa is that outer layer, and the team is a file. Two engines from different families on one team is the smallest meta-harness:
examples/teams/writer-reviewer-pair.ts (excerpt)
One harness writes, another reads its work, and the outer layer decides what happens with the findings. The whole file and a real run are on A writer and a reviewer.

Who owns what

The outer layer is a written-down process. The engines do all the thinking, one bounded call at a time, and the record outlives the run: a run that records writes every step as a line in a file you can read afterwards. Give the review to a seat from another model family. Models score their own writing higher than other models’ writing, even where people rate the two as equal (Panickssery, Bowman and Feng, 2024). You declare that reviewer in the outer layer, and workflow() refuses one from the writer’s own family.

Next steps