We run five copies of the same agent, each with a different personality

Because one pass misses requirements systematically. A language model reading 200 pages of tender documents tires of insurance clauses and skims the ending, no matter how the prompt begs it not to. Five replicas that are forbidden to read alike catch what one thorough reader cannot.

An engineer reading a drawing at a desk by a window overlooking the city

A single pass misses the same clauses every time

When we started extracting requirements from tender documents, we did the obvious thing: one agent, one pass, a prompt that asked for thoroughness. Then we checked the output against documents our own team had read line by line, and the misses were not scattered. They formed a pattern. The model tires of insurance clauses: after the tenth, the eleventh stops registering as information. It skims the ending: a requirement on one of the last twenty pages surfaces less reliably than the same requirement placed early in the document.

Systematic misses are worse than random ones. A model that missed at random would be cheap to fix: run it twice, take the union, and the gaps mostly cover each other. A model that misses the same clause types for the same reasons produces the same gaps on every run. And no wording of "be thorough, read every clause, do not skip anything" changed the shape of those gaps. We tried more versions of that prompt than we care to admit.

Five replicas that are not allowed to read alike

What worked was structural. We run five replicas of the same extraction agent in parallel over the same text. Same model, same input, different behavioural directives. One is paranoid: told to flag anything that could conceivably bind the bidder and let later stages throw out the noise. One is recall-optimized: instructed that a miss is expensive and a duplicate is free. One reads the material back to front, so the pages a forward reader reaches tired get the freshest attention.

Directives alone are not enough. Five differently prompted replicas can still inherit the same blind spot from the document's structure, because they all walk through it in the same order. So each replica also gets its own traversal: a seeded random generator shuffles the order of requirement categories per replica. The seed keeps runs reproducible. The shuffle guarantees that no two replicas process the document the same way. Their blind spots stop lining up because they are not allowed to.

What varies How The miss it covers
Paranoid directive Over-flags borderline clauses Requirements dressed as boilerplate
Recall directive Prefers duplicates over omissions Borderline finds dropped as uncertain
Back-to-front reading The ending gets fresh attention Late-document fatigue
Seeded shuffling Unique category order per replica Blind spots inherited from document structure

The merge is a union with deduplication, never a vote. If one replica out of five finds a requirement and four do not, it stays. That asymmetry is the point: a false positive costs a reviewer a few seconds, a false negative can cost the bid.

None of this touches the model's weights. It is all inference-time behaviour: the same model, steered five ways. There is no training on anyone's documents anywhere in this story.

The fan-out is easy; the merge is the hard part

The replicas sit inside a larger tree. A tender review fans out in three layers: after a classifier sorts the incoming set into document types, up to 30 documents are processed at once, ten chunks at a time within each document, three to five replicas per chunk. Weeks of sequential human reading becomes a broad tree of concurrent passes, with a synthesis at every join.

The fan-out is the easy part; any promise pool gives you that in an afternoon. The hard part is the merge. Five replicas describe the same clause in five wordings, anchored at slightly different positions, and those five records have to collapse into one requirement with one citation. Two genuinely distinct requirements three lines apart have to survive as two. Getting deduplication to do the first without ever doing the second took longer than everything else in this post combined.

Humans share blind spots. Replicas are forbidden to.

We keep coming back to a procurement where every bidder missed the same line. Nobody was careless. They were experienced engineers reading the way experienced engineers read, under the same deadlines, with the same expectations about where the important clauses live. That is precisely why they all missed the same one. Human review is sampling, and the sampling habits are shared across a whole profession.

You cannot hire five engineers and assign one of them paranoia. People's reading habits converge; that is what being trained into a profession means. A machine's habits do not have to. We can order one replica to distrust boilerplate, another to read backwards, a third to put recall before tidiness, and they comply every time. The union of five enforced perspectives has a property no single reader can offer, human or machine: its blind spots were engineered away, not hoped away.

Benjamin Glaser Co-founder at Yesper. Writes about AI and the industry that builds the world. benjamin@yesper.ai

This kind of review, several readers catching what a single pass misses, is one of the things Yesper does in real work. Get in touch if you'd like to see it.

Book demo