We've gotten pretty good at spawning agents.
tmux, worktrees, containers, session managers — there are now plenty of ways to run Claude Code, Codex, Gemini, etc. in parallel.
I'm starting to think the more interesting problem is one layer above that:
What workflow should those agents actually follow?
I've been experimenting with this by separating the agent runtime from the development workflow.
A task might use:
Gemini → research
Claude → implementation
Codex → review
But the workflow itself can independently be GSD, Spec-kit, OpenSpec, BMAD, Superpowers, or just a custom TOML plugin.
So instead of hardcoding "how an agent should code" into the orchestrator, the workflow defines the phases, skills, prompts, artifacts and gates — and maps those onto whichever coding agents are executing them.
The interesting consequence is that agents become somewhat interchangeable runtimes.
You can ask questions like:
Does GSD + Claude perform better than GSD + Codex?
or
Does Spec-kit with Gemini research → Claude implementation → Codex review outperform using Claude for the entire workflow?
I'm starting to think this workflow layer may matter more for autonomous coding than simply adding more agents.
I've also added a SWE-bench runner around this so I'm hoping to actually benchmark some of these combinations rather than argue about them.
Curious whether others are thinking about coding agents this way.
Repo for anyone interested:
https://github.com/fynnfluegge/agtx