
When I work with one agent on a project, a linear conversation is often enough. I ask a question, the agent responds, we refine the task, and the context grows in order. For one human and one agent, this is a natural way to work.
But the situation changes when several agents are working together. Each has a persistent role, its own domain knowledge, and perhaps a different view of the same problem. Putting all their messages into one chronological chat quickly becomes confusing. The issue is not just the length of the context window. It is how we organize the context in the first place.
A conversation follows time. A thread follows purpose.

I think these are two different communication models. A conversation is well suited to a one-to-one context flow. A thread lets multiple agents share one purpose, even when their messages arrive at different times.
Imagine a team planning a complex infrastructure migration. One agent studies networking, another examines storage, another develops the compute plan, and another reviews cost and operations. They may all be discussing the same project, but not always the same decision. A single chatroom mixes their questions, findings, and revisions by arrival time. A threading model can group the network-design discussion together, keep storage assumptions in another thread, and create a separate review thread when the decisions need to be reconciled.
The important change is that an agent can join a thread because it has something to contribute to that purpose, not because it happened to be present when a message arrived.
The architecture is more than a longer chat history
In this model, each thread has an identity, a subject, participants, and a history of decisions and unresolved questions. Messages can refer to previous messages, but the shared context is not forced into one global linear narrative. An agent can retrieve the thread relevant to its responsibility, contribute evidence, and leave a trace that another specialist can review.
This does not mean every agent needs to read every thread. In fact, selective participation is part of the design. We want the right context for the right work, while still keeping the connections between decisions visible.
It is also useful to distinguish communication from execution. A graph tells the team which tasks depend on others, what may run in parallel, and when a review loop should begin. A mailbox transports messages. A thread maintains the shared context of a purpose. Durable memory keeps useful findings after the immediate discussion has ended. These are related components, but they should not be treated as the same thing.
What changes when agents have persistent roles?
Many agent demonstrations still treat the agent as a temporary function call: give it a task, collect the result, and move on. I have been experimenting with another approach, where agents retain roles and can return to the same project across many rounds of work.
Once the team is persistent, communication becomes part of its engineering infrastructure. The networking specialist should not need the entire history of a user-interface discussion to evaluate a fabric design. But it should be able to find the exact storage assumption that changes the network requirement. A thread gives that exchange a stable place; the graph can connect its outcome to the next task.
There is an interesting parallel with human engineering organizations. We do not normally ask every specialist to listen to one endless meeting. We organize discussions around design questions, review topics, and decisions. Agent teams may benefit from similar discipline, although we should keep testing which parts really help rather than copying human workflows blindly.
The next problem is professional review

Better communication can help agents generate a coherent design faster. It does not automatically make the design correct. If a team produces a migration plan, a numerical result, or a system architecture, someone still needs to examine the assumptions and evidence. Domain experts remain essential, especially where the result affects production systems or scientific conclusions.
I am interested in whether a thread can become a useful unit of professional review: a place where the original question, competing proposals, supporting evidence, objections, and final decision stay together. That may make it easier for both human reviewers and other agents to see why a choice was made.
At the same time, agents are getting more capable every day. I would rather spend engineering effort on clear interfaces, reliable execution, recoverable state, and honest verification than on small tricks that a better model may soon make unnecessary.
A small experiment, and a larger question
This is still an architectural experiment, not a claim that threading is the only correct solution. For one agent and one task, the ordinary conversation remains wonderfully simple. Complexity should only be introduced when coordination actually needs it.
But when many agents work with persistent responsibilities, I increasingly think the unit of collaboration is no longer the chat message. It is the shared purpose behind a sequence of messages.
Conversations carry one-to-one context flow. Threads let multiple agents share a purpose. Graphs help that work progress. Good review gives the results meaning.
Stay humble, and take a rest when you can. That is another lesson I keep learning from working with agent teams.