DEV Community

Cover image for I thought my AI coding agent setup needed a swarm, but 1 coder, 1 reviewer, and 1 gate worked better
Lars Winstand
Lars Winstand

Posted on • Originally published at standardcompute.com

I thought my AI coding agent setup needed a swarm, but 1 coder, 1 reviewer, and 1 gate worked better

I keep seeing the same question from people setting up OpenClaw for app dev:

Should I start with a multi-agent setup, or just use one agent?

My opinion after reading the docs, watching people struggle with it, and building these workflows myself:

Most teams should not start with a swarm.

Start with:

  1. 1 coding agent
  2. 1 reviewer agent
  3. 1 deploy gate

That’s it.

Not because multi-agent systems are fake. OpenClaw absolutely supports them.

But because in OpenClaw, every extra agent is not a cheap helper. It’s a new isolation boundary with its own config, storage, and failure modes.

And that changes the tradeoff fast.

The Reddit thread that got me thinking

I was reading this r/openclaw post from someone planning a multi-agent dev environment from day one:

https://reddit.com/r/openclaw/comments/1v6neop/new_to_openclaw_ai_agents_looking_for_advice_on/

The instinct is understandable. If one agent is useful, six specialized agents sound better.

Planner. Builder. Tester. Debugger. Reviewer. Release manager.

Looks great on a whiteboard.

In practice, a lot of these setups turn into LLM middle management.

The real problem usually isn’t:

I need more agents.

It’s:

My one agent has too much context, too many permissions, and no supervision.

Those are different problems.

If you solve the second one by adding five more agents, you usually just create more state, more summaries, and more places to misconfigure things.

OpenClaw’s default is the biggest clue

The most revealing thing in OpenClaw is that it defaults to single-agent mode.

If you do nothing fancy, you get one agent, one workspace, one state directory.

That’s not an accident.

OpenClaw supports multi-agent routing, isolated workspaces, separate auth profiles, bindings, and per-agent SQLite session history. It can absolutely do the swarm thing.

But the default tells you what the normal path is supposed to be:

Start with one well-configured agent.

That matches what I’ve seen in practice.

What you actually add when you add another agent

People talk about “adding a second agent” like it’s opening another browser tab.

In OpenClaw, it’s heavier than that.

Each agent gets its own workspace, state, auth boundary, bindings, and session history. The session DB path looks like this:

~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite
Enter fullscreen mode Exit fullscreen mode

So adding an agent means adding more than behavior. You’re adding more operational surface area.

Usually that means:

  • another workspace
  • another state directory
  • another auth profile boundary
  • another session history to inspect
  • another set of bindings to verify
  • another place for permissions to drift
  • another config surface you now have to reason about

That overhead is real before you get any quality improvement.

The setup I’d recommend to most teams

Here’s the practical version.

Setup What you get
Single OpenClaw agent Lowest coordination overhead, one workspace, one session store, easiest to debug
Two-agent setup: coder + reviewer Better isolation, separate permissions/workspaces, useful checks without too much complexity
Larger multi-agent swarm More bindings, more config, more handoffs, more repeated context, more ways to break things

That middle option is the sweet spot.

Not because it’s elegant.

Because it gives you most of the benefit before orchestration complexity starts eating the gains.

The part people skip: multi-agent bugs are often config bugs

A lot of “agent weirdness” is not model weirdness.

It’s config weirdness.

OpenClaw has a couple of gotchas here that matter a lot.

Skill allowlists can surprise you

If you explicitly set per-agent skill allowlists, don’t assume they behave like a friendly merge with defaults.

That can leave a reviewer agent missing capabilities you expected, or a coding agent with a tool surface that doesn’t match your mental model.

That’s not intelligence. That’s orchestration debt.

Plugin storage is not always isolated the way you think

This is the bigger landmine.

OpenClaw warns that plugin-owned storage is not automatically split across agents.

That matters.

A separate workspace does not automatically mean every plugin memory or storage area is safely isolated.

If you need real memory separation, OpenClaw’s own docs point you toward per-agent vault patterns like separate Memory Wiki vaults.

That’s a strong hint.

If your reviewer agent should know production runbooks and your experimental coding agent should not, then yes, create a separate agent and isolate memory properly.

If you don’t need that level of separation, extra agents can just mean extra ways to fool yourself into thinking you’re isolated when you aren’t.

More agents do not automatically mean fewer mistakes

This is the fantasy stage.

People imagine a tiny AI software company inside OpenClaw:

  • one agent plans
  • one agent writes code
  • one agent tests
  • one agent debugs
  • one agent documents
  • one agent ships

Sounds advanced.

What often happens instead is this:

  1. The coding agent writes code.
  2. Another agent summarizes what happened.
  3. A third agent rereads the summary and the diff.
  4. A fourth agent asks for the original requirement because the summary dropped a detail.

That is not intelligence. That is recap overhead.

Every handoff creates more prompts, more summaries, and more repeated context.

So no, a swarm does not magically reduce mistakes.

A bad workflow on GPT-5 is still a bad workflow.

I’d rather run:

  • one strong coding agent
  • one reviewer with narrower permissions
  • one deploy gate that cannot freestyle

That setup is easier to reason about and easier to trust.

Why the reviewer is the only extra agent I usually want

This is the one extra role I think pays off early.

I found another r/openclaw thread where someone described using an agent to inspect downloaded skills and look at the actual code before trusting it:

https://reddit.com/r/openclaw/comments/1v6cf0c/openclaw_skills/

That’s exactly the right instinct.

Use the second agent as an auditor, not as another overconfident builder.

If the skill ecosystem is noisy, the answer is not “give more agents more tools.”

The answer is:

  • tighter review
  • narrower permissions
  • explicit checks

So my reviewer agent usually does things like:

  • read diffs
  • audit skills before installation
  • flag unsafe code patterns
  • check migrations and config changes
  • verify that edits match the request
  • avoid broad write access

That’s useful immediately.

A fifth autonomous builder agent usually isn’t.

A sane OpenClaw setup in stages

If I were setting this up from scratch, I’d do it in phases.

Stage 1: start with one coding agent

Use the default single-agent mode.

Keep the workspace clean.

Keep the skill set tight.

Give the agent one job: write and edit code.

Stage 2: add one reviewer if you need real separation

Only add a second agent if you need separate permissions, memory, auth, or workspace boundaries.

For example:

openclaw agents add reviewer
openclaw agents list --bindings
Enter fullscreen mode Exit fullscreen mode

That second command matters.

Actually inspect the bindings. Don’t assume they’re what you meant.

Stage 3: keep deploy behind a gate

This is the part I’m most opinionated about.

Deployment should be a gate, not a personality.

Maybe that gate is:

  • a human approval step
  • a CI workflow
  • a read-only review step that can approve but not ship
  • a script with fixed checks and fixed outputs

What I do not want is a creative agent freestyling its way into production.

That reminds me of another r/openclaw discussion about a constrained email agent setup:

https://reddit.com/r/openclaw/comments/1v636xd/email_intelligence_platform_for_openclaw/

One user described running the email agent read-only first and only drafting when explicitly asked.

That’s the right mindset for deploy too.

Read-only first.

Action later.

Guardrails before autonomy.

Concrete example: coder + reviewer + gate

Here’s the rough pattern I’d use.

Coder agent

Responsibilities:

  • implement features
  • edit files
  • run local checks
  • propose migrations

Permissions:

  • write access to app workspace
  • limited tool set
  • no direct production deploy access

Reviewer agent

Responsibilities:

  • inspect diffs
  • review generated code
  • audit skill/plugin installs
  • validate config changes

Permissions:

  • read-only or narrowly scoped write access
  • separate workspace if needed
  • separate memory if sensitive context is involved

Deploy gate

Responsibilities:

  • run deterministic checks
  • require explicit approval
  • block unsafe releases

Permissions:

  • no open-ended autonomy
  • fixed CI/CD path
  • explicit environment controls

A simple shell-based gate could look like this:

#!/usr/bin/env bash
set -euo pipefail

npm test
npm run lint
npm run build

echo "All checks passed. Awaiting human approval before deploy."
Enter fullscreen mode Exit fullscreen mode

Boring is good here.

The cost side matters more than people admit

There’s another reason I like this setup.

Agent orchestration is experimental by nature.

You want to try:

  • coder only
  • coder + reviewer
  • different review prompts
  • GPT-5 for implementation
  • Claude Opus 4.6 for review
  • Grok for a narrower verification task

That experimentation gets annoying fast if every extra handoff feels like another billable event you have to babysit.

This is why flat-rate inference is a better fit for agent workflows than classic per-token pricing.

If you’re testing orchestration patterns, you need room to be wrong.

You need room to run loops, compare setups, and find where the real waste is.

Usually the waste is not “this prompt had 200 extra tokens.”

Usually the waste is structural:

  • too many agent handoffs
  • too many repeated summaries
  • too much duplicated context
  • too many loosely defined roles

That’s exactly why I care more about workflow shape than model shopping.

And it’s one reason Standard Compute is interesting for teams building agents and automations. If you’re using OpenAI-compatible SDKs or HTTP clients, it’s a drop-in API replacement with flat monthly pricing instead of per-token billing. That makes it much easier to test agent loops, reviewer patterns, and routing across models like GPT-5.4, Claude Opus 4.6, and Grok 4.20 without staring at usage counters the whole time.

That matters when your job is figuring out whether the workflow is good, not whether one extra iteration is going to spike the bill.

When you actually should use multiple agents

I’m not anti multi-agent.

I’m anti adding agents without a clear isolation reason.

Use multiple agents when you need something concrete like:

  • separate auth profiles
  • separate workspaces
  • separate memory stores
  • separate channel identities
  • separate production credentials
  • separate skill sets that should not overlap

If you can explain the reason in one sentence, it’s probably valid.

Examples:

  • “The reviewer needs deployment runbooks, but the coding agent should not see them.”
  • “The Slack-facing agent needs a different identity and different bindings.”
  • “The production support agent needs separate memory and credentials from the app builder.”

Those are real reasons.

“More collaboration” is not.

My actual recommendation

If you’re building an AI coding agent setup in OpenClaw, I’d start here:

  1. One coding agent with a clean workspace
  2. One reviewer agent only if you need separation or audit behavior
  3. One deploy gate that stays constrained and boring

Then learn from the workflow before adding complexity.

You’ll find out pretty quickly:

  • whether you actually need separate auth
  • whether plugin storage needs harder isolation
  • whether memory should be split per agent
  • whether your bindings are clean
  • whether handoffs are helping or just generating more summaries

If you later add more agents, do it for a reason you can name clearly.

Not because the architecture diagram looks cooler.

Usually the fix is not six agents.

Usually the fix is one less-permissive reviewer, one stricter gate, and one coding agent with a cleaner job.

That setup has worked better for me than any swarm I’ve tried early on.

Top comments (0)