SwarmCoder
Overview How it works Agents Principles Status About
APACHE 2.0 GITHUB ↗ ● IN DEVELOPMENT

Fifteen agents. Each on the model its task needs.

SwarmCoder is a multi-agent system, and model selection is a per-task cost decision: each agent runs on the cheapest model that can do its job well. Expensive frontier models are reserved for judgment; the bulk of the token volume — the workers — runs as local swarms on your own hardware.

THE RULE THAT SORTS THE LIST

Frontier models are needed where there is no test in front of the output.

Workers get eight attempts and a verification gate, so cheap local models are enough. The judgment roles get one shot at an artifact nothing downstream can mechanically check — that is where the frontier spend goes, and it scales with the number of tasks, not with tokens.

FRONTIER — one-shot judgment CHEAP FRONTIER — constrained judgment LOCAL — volume & mechanics, on your hardware

Judgment — frontier

One shot each at an artifact everything downstream inherits. This is the small, bounded part of the bill.

Requirements AnalystFRONTIER
Builds the requirement graph from your documents: draft requirements, each traceable to the sentence it came from, with testable criteria and the relationships between them. Asks one round of clarifying questions; anything unresolved becomes a stated assumption. Proposes only — nothing lands until you apply it.
ArchitectFRONTIER
Writes the design document — contracts, decisions, risks — and the task graph: which files each task owns, which checks it claims, what budget it gets. Revises against reviewer objections. The highest-leverage judgment in the run.
Design ReviewerFRONTIER · DIFFERENT FAMILY
An independent rubric critique of the design: completeness, testability, whether the work can be safely split. One revision loop, then the build proceeds with objections recorded. Deliberately a different model family from the Architect, so the thing reviewing the plan is not the thing that wrote it.
Test AuthorFRONTIER
Writes the acceptance tests into a directory workers cannot touch, and a red-check proves they fail before any change. Every selection decision in the system is grounded in these tests — which is exactly why this role is never done cheaply.

Constrained judgment — cheap frontier

Real judgment, but structured and narrow — a capable mid-tier model is enough.

VisionCHEAP FRONTIER
Reads text out of uploaded images so they can enter intake. Its output is stamped as a model's reading, not the document itself. No silent fallback by design — if no vision model is configured, image upload is refused with a named error.
Story PlannerCHEAP FRONTIER
Proposes stories: the thinnest vertical slices that deliver whole checks — never half a check, never a layer. Refuses to invent requirement content, and reports coverage back: which requirements have no story, which checks are unclaimed.
JudgeCHEAP FRONTIER → LOCAL
Ranks the surviving candidates after verification and behavioural clustering, and writes its rationale down. It only ever sees candidates that already compiled and passed, collapsed to a handful of genuinely different diffs — the best candidate in the system for going fully local.

Volume & mechanics — local

Where the tokens actually go. All of it on your hardware, at the cost of electricity.

WorkersLOCAL · THE SWARM
N per task under an engineered diversity matrix — temperature sweeps, seeds, strategy personas — inside a sandbox with write-set enforcement and early kill. The entire thesis, and 95%+ of the token volume.
LibrarianLOCAL
Retrieval and compression, not judgment: a knowledge brief per task, API lookups for workers from a pre-warmed local index of your codebase and frameworks.
UtilityLOCAL · SMALL
The small workhorse behind several other agents: classification, failure clustering, summarisation and distillation.
Guideline ExtractorLOCAL
After a run, mines the completed sessions — failures first — for durable lessons, de-duplicates them against what is already known, and writes genuinely new ones as proposals. Nothing touches a prompt until a human promotes it.
Knowledge ExtractorLOCAL
The same post-run pass, producing proposed knowledge documents about your system and its frameworks for future builds to draw on.
ResearcherLOCAL
The only web-touching role in the system — workers stay offline by design. Synthesises external sources into proposed knowledge documents.
ChatLOCAL
The companion dock: conversation and confined, read-only research. Deliberately separated from the judgment roles — a chat model is fine for chat.
ApproverRESERVED
A reserved slot for a pre-handback semantic review. Today, the approver is you — on the story card, where the decision belongs.

Built for the day the subsidy ends

Frontier token prices are heavily subsidized today, and there is no guarantee that lasts. Most agentic coding platforms are architected in the other direction — consuming more frontier tokens with every release. If that pricing ever turns real, those architectures become cost-prohibitive overnight.

SwarmCoder's split is a pre-emptive answer. Cloud cost scales with the number of tasks — a handful of small, structured judgment calls per story, enforced by a hard per-run cap. Local cost scales with implementation tokens, and those are priced in electricity on hardware you own.

If frontier prices rise 10×, the judgment slice of a SwarmCoder run rises with them — and the 95% of token volume that is local does not move at all.

Read the full argument on the principles page →
See the lifecycle these agents run →
SwarmCoder

Agentic software development with full traceability — built on ZeroZ4j by Franz Schöning, Principal Enterprise Architect.

swarmcoder.dev GitHub ↗ soon zeroz4j.com ↗ franzschoning.com ↗ ● In development · Apache 2.0
© 2026 Franz Schöning. Released under the Apache License 2.0.