Skip to main content

Notes from building an AI design collaborator · part 13

I sat down to turn my workflow into a swarm of agents. Most of it refused.

· 3 min read

Everyone's excited about agent swarms right now. One orchestrator, a dozen sub-agents, the whole job happening at once. It looks powerful, and for some work it genuinely is, so one afternoon I sat down fully intending to turn my design workflow into one. I spent most of that afternoon working out that I couldn't, and the reason turned out to be more useful than the swarm would have been.

The spine won't fan out

My workflow is a chain. You can't research before you have requirements. You can't wireframe before you have the information architecture. Each step eats the one before it. That's a dependency chain, and a dependency chain is the exact shape parallelism can't help, because there's nothing to run at the same time. Everything is standing in line, waiting for the thing in front of it.

It's worse than just "no speedup," because the chain is also where the judgment lives, and judgment does not survive being chopped up and handed to five agents who can't see each other. I tried a small version and got exactly what you'd expect, work that felt designed by a committee that never actually met. So the spine stays a single line, with me signing off between steps. That's not me being precious about it. It's the shape of the work.

Where the swarm actually earns its keep

The parallelism does have a home, just not where I first pointed it. It belongs inside the steps that are naturally wide.

Research is the obvious one. "Go find out about this" isn't a chain, it's a stack of independent lookups, and you can happily run those at once and pull the results together afterwards. A critique pass is the same. You want the accessibility read and the hierarchy read and the copy read happening at once, by agents that aren't watching each other, precisely so they don't quietly converge on one polite opinion. Fanning out there is all upside, because the work genuinely is independent.

So the rule I came away with isn't parallelise or don't. It's fan out inside the steps that are wide, and keep the line that connects them a single, gated line.

The model bit I had backwards

One more thing I got wrong. I was assigning models by importance, big model for the important steps, small model for the cheap ones. Wrong axis. The right one is judgment versus fetching. Anything that needs taste, or has to hold context across steps, gets the strong model, however small the task looks. Anything that's just go-get-this gets the cheap one, however important it feels. The trap is handing a judgment call to a cheap model because the task looked minor on the surface. That's how you save a few tokens and quietly lose the plot.

I still haven't built the big swarm, and I've stopped feeling behind for it. Most of what I do is a little bit of gathering wrapped around a lot of deciding, and you really don't want a swarm doing the deciding.


Part of a series on building an AI collaborator for our design team at Xflow. Each post stands on its own.

  • ai
  • agents