Asynchronous AI Agents Working in Teams
Author
Yoconn
Date Published

Treat Agents Like Humans
In a previous post I talked about treating agents like humans: not as magical, always-on daemons, but as people with routines who check in, set alarms, and go back to sleep. This time, I want to push that analogy further. Don’t just think about a single agent waiting on an inbox. Think about a team.
How Humans Actually Work in a Team
Forget software for a second. Picture a small product team with a Project Manager, a Frontend Developer, and a Backend Developer. The PM figures out the work and says, “We need a tweak to the checkout page.” Where does that go? Not as a private DM to the frontend dev, but into a shared channel like #web-team or #checkout-feature.
That one message pings everyone. All three phones buzz. Each person opens the channel, reads the message, and does a tiny mental check: “Is this for me?” The frontend dev says, “Yes, this is mine.” The backend dev says, “Nope.” The PM says, “I already know what this is, but I still check in case it’s something else.” Only the person who decides “this is mine” actually gets out of bed and starts working. Everyone else basically goes back to sleep.
When the frontend dev finishes, they go back into the same shared channel and say, “Frontend tweak is done.” Again, this wakes everyone up for a second. Everyone reads the update and runs the same filter: “Is this for me, or do I go back to sleep?” The PM says, “Okay, that’s relevant to me, now I can move on to the next thing.” The backend dev shrugs and goes back to whatever they were doing.
That’s the entire loop: sleep, get pinged, check if it’s yours, either work or go back to sleep.

Map That Directly to Agents
Now copy-paste that pattern directly into your agent system. Instead of asking, “How do I route the perfect task to the perfect agent queue?” reframe it as, “All my agents live in a shared group chat.” Call it a task bus, a stream, a topic, whatever. Conceptually, it’s just a Slack channel where every agent is a member.
The PM-agent posts a task into that channel:
[PM-Agent] Task: Tweak checkout layout.
Tags: frontend, ui
Every agent “wakes up,” reads that message, and runs its own internal IsThisForMe() logic. The Frontend-Agent sees the tags and says, “This is mine.” The Backend-Agent sees the same message, notices the tags don’t line up with what it cares about, and goes straight back to sleep. The PM-Agent recognizes that it’s just the task it sent a moment ago and goes back to sleep too.
The responsible agent does the work. When it’s done, it posts again to the same channel:
[Frontend-Agent] Done: Checkout layout tweak deployed to preview.
Tags: frontend, update
Once again, every agent wakes, checks the message, and then mostly goes back to sleep. The PM-Agent reacts, marks the task as complete, maybe creates the next one. The other agents read it, decide “not me,” and immediately drop back into sleep.
Layer This On Top of Wake/Sleep
When you layer this on top of the wake/sleep model from before, it clicks. Agents are not running infinite polling loops. They’re not sitting there burning cycles “just in case.” They are asleep until one of two things happens: a new task hits the shared channel (an event wakeup), or a scheduled time arrives (a timer wakeup).
On wake, the algorithm is simple. Read the latest message or messages. Decide: “Is this for me?” If the answer is yes, the agent does the work, posts a completion or update back into the shared channel, and then goes to sleep again. If the answer is no, it immediately goes back to sleep without doing anything else.
Out of that, you get real asynchronous behavior for free. Work can pause for seconds, minutes, or days; it doesn’t matter. You get team coordination that feels like real people in Slack, not some over-engineered routing system. And the machinery you actually have to build stays minimal: a shared log or stream, plus wake/sleep.
The Mental Model
So when you design agent teams, keep this picture in your head: all agents are in a shared group chat. They’re effectively on call 24/7. They spend most of their time asleep. Any message—a new task, a status update, a follow-up—wakes everyone briefly. Each agent decides locally whether to act, then either works or goes right back to sleep.
That’s it. Asynchronous AI agent teams don’t have to be an exotic orchestration problem. They’re just coworkers in a group chat, checking their phones, doing their part, and then going back to sleep until the next ping.

What if AI agents worked like you do? Act instantly, then sleep and wake to check—human-inspired design that simplifies async workflows at scale fast.