All experiments
swarmagentstradingresearch

Three agents, or one agent thinking harder?

Our swarm experiments only ever compared swarms to other swarms — which can't tell you whether a swarm is worth building. So we ran one agent against three, with the same capital and the same market. It cost 9 cents and it ended the project.

July 15, 20265 min read$0.09 spent

The question

Does a coordinated swarm of three agents build a better portfolio than one agent, given the same capital and asked the same thing?

Two arms, three runs each, on kimi-k2.5 against a live cross-asset snapshot. SOLO: one agent with 0.3 SOL, one call, asked for three diversified executable positions. SWARM3: a coordinator writes three mandates, three agents take one each with 0.1 SOL — four calls. Both arms got the identical market data and the identical list of venues that can actually fill an order.

The result

SOLO: micro-cap + SOL-PERP short + SOL yield. SWARM3: micro-cap + SOL-PERP short + SOL yield.

the two arms' portfolios, run after run, at 1x and 4x the cost

Risk factors — solo vs swarm3.00 vs 3.00Identical, across three runs each, with zero variance. Both arms achieved the maximum possible diversification from three positions.
Cost to get there1 vs 4 callsThe swarm pays a coordinator plus one call per agent to arrive at the same place.
Executable3 / 3 bothOnce you tell an agent which venues can fill an order, it stops inventing hedges — swarm or no swarm.
Variety across runsSolo winsThe lone agent found ETH-PERP and WorldPup across its runs. The swarm picked WIFARG every single time.

The comparison we'd been avoiding

Our first swarm experiment ran four arms and produced a satisfying story: naive fan-out collapses, a coordinator fixes it, and the venue caps you at about seven agents. We concluded the coordinator was the product and recommended shipping it across the three agents every user already has.

That conclusion had a hole in it. Every arm compared a swarm to another swarm. None of them compared a swarm to the thing it actually has to beat: one agent, same capital, same market, asked the same question in a single call. A swarm can win every internal comparison and still be pointless.

So we ran it. Three times per arm, to kill the n=1 caveat that hung over the first experiment.

It's a tie, and a tie is a loss

Both arms produced three risk factors, every run, with zero variance. Both were fully executable. The portfolios weren't merely comparable — they were the same portfolio: a micro-cap long, a SOL-PERP short, and a stablecoin yield leg, over and over, whether one agent picked all three or three agents picked one each.

The swarm's only edge was consistency in placing a short (1.00 vs 0.67 per run). For that it paid four calls instead of one. And it lost on exploration: the lone agent reached for ETH-PERP and a different micro-cap across its runs, while the swarm converged on WIFARG every single time. Splitting the work across agents didn't widen the search. If anything it narrowed it.

A tie at four times the cost is not a tie.

What was actually doing the work

This reframes the whole first experiment. We had credited the coordinator with the improvement from one risk factor to four. But the coordinator changed two things at once, and we never separated them: it decomposed the goal into mandates, and it carried the list of venues that can actually fill an order.

It turns out the second thing was doing the work. One agent, told the executable universe and asked to diversify rather than to pick a trade, gets there alone. The decomposition — the part that needs a coordinator, extra calls, and eventually a swarm — adds nothing we could measure.

Which means the finding from the first experiment isn't a feature. It's two sentences of prompt: tell the agent what it can actually trade, and ask it for a portfolio instead of a position. Both ship to every agent on the platform today, cost nothing, and need no new wallets, no funding rails, and no new user mode.

The arms

Read risk factors and executable, not distinct assets. Ranked by the metric we designed, arm C wins and D looks worst. Ranked by whether it is a portfolio that can actually be placed, the order reverses completely.

ArmDistinct assetsRisk factorsLong / shortExecutableReads as
SOLOOne agent, one call3 / 33.00 avg2.3 / 0.73 / 3Diversifies itself, unasked.
SWARM3Coordinator + three agents3 / 33.00 avg2 / 13 / 3The same portfolio, four times the price.
Arm SOLOOne agent, one call

0.3 SOL, asked for three diversified executable positions in a single call.

SOL micro-cap beta3
Short vol — perp shorts2
Stables & yield3
Majors — SOL / JUP / BTC1
Arm SWARM3Coordinator + three agents

0.1 SOL each, one coordinator-assigned mandate each. Four calls per portfolio.

SOL micro-cap beta3
Short vol — perp shorts3
Stables & yield3
ConclusionNot building it

A tie — so the swarm loses. One agent, told the venue and asked to diversify, builds the same portfolio for a quarter of the cost.

Swarm Mode is not a product. Not at a hundred agents, where the venue's factor ceiling makes fourteen of every fifteen a clone. And not at three, where a single agent matches a coordinated swarm exactly, on every metric, across every run, for one call instead of four.

The mechanism was never fake. Agents really do produce sharp, specific, falsifiable theses — that part held up all the way through. What's fake is the premise that splitting the work across agents produces better thinking. It doesn't. It produces the same thinking, billed several times, with less exploration than the lone agent managed on its own.

The good news is that the thing we wanted from Swarm Mode is real and nearly free. Diversified, executable, hedged portfolios are already available from one agent for $0.006 — we just weren't asking for them. Two prompt changes get us there: tell the agent which venues can fill an order, and ask it for a portfolio rather than a position. That ships to every agent on the platform without a migration.

We spent $0.37 and about an afternoon to avoid building a hundred-agent orchestration layer, a funding-distribution system, and a wallet-per-agent rail for a feature that would have been beaten by a longer prompt. That's the cheapest thing we've done all quarter.

What we’re doing about it

SHIP

Tell every agent what it can actually trade

The single highest-value line in this whole investigation. Without it agents invent hedges in markets we don't have — a failure that reads as prudence. With it, executability went to 3/3 in both arms. It's a prompt change, not a feature.

SHIP

Ask for a portfolio, not a trade

An agent asked for "a trade" gives you one directional bet. The same agent asked for three diversified positions gives you a hedged book with a short and a yield leg. Same model, same cost, same call. We simply hadn't asked.

CUT

Swarm Mode, at any size

A hundred agents is fourteen clones deep on a seven-factor venue. Three agents tie with one. There is no N where the fan-out earns its cost, because the diversification we wanted was never coming from the fan-out.

CUT

The coordinator / dispatcher

Our own recommendation from the first experiment, killed by this one. It looked like the product because it improved on a naive swarm. It doesn't improve on one agent.

Limits & what we got wrong

  • Three runs per arm, three positions per portfolio. Three positions can hold at most three risk factors, so both arms hit the ceiling — this shows the swarm can't beat a maxed-out solo agent at N=3, not that it could never help at larger N.
  • The first experiment's coordinator declined to write more than seven mandates for this venue set, so larger N was not available to test honestly.
  • Agents were asked for theses, not to execute. Executability was checked by rule against the live API, not by placing orders.
  • We have tested whether the theses are differentiated and fillable. We have not tested whether they make money — that needs the positions recorded now and scored against real prices later, and it's the next thing worth running.