DEV Community

Cover image for I thought OpenClaw needed one super-agent but the people winning are running 30
Lars Winstand
Lars Winstand

Posted on • Originally published at standardcompute.com

I thought OpenClaw needed one super-agent but the people winning are running 30

I opened a recent r/openclaw thread expecting the usual argument about whether OpenClaw is dead, broken, underrated, or secretly amazing.

That argument was there.

But the useful part was buried in the comments: the people getting real reliability out of OpenClaw are not building one giant assistant.

They’re building fleets.

One user said they had "4 dedicated laptops, each with a separate OC agent + homelab with an RTX 5090 running Ollama / Qwen 3.6."

Another said:

I‘m running like 30 agents for me, family, colleagues and customers. All are happy.

That’s not a prompt trick.

That’s architecture.

And I think it points to a bigger lesson for anyone building agent workflows in OpenClaw, n8n, Make, Zapier, or custom stacks:

reliability usually comes from isolation, queues, and rollback—not from one smarter super-agent.

The wrong mental model: one giant assistant

A lot of agent builders start with the same idea:

  • one agent handles intake
  • the same agent plans work
  • the same agent executes tools
  • the same agent retries failures
  • the same agent updates memory
  • the same agent reports status

It feels elegant.

It also creates a huge blast radius.

If one OpenClaw instance is handling email triage, Discord monitoring, Notion updates, calendar tasks, and code actions, then every prompt change, tool bug, or model behavior shift can affect everything at once.

That usually shows up as:

  • polluted context
  • weird retries
  • hard-to-read logs
  • impossible rollbacks
  • slow trust collapse

The nasty part is that these systems often don’t fail with a clean crash.

They drift.

One of the useful details in the thread was that people were talking about watcher scripts and redeploying when things go bad. That tells you a lot. Serious users are not assuming long-running agents stay clean forever.

They’re assuming drift is normal.

Once you accept that, smaller agents stop looking like overengineering.

They start looking like basic hygiene.

What the successful setups actually look like

The strongest examples in the thread were not "I found the perfect prompt."

They were more like:

  • separate agents on separate machines
  • Ollama running local models like Qwen 3.6
  • Docker for controlled deploys and rollback
  • Restic for backups
  • watcher scripts for drift or dead processes
  • Claude Code glued into Notion automations
  • launchd cron jobs keeping things moving

That’s not a chatbot setup.

That’s ops.

And honestly, that’s how most useful agent systems end up looking once they leave demo-land.

A task queue for agents beats one giant brain

The cleanest way to think about this pattern is: build a task queue for agents.

Not necessarily with RabbitMQ on day one. The point is the pattern.

Work comes in.

It gets classified.

It gets routed to a narrow worker.

That worker does one job.

The result gets logged.

Failures get retried without contaminating unrelated work.

That’s a much healthier model than one OpenClaw process trying to be planner, executor, monitor, and janitor.

A practical split

Here’s a sane first pass:

  1. Intake agent: watches inboxes, forms, webhooks, or chats
  2. Planner agent: decides what kind of work this is
  3. Executor agent: performs one bounded action
  4. Reporter agent: writes status, summaries, or alerts
  5. Watcher process: checks for dead jobs, drift, or stuck queues

That’s already better than one giant agent with 14 tools and one giant memory blob.

Planner and executor should usually be different agents

This is where model choice matters.

A stronger model is often worth using for planning. A cheaper or local model is often good enough for bounded execution.

So instead of this:

One OpenClaw agent using the same model for planning, execution, retries, and reporting
Enter fullscreen mode Exit fullscreen mode

Do this:

GPT-5 or Claude for decomposition and exception handling
Qwen 3.6 via Ollama for narrow local execution tasks
Small workers for updates, classification, summaries, or alerts
Enter fullscreen mode Exit fullscreen mode

That split matters for both reliability and cost behavior.

If your planner is expensive but only runs when needed, and your executor workers are narrow and cheap, the whole system becomes much easier to reason about.

This is also where pricing starts to matter a lot.

If every extra retry, every watcher check, and every background agent action creates token anxiety, people under-build the system they actually need.

That’s one reason unlimited API-style access is so useful for agent workflows. If you’re routing work through lots of small workers, you want the freedom to let them run without constantly calculating whether every retry is worth the bill.

That’s exactly the kind of setup Standard Compute is built for: OpenAI-compatible API access, flat monthly pricing, and room to run lots of agent calls without per-token panic.

The maintenance story is the real story

The most credible people in the OpenClaw thread were not pretending it never breaks.

They were saying the opposite.

One person talked about rolling back to a version that wasn’t broken.

Another said constant breakage after updates is still real.

Another said they rely on Restic backups and Docker rollback.

That’s useful because it forces the right question:

If breakage is normal, what architecture contains it best?

Usually, the answer is not one giant assistant.

Usually, the answer is smaller workers with clear boundaries.

Why 10 small failures are better than 1 big one

Approach What happens in practice
One big OpenClaw assistant Broad responsibilities, shared context, and a large blast radius when prompts, tools, or updates fail
10-30 smaller OpenClaw agents Narrow roles, easier rollback, clearer logs, better isolation, and survivable failures
Hermes-style simpler setup Lower maintenance feel for some users, but less of the DIY composability OpenClaw users seem to want

This doesn’t mean every team needs 30 agents.

It does mean the winning pattern is usually more separation, not more centralization.

A practical OpenClaw setup I’d actually trust

If I were building an OpenClaw stack for real work, I’d start with boring controls before I touched prompt cleverness.

1) Split by role

Don’t create agents by vibe.

Create them by responsibility.

Examples:

  • inbound comms triage
  • research summarization
  • Notion updates
  • code review prep
  • alerting
  • ticket classification

2) Pin your Docker versions

Do not auto-live on latest if uptime matters.

docker pull openclaw:2025-07-15
docker stop openclaw-main
docker rm openclaw-main

docker run -d \
  --name openclaw-main \
  --restart unless-stopped \
  -v /opt/openclaw/data:/app/data \
  openclaw:2025-07-15
Enter fullscreen mode Exit fullscreen mode

3) Back up state with Restic

restic -r /backups/openclaw backup /opt/openclaw/data
restic -r /backups/openclaw snapshots
restic -r /backups/openclaw restore latest --target /tmp/openclaw-restore
Enter fullscreen mode Exit fullscreen mode

4) Add a watcher

Even a dumb health check is better than optimism.

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

if ! docker ps | grep -q openclaw-main; then
  echo "openclaw-main is down, restarting"
  docker start openclaw-main
fi
Enter fullscreen mode Exit fullscreen mode

Run it from cron or launchd.

5) Put work behind a queue

Even a lightweight queue helps prevent chaos.

Pseudo-flow:

Webhook -> classify job -> enqueue -> worker picks up -> execute -> log result -> retry if needed
Enter fullscreen mode Exit fullscreen mode

If you want something simple, Redis lists are enough to start.

import redis
import json

r = redis.Redis(host="localhost", port=6379, decode_responses=True)

job = {
    "type": "notion_update",
    "payload": {
        "page_id": "abc123",
        "summary": "Client asked for revised timeline"
    }
}

r.lpush("agent_jobs", json.dumps(job))
Enter fullscreen mode Exit fullscreen mode

Worker:

import redis
import json

r = redis.Redis(host="localhost", port=6379, decode_responses=True)

while True:
    _, raw = r.brpop("agent_jobs")
    job = json.loads(raw)

    if job["type"] == "notion_update":
        # call OpenClaw / model / API here
        print("processing", job)
Enter fullscreen mode Exit fullscreen mode

6) Use stronger models for planning, cheaper models for bounded execution

This is the part too many people flatten.

Not every task deserves the same model.

A good stack might look like:

  • GPT-5 or Claude Opus 4.6 for planning and exception handling
  • Qwen 3.6 via Ollama for local summarization or classification
  • Grok 4.20 or another model for specific strengths where it fits

If you’re doing this through a routing layer, even better.

That’s another place Standard Compute fits naturally: route across multiple top-tier models behind one OpenAI-compatible endpoint, keep your existing SDKs, and stop worrying that a bunch of background agent calls will explode your invoice.

The useful lesson here is bigger than OpenClaw

The thread was nominally about whether OpenClaw is dead.

I don’t think that was the interesting question.

The interesting question was: what architecture survives contact with reality?

And the answer looked pretty consistent:

  • specialist workers
  • queues
  • watchers
  • backups
  • rollback
  • model separation by role
  • lots of boring operational discipline

That pattern applies way beyond OpenClaw.

It applies to n8n agent flows.
It applies to Make scenarios.
It applies to Zapier automations with LLM steps.
It applies to custom Python or Node agent frameworks.

Once agents move from demo to production, they stop looking like one magic assistant and start looking like distributed work.

That’s not a failure of the idea.

That’s the mature version of the idea.

My takeaway

If your OpenClaw setup keeps getting more complicated, I would not immediately rewrite the master prompt.

I’d ask this instead:

Which jobs should never have been inside the same agent in the first place?

That question usually gets you closer to reliability than another round of prompt tuning.

And if your answer is "I need more small workers, more retries, more background calls, and better model routing," then the pricing model matters just as much as the architecture.

Because agent systems get much better when you stop designing around token fear.

That’s the real unlock behind flat-rate compute: you can build the system you actually want, not the one you’re afraid to let run.

If you’re already running OpenClaw, n8n, Make, Zapier, or custom agents and you want that kind of freedom, Standard Compute is worth a look.

Top comments (0)