The short answer
Width and money
We measured each width on one task: a 6-hour compression benchmark, with Codex agents. The score is on held-out data, and higher is better. Each row is the median of 3 campaigns, unless it says otherwise.
Model USD is the list price of the agents’ tokens for the whole campaign.
- One implementer did not beat one plain agent. The gain comes from more implementers.
- 2 implementers beat the plain agent in each of their 3 campaigns, for about twice its cost.
- 10 implementers got the best score, and reached the plain agent’s final score in less than 2 hours.
- The one campaign with 20 implementers scored less than 10. We saw no gain past 10.
Hours and the budget
max_hours ends the campaign. hold_at is a cap: at it, nothing new starts, and what runs finishes and is scored.
Set both, as in the example at the top. Take the cap from the table above: for 6 hours, 2 implementers used about 30
USD of model tokens, and 10 implementers about 133 USD. Stop conditions and cost gives every limit.
Run length
Each run starts a new agent from the best, for at mosttimeout seconds: 3600 by default. Every piloop campaign
on this page used 60-minute runs. Make the timeout longer only when one evaluation takes a large part of the hour.
Harnesses
[plugins.harness] use lists the harnesses that the runs use in turn: Claude Code and Codex by default. In a second
set of campaigns with 10 implementers, Claude Code and Codex in turn scored 0.660 (2 campaigns), and Codex alone
0.635 (3 campaigns). The ranges of the two overlap, so the rotation had no clear effect. Use the harnesses that you
have.
Make the evaluate command the check
The evaluate command is the only check of a commit that piloop runs. A rule inbrief.md is only a request to the agents. So make the command fail a commit that breaks the repo’s own tests:
report writes the result line, as on the evaluate command. Otherwise a
commit that breaks the tests can get a good score and become the best. In a 3-hour bug-fixing task, campaigns with
one implementer let 12% to 17% of their scored commits break the repo’s tests (5 campaigns for each of 2 briefs). One
plain agent broke none (6 campaigns).
What did not help
- A focus area for each implementer, such as an
addendumfor each role or track. With 10 implementers, the campaigns with focus areas scored 0.607, and those without 0.660 (3 campaigns each). - A built-in agent that coordinates the implementers. With 10 implementers, it scored 0.610, against 0.635 without it (3 campaigns each). It did not decrease the duplicate ideas, and it cost about 17 to 33 USD more for each campaign. piloop does not ship it.
- A brief that asks for a written spec before the code. On the bug-fixing task, it gave no gain to one plain agent (3 campaigns each) or to one implementer (5 campaigns each).
- A rotation of harnesses, for the score. See Harnesses.