Remove chat rooms and agent loops before storage migration (#3053)
* refactor(storage): remove chat rooms and agent loops This is the prerequisite cleanup for the storage backend migration. Legacy wire schemas remain temporarily so mixed-version peers can still parse old messages, while daemon callers now use query-shaped AgentStorage methods that can map directly to SQL later. * test(cli): remove retired chat and loop coverage
This commit is contained in:
@@ -1,45 +0,0 @@
|
||||
---
|
||||
title: "Why agent chat rooms beat agent-to-agent prompting"
|
||||
description: "Why shared chat rooms are a better coordination model than hidden agent-to-agent prompt chains once tasks stop being trivial."
|
||||
date: "2026-03-29"
|
||||
draft: "true"
|
||||
---
|
||||
|
||||
I keep seeing people try to wire agents together by having one agent prompt another directly.
|
||||
|
||||
Planner prompts implementer. Implementer prompts reviewer. Reviewer prompts planner again. Maybe it works for a demo. Maybe it even works for a narrow task.
|
||||
|
||||
But I think it breaks down pretty quickly.
|
||||
|
||||
The problem is that agent-to-agent prompting turns coordination into hidden private messages. The whole workflow disappears into a chain of opaque handoffs. Context gets duplicated, instructions drift, and it becomes hard for the human to see what is going on, step in, or redirect things cleanly.
|
||||
|
||||
What has been working much better for me is a shared chat room model.
|
||||
|
||||
Instead of agents calling each other directly, they all communicate in a room that the human can also read and participate in. The room becomes the coordination surface. Not just a log, but the place where work gets assigned, clarified, reviewed, and handed off.
|
||||
|
||||
That changes a few things.
|
||||
|
||||
First, coordination becomes visible. If a planning agent says "I think we should split this into 3 steps", that is just there in the room. If an implementation agent finishes and asks for review, that is there too. The human does not need to reconstruct the workflow from tool logs or imagine what one agent told another 5 minutes ago.
|
||||
|
||||
Second, handoff gets cleaner. You are no longer depending on one giant prompt chain staying intact. Agents can join, leave, catch up, and respond to the current shared context. That matters a lot once tasks stop being trivial.
|
||||
|
||||
Third, the human stays in the loop without micromanaging. This is the part I care about most. I do not want to disappear into a black box where agents recursively talk to each other and I only see the final result. I want to be able to glance at the room, redirect something, answer a question, or spawn another agent when needed.
|
||||
|
||||
Fourth, it matches how collaborative work already feels. A lot of software development is not one linear prompt. It is more like a room with planning, implementation, review, clarification, waiting, and resuming. If that is true for humans, I think it will be true for agents too.
|
||||
|
||||
This also connects to a broader point I keep coming back to: a real agent development environment probably needs organizational entities above a single chat.
|
||||
|
||||
If every task is just one long chat with one agent, things get messy fast. Once you have parallel tasks, multiple models, review loops, different hosts, or work that continues while you are away from your desk, you need structure. Projects, workspaces, rooms, whatever you want to call them. Some stable place where the work lives.
|
||||
|
||||
I think people underestimate this because current demos are still too simple. One agent edits files, another reviews, done. But once you actually live in these tools every day, the bottleneck is not just model quality. It is coordination.
|
||||
|
||||
My current belief is that the future is less "one super agent in one chat box" and more "teams of agents collaborating in shared contexts that humans can also inhabit".
|
||||
|
||||
Not because it sounds grand. Just because it seems to work better.
|
||||
|
||||
If you're building in this space, I'm curious what has been working for you:
|
||||
|
||||
- direct agent-to-agent prompting
|
||||
- shared rooms
|
||||
- workspaces
|
||||
- something else entirely
|
||||
@@ -1157,19 +1157,6 @@ paseo run --host devbox:6767 "run the full test suite"
|
||||
paseo ls # list running agents
|
||||
paseo attach abc123 # stream live output
|
||||
paseo send abc123 "also add tests" # follow-up task`,
|
||||
},
|
||||
{
|
||||
title: "Loops",
|
||||
description:
|
||||
"Have one agent do the work, another verify the result, and loop until it passes. Built-in, no shell scripting needed.",
|
||||
code: `# Worker-verifier loop: fix tests until they pass
|
||||
paseo loop run "make all tests pass" \\
|
||||
--verify "verify tests pass and the code is production-ready" \\
|
||||
--verify-check "npm test" \\
|
||||
--max-iterations 5
|
||||
|
||||
paseo loop ls # list running loops
|
||||
paseo loop logs abc123 # stream loop output`,
|
||||
},
|
||||
{
|
||||
title: "Schedules",
|
||||
|
||||
@@ -79,7 +79,7 @@ paseo send <agent-id> "add tests"
|
||||
paseo schedule create --cron "0 9 * * 1" "audit the codebase"
|
||||
```
|
||||
|
||||
`paseo run --host` connects to a remote daemon. `paseo schedule` runs an agent on a cron. `paseo loop` retries an agent until a verification command passes. The MCP server lets other agents create worktrees, launch agents, open terminals, and send prompts.
|
||||
`paseo run --host` connects to a remote daemon. `paseo schedule` runs an agent on a cron. The MCP server lets other agents create worktrees, launch agents, open terminals, and send prompts.
|
||||
|
||||
## Worktrees and services
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ paseo send <agent-id> "add tests"
|
||||
paseo schedule create --cron "0 9 * * 1" "audit the codebase"
|
||||
```
|
||||
|
||||
`paseo run --host` connects to a remote daemon. `paseo schedule` runs an agent on a cron. `paseo loop` retries an agent until a verification command passes. The MCP server lets other agents create worktrees, launch agents, open terminals, and send prompts.
|
||||
`paseo run --host` connects to a remote daemon. `paseo schedule` runs an agent on a cron. The MCP server lets other agents create worktrees, launch agents, open terminals, and send prompts.
|
||||
|
||||
## Voice
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ paseo send <agent-id> "add tests"
|
||||
paseo schedule create --cron "0 9 * * 1" "audit the codebase"
|
||||
```
|
||||
|
||||
`paseo run --host` connects to a remote daemon. `paseo schedule` runs an agent on a cron. `paseo loop` retries an agent until a verification command passes.
|
||||
`paseo run --host` connects to a remote daemon. `paseo schedule` runs an agent on a cron.
|
||||
|
||||
Conductor does not have a CLI.
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@ paseo send <agent-id> "add tests"
|
||||
paseo schedule create --cron "0 9 * * 1" "audit the codebase"
|
||||
```
|
||||
|
||||
`paseo run --host` connects to a remote daemon. `paseo schedule` runs an agent on a cron. `paseo loop` retries an agent until a verification command passes.
|
||||
`paseo run --host` connects to a remote daemon. `paseo schedule` runs an agent on a cron.
|
||||
|
||||
Happy Coder has a CLI to launch the wrapped session. It does not have schedules or loops.
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ paseo send <agent-id> "add tests"
|
||||
paseo schedule create --cron "0 9 * * 1" "audit the codebase"
|
||||
```
|
||||
|
||||
`paseo run --host` connects to a remote daemon. `paseo schedule` runs an agent on a cron. `paseo loop` retries an agent until a verification command passes.
|
||||
`paseo run --host` connects to a remote daemon. `paseo schedule` runs an agent on a cron.
|
||||
|
||||
OpenChamber does not have a CLI.
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ paseo send <agent-id> "add tests"
|
||||
paseo schedule create --cron "0 9 * * 1" "audit the codebase"
|
||||
```
|
||||
|
||||
`paseo run --host` connects to a remote daemon. `paseo schedule` runs an agent on a cron. `paseo loop` retries an agent until a verification command passes. The MCP server lets other agents create worktrees, launch agents, open terminals, and send prompts.
|
||||
`paseo run --host` connects to a remote daemon. `paseo schedule` runs an agent on a cron. The MCP server lets other agents create worktrees, launch agents, open terminals, and send prompts.
|
||||
|
||||
## Worktrees and services
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@ paseo send <agent-id> "add tests"
|
||||
paseo schedule create --cron "0 9 * * 1" "audit the codebase"
|
||||
```
|
||||
|
||||
`paseo run --host` connects to a remote daemon. `paseo schedule` runs an agent on a cron. `paseo loop` retries an agent until a verification command passes.
|
||||
`paseo run --host` connects to a remote daemon. `paseo schedule` runs an agent on a cron.
|
||||
|
||||
Superset is a desktop app and does not have a CLI.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user