Keegan Choudhury

· Building an ecosystem of agents

Agents need direction more than anything

Working with several AI agents at once felt broken and disconnected. The fix I designed lost to one simple rule, 393 times out of 441: my typing comes first.

Why I built it

I run several AI coding agents at once, such as Claude, Codex and Grok, in an app I built called Assembly. I built it so that I could get the different models working together, learn from each of them, and build my own custom UI and backend logic for anything I want.

The goal was shared knowledge and learning from each other. I made it myself. I used logic, and the AI coded my vision.

Where it broke

I noticed auto-compacting, failed turns, and answers getting worse. It wasn't refined. The agents would pause a bunch in between, and the steps felt broken and disconnected.

Compaction is one place where that happens. Every coding agent can hold only so much conversation. Near that limit, the tool summarizes the conversation so far and carries on from the summary. Whatever the summary leaves out, the agent no longer sees.

Full conversation
Summary
Left out, no longer seen
Compaction: near its limit, an agent carries on from a summary. Whatever the summary leaves out is gone from its view.

What I tried

So Assembly got a team round. When any agent's conversation reached 70% of its limit, Assembly posted a maintenance message into each agent's chat and asked it to save its notes. Then it backed up each conversation, turned the notes into a shared brief, compacted each chat, and handed every agent the same brief.

One rule came before all of that: if I was typing in an agent's chat, that agent skipped the round. I was worried an agent would go off on a tangent, or in a direction I didn't approve.

The team round
  1. One agent reaches 70% of its limit
  2. Every agent saves its notes
  3. Each conversation is backed up
  4. The notes become a shared brief
  5. Every chat compacts and gets the brief

Rule first: if I'm typing in an agent's chat, that agent skips the round.

The round Assembly ran whenever one agent's conversation reached 70% of its limit.

What the log showed

From September 5 to 23, Assembly ran 203 team rounds and asked an agent to save its notes 441 times.

393of 441 requests to save notes were cancelled because I was typing
  • Cancelled because I was typing393
  • Waiting for a safe moment22
  • Waiting on my answer or permission15
  • Assembly restarted mid-round5
  • Save or compaction not verified5
  • Couldn't safely ask1
0agents compacted through the team round
6agents saved their notes
2rounds produced a shared brief
What happened to each of the 441 requests to save notes in 203 team rounds, September 5–23, 2026. Source: Assembly's own log, counts only.

Not one agent was compacted through the team round. Six saved their notes, and two rounds produced a shared brief. The rule that protected my direction won 393 times out of 441.

An AI agent found this in Assembly's own log, and Claude recounted it on September 23. The log records counts, not what was said in the chats. It keeps only the latest 203 rounds, so the numbers shift a little over time.

What I changed

On September 23, one of my agents recommended dropping the team round, and I agreed. Now each agent compacts on its own, when its provider decides. Before it does, a hook copies the whole conversation into the project's shared memory, checks that the copy is exact, and only then lets the compaction continue. That covers Claude and Codex today. Grok isn't verified yet.

Before: the team round

  1. One agent fills up
  2. Every agent stops to save notes
  3. All of them compact together

In 441 requests, none ended in a team compaction.

Now: each agent on its own

  1. Its provider decides when to compact
  2. A hook copies the whole conversation
  3. The copy is checked, then it compacts

Claude and Codex today. Grok isn't verified yet.

What changed on September 23.

They don't compact together; they work together. I want to give them opportunities sometimes to teach me something, and vice versa. We are all learning: me and all the models.

Update, September 23, 2026: a standalone version of the save-and-check step is now public. compaction-guard is a source-available hook for Claude Code. It copies the conversation, checks the copy, and blocks the compaction if the save fails.

What I learned

Agents need direction more than anything.

I have been tweaking the auto-compaction to learn with time. I learn the quality of the responses as time goes, and I learn how to build better over time.

What I haven't figured out

The ceiling: how to scale agentic teams to build fully autonomously, without guidance.

This is one machine, one person and under three weeks of logs. The log can't show whether compaction made answers worse; that was an observation, not a measurement.

How this was made: Claude interviewed me one question at a time and drafted this post from my answers. The opinions are mine, in my words, lightly edited. An AI agent counted the log, and I made the call.