I spun up a Redis instance and told my Cursor agent:
You're the leader in a multi-agent environment. Here's a Redis connection string you'll use for coordination. Generate a prompt describing how to communicate: how a new worker announces itself, where to get tasks, how to report status, how to resolve blockers. I'll pass this to other workers and won't speak to them after. Split tasks into subtasks and delegate
It generated a prompt which served as a coordination protocol, and I passed it as-is to 3 more agents with that as their system prompt. Then I gave the leader a task: build an app where users upload images and search them semantically: backend, frontend, tests, and a setup doc.
It accomplished the task. The leader delegated work, reviewed output, asked for fixes, and reported back to me. Not perfect, but the coordination held. The issues I saw felt like my task prompting, not the leader-worker setup itself.
The key insight: the prompt IS the communication protocol. You give each agent Redis tools and a prompt that describes the rules: how to announce yourself, where to pick up tasks, how to report back. If you want to change how it works, you only update the prompt which seems to me much easier than to (vibe)code.
Redis turns out to be a decent fit for this:
- useful data structures out of the box: key-value, sets, streams, pub/sub
- built-in auth
- easy to scale the number of agents
- most agents can already connect via redis-cli
- multiple agents can work in parallel without extra setup
The main downsides:
- state is lost if it crashes
- limited observability
- the system prompt needs to be carefully validated
For provisioning I used a side project of mine, Dev2Cloud (https://dev2.cloud) which can get you a Redis instance in seconds. I'm happy to share some API keys.
Has anyone done something similar? Curious what coordination approaches people have tried.