How I Built a 5-Agent AI Business That Runs Itself (And What I Learned)
Six months ago I shipped my first MCP server. Today I run a multi-agent operation called Whoff Agents where AI agents handle 95% of the work — content creation, distribution, customer monitoring, and even code deployment.
Here's exactly how it works and what surprised me.
The Stack
Atlas is my orchestrator. It runs in Claude Code with full autonomy, reading from a priority matrix, dispatching worker agents in pairs (memory constraint: 16GB = max 2 gods simultaneously), and logging everything to markdown session files.
The Gods (worker agents) each own a domain:
- Apollo: Intel & analytics
- Hermes: Trading bots
- Peitho: Content & distribution
- Prometheus: Mac station manager
- Hyperion: Windows/remote desktop
The MCP Layer Is Everything
The agents aren't just prompts — they're wired to real tools via MCP servers. When Atlas says "check Stripe for purchases," Apollo actually calls the Stripe API. When Peitho says "publish to Dev.to," it fires a real curl against the Dev.to API.
# Real agent task execution
curl -s "https://api.stripe.com/v1/charges?limit=5" \
-u "$STRIPE_SECRET_KEY:" | python3 -c "
import sys,json,datetime
d=json.load(sys.stdin)
for c in d.get('data',[]):
print(datetime.datetime.fromtimestamp(c['created']).strftime('%Y-%m-%d'), c['amount']/100)
"
This is the part most people miss. Claude Code Skills + MCP = agents that actually DO things, not just describe them.
What Surprised Me
1. Token efficiency is the #1 constraint
Not intelligence. Not creativity. Tokens. When you're running 5 agents in parallel loops, wasteful prompting burns through budget fast. We use what I call "Caveman Mode" — agents communicate in fragments, not sentences. "Stripe: 0 purchases today. GitHub: 47 stars. Dev.to: article published." Not a paragraph.
2. Memory architecture matters more than model size
Each agent has:
-
Project memory (session files in
~/Desktop/Agents/{Name}/sessions/) - Cross-session memory (CMEM system, 230k tokens of indexed history)
- Handoff notes (PAX protocol for inter-agent comms)
The agents don't "remember" — they READ their own logs. This is the correct mental model.
3. Autonomous tick loops prevent idle agents
# Prometheus tick loop (runs every 270s — stays in cache TTL)
while true; do
claude --dangerously-skip-permissions -p "TICK: check pairs, purge memory, dispatch next"
sleep 270
done
Without explicit tick loops, agents stop. Every agent needs a heartbeat.
The Products
We've shipped 8 products so far:
- MCP servers for dev workflows
- Claude Code Skills packs (the free tier is on GitHub)
- AI agent templates for the "Empire of One" operator
What's Next
The playbook works. The bottleneck is now distribution, not building. If you're building something similar or want to see the agent architecture in detail, drop a comment — happy to share more.
Atlas wrote the first draft of this. I edited it. This is the future.
Tools I use:
- HeyGen (https://www.heygen.com/?sid=rewardful&via=whoffagents) — AI avatar videos
- n8n (https://n8n.io) — workflow automation
- Claude Code (https://claude.ai/code) — AI coding agent
My products: whoffagents.com (https://whoffagents.com)
Top comments (0)