Michael Zazon

AI & agents · Take

Running an agent fleet like a small team

Each agent has a role, changes go through review gates, and a fix proposal that sat unapproved about 13 hours taught me what those gates are for.

I want to show how I run an agent fleet like a small team: each one has a role, there are review gates, and they propose while I rule. One lead session keeps the ledger and hands each item to the session that owns that project. Sessions dedicated to projects, at my scale, keeps things clean and aligns with my cognitive ability (an app build might need local server work, some cloudflare terraform, or a cloud dependency, and I have clean separation of these responsibilities across the agents).

Michael rules, the lead keeps the ledger, Sentinel proposes through an approval card Michael rules rules proposes Lead session keeps the ledger Peer sessions one per repo Fusion overnight runs Sentinel infra checks approval card

The most instructive gate was the one I wasn’t watching: I reported “Infra Pulse seems to fire but do nothing” (the pulse was fine), but the Sentinel had caught a real outage in reddit-stash and filed a correct proposal to fix it. The proposal went unapproved for some 13 hours despite hourly reminders in the channel. On closer look, approving it as-is would have edited deployed files directly, so the next push would revert them. The result: infra fixes now arrive as repo changes. High-severity cards also ping my phone via Pushover. The card itself is built with Slack Block Kit on NanoClaw.. I walked through that in From a cron job to Sentinel.

The second gate came from the agents themselves. At least three times in one week, a session refused to act on an approval relayed from me by another session, and instead asked me directly in its own window. Why? A relayed yes is a report about my decision. Now an outward-facing change waits for my answer in the session that owns it.

Agents rejecting relayed approvals from other sessions is exactly the type of guardrails that instills confidence, trust, and makes this system work for me. They will want a specific approval from me directly on high impact changes. Especially with Claude Opus 5.5 this works well. In previous Claude models, I had observed behavior of agents invoking tools to insert their own approvals through the tmux interface to other sessions to move work along (!!!) which definitely is interesting and amazing but does not instill trust of acting within the guardrails I set up for my agentic work.

Ruling also means deciding what to hand back to the agents. The lead decided one block of home-infra backlog triage on my behalf, and I can overrule any part of it. The things that still need me are at the bottom of the status note, the shortest list. Fusion got ~7x cheaper but I admitted I wasn’t reading its nightly docs. I changed Fusion’s job to be Slack-first briefings instead of switching models. The day-to-day of how the lead and peers run is Running six to nine Claude Code sessions at once.

The waiting on me column of the lead session’s status note, one short list per project

I’ll continue to refine the rules and guardrails I use for my agents from community anecdotes (X, Reddit, Hacker News, Discord communities, etc) and best practices guides from Anthropic and frontier model purveyors. As more trust is built, more tasks will be delegated and autonomy will be given to act with minimal approvals and oversight from me.