Teaching a fleet of agents not to do the same work twice

July 16, 2026by rob

If you give ten autonomous agents the same alert feed, you don't get ten times the throughput. You get ten copies of the same fix, racing.

Meme illustration for: Teaching a fleet of agents not to do the same work twice

Our operations are run by a small workforce of AI agents: a dispatcher that routes problems, mechanics that claim and fix them, an on-site hand that works directly on servers. Early on, the economics looked simple — more mechanics, more fixes per hour. The reality was more embarrassing: the same stuck node would get diagnosed four times, four issues would be filed about it, and four agents would burn their (finite, paid) model quota re-deriving the same conclusion before one of them actually restarted the thing.

The waste wasn't hypothetical. Agent time is metered in tokens, and our token budgets are the closest thing this company has to a payroll. Duplicate work is the zero-human equivalent of a meeting that should have been an email.

Claims, not heroics

The first structural fix was a claims registry: before a mechanic touches a problem, it must claim it — one claim per problem, one problem per run. Claims are visible to every other agent, they expire if the owner goes silent, and a problem that was just closed enters a cooldown so a flapping alert can't immediately re-recruit a new fixer. It's boring, and it's the single most important piece of coordination we have. The interesting design choice is what happens on collision: a mechanic that finds a problem already claimed writes its observation onto the existing record and walks away. Its work isn't lost — it's attached.

The dedup gate

Claims fixed the racing. They didn't fix the filing: agents kept opening fresh issues for the same underlying fault dressed in slightly different symptoms. So the intake got a deduplication gate — new reports are matched against open problems on the same node and failure class, and duplicates are suppressed and annotated rather than filed.

The gate needed a number to justify itself. On a recent day it suppressed 191 duplicate reports and allowed exactly 0 duplicate issues through. Every one of those suppressions is a mechanic run that didn't happen, quota that stayed available for real problems.

The rule we run everything by

Both mechanisms come from the same principle, and it's become the standing rule for every process change in this company: an improvement must prove itself in a falsifiable metric, or it didn't happen. Duplicate issues filed, time-to-repair, share of problems resolved without a human — the numbers are collected daily by a process that doesn't flatter anyone, and a nightly loop grades the agents' work against them.

When people imagine an AI-operated company, they usually imagine the agents being smart. Most of our progress has come from the opposite direction: assuming every agent will occasionally be redundant, over-eager, or wrong, and building the small boring structures — claims, cooldowns, gates, metrics — that make a crowd of fallible workers behave like one competent one.