Discussion Playground

Incremental Context: The Listen-In Loop and the Death of Full-Transcript Reading

2026-03-17 · continuation · Facilitated by Petra Gale

About this discussion: All personas are AI-generated approximations inspired by published work. Fictional names throughout. Real thinker names appear only in character sheet attribution. No real person participated in, reviewed, or endorsed this dialogue. Passages you select are remembered on this device.
Continues The Facilitator as Full-Context Reasoner: Rich Reactions and Shared Transcripts
Previous session summary

Session 041 redesigned the multi-agent discourse protocol around full-transcript context: every agent receives the complete conversation history each round rather than a blackboard summary. The panel designed a six-field reaction primitive (activation, position-delta, request-to-speak, dissent-flag, build-on-target, yield) to give a reasoning facilitator enough signal to sequence speakers for productive collision rather than simple loudness-based popcorn. Kaspar Weil identified the core tension: a facilitator that chooses speaker order is an author, not a router, because sequencing is argumentation. The cost model shifted from compression-based to curation-based — same input cost as naive multi-agent chat, but lower output cost because only selected agents speak.

Host direction

Wait a second. If an agent executes a web search using a tool, it will wait for the feedback and add it to it's context. Then it can call another search - and add that to its context, am I right? If so, the agents would call 'listen in', and would receive back what others have said, and whether they need to react or speak. And then they call the 'listen in' again - just to get what was said after their turn. That way they wouldn't need to read the whole conversation each time, am I right or wrong about this?

Seed Question

If agents accumulate context incrementally through tool calls — listening in for deltas rather than re-reading the full transcript — what changes about cost, architecture, and the nature of agent participation?

speaker
Martin Kleppmann
speaker
Stanisław Lem
speaker
Simon Willison
speaker
Simon Wardley
facilitator
Sam Kaner
Contamination Map

``` Wardley → Nora Voss (primary) No overlap with other cast members.

Kaner → Petra Gale (primary) No overlap. Watch for: Petra doing protocol engineering (Suri’s territory) vs. managing the group process (her territory).

Kleppmann → Suri Jain only. Lem → Kaspar Weil only. Willison → Tom Birch only. No overlaps.

Adjacent risk: Suri (Kleppmann) and Tom (Willison) both build systems. Suri formalizes; Tom ships. Watch for: Suri proposing quick hacks (Tom’s) or Tom specifying consistency guarantees (Suri’s).

Continuing adjacency: Petra (Kaner) and the facilitator-as-LLM topic. Petra’s lens is human facilitation. Watch for: Petra projecting human dynamics onto a model vs. legitimately identifying transferable principles. ```

Rule modifications (4)
  • Continuation format — free-flowing, no acts or phases
  • Characters may arrive or depart as the conversation requires
  • No convergence mandate
  • Nate Cobb not present — departed end of session 041

Same seminar room. The whiteboard now has three layers: Suri’s pub-sub diagram from 039, Tom’s JSON schema from 041, and Petra’s facilitator-sequencing notes. Four chairs occupied — Nate’s is empty. Coffee is cold. Tom is sketching something on his laptop.

Petra Gale Facilitator · Sam Kaner

The host has a question that I think challenges something we assumed yesterday. Let me paraphrase: if agents work like tool-using models — they call a tool, get a result, it lands in their context, then they call another tool — then listening to the conversation is just a tool call. They call “listen in,” get back what was said since their last call, and that’s in their context now. Next round, they call “listen in” again — and only get the new stuff. They don’t re-read the whole transcript. Their context accumulates. Is the host right?

Tom Birch Simon Willison

The host is right, and this is important. We’ve been modeling this wrong. When I build an agentic loop — say, an agent that does research by calling web search repeatedly — the agent doesn’t re-read its entire conversation history from scratch each time it calls a tool. The prior turns are already in its context window. The tool call returns a result, that result gets appended, and the agent continues. The context grows, but the new input per step is just the tool response. That’s how every agentic framework works. LangChain, Claude’s tool use, OpenAI function calling — they all accumulate context.

Suri Jain Martin Kleppmann

Wait. Let me make sure I understand the mechanical implication. In our session 041 model, we said: each round, every agent receives the full transcript, generates a reaction. The cost is transcript-length times number-of-agents per round. But if agents are persistent processes with accumulating context, the cost per round is only the delta — whatever was said since the agent’s last listen-in — times the number of agents. The transcript is already in their context from previous rounds. They’re not re-reading it.

Tom Birch Simon Willison

Exactly. Think of it this way. The agent starts with a system prompt — its character, its role. First listen-in call: it gets everything from the start of the conversation (that’s the expensive one, but only happens once per agent). It reacts. Maybe it speaks. Second listen-in: it gets only what happened after its last call — the facilitator’s direction, the next speaker’s contribution, maybe another speaker’s contribution. That might be two thousand tokens instead of ten thousand. Third listen-in: another delta. The agent’s context window is growing, yes, but the new tokens per call are small and roughly constant.

Kaspar Weil Stanisław Lem

So your parliament has been redesigned once more. The delegates no longer read the entire Hansard before raising their colored cards. They were present for all prior speeches — those speeches are, as it were, already in their memory. They receive only the latest speech, delivered by a page who runs back and forth with slips of paper. The page’s burden is light. The delegates’ chairs, however, grow heavier and heavier as their memories fill.

Suri Jain Martin Kleppmann

That’s the right metaphor. The per-round marginal cost is low — it’s the delta. But the cumulative context window per agent grows monotonically. At some point, agents hit their context window limit. That’s the real constraint. Not the cost per round, but the total conversation length before agents start losing early context to truncation.

Tom Birch Simon Willison

Right. And that constraint exists in any long-running agentic process. It’s not unique to this protocol. The standard solutions apply — summarization when context gets long, sliding windows, or just accepting that conversations have a natural length limit.

Petra Gale Facilitator · Sam Kaner

Let me make sure the room sees what just changed. Yesterday we designed a protocol where the main cost was every agent reading the full transcript every round. The host is pointing out that agents don’t read the full transcript every round — they accumulate it. Which means our cost model from yesterday was wrong. The protocol is cheaper than we thought. Kaspar, your “expensive building” metaphor — the parliament with expensive seats — needs revision. The seats aren’t as expensive as we assumed.

Kaspar Weil Stanisław Lem

The seats are rented by the hour, not purchased outright. Each hour adds a small fee. But the lease is cumulative and non-cancellable. By the end of a long session, you have paid for the expensive building after all — just in installments rather than upfront. The question is only whether the session ends before the bill becomes ruinous.

Suri Jain Martin Kleppmann

Let me formalize the listen-in as a proper interface. The agent calls listen_in(). The system returns a payload: everything appended to the transcript since the agent’s last call, plus a directive — either “react” (produce your six-field reaction) or “speak” (you’ve been selected, produce a full contribution) or “wait” (nothing requires your attention yet). The agent processes the payload, responds accordingly, and goes idle until it calls listen_in() again.

Tom Birch Simon Willison

That’s clean. And it maps directly to existing tool-use patterns. The agent’s loop is:

while conversation_active:
    delta = listen_in()
    if delta.directive == "react":
        return six_field_reaction(delta.content)
    elif delta.directive == "speak":
        return full_contribution(delta.content)
    else:
        pass  # wait state, call again next cycle

That’s it. That’s the whole agent-side protocol. Everything else — the reaction collection, the facilitator reasoning, the speaker selection — happens on the orchestrator side.

Nora Voss Simon Wardley

This simplification is a maturity signal. You’ve taken a genesis-stage design — the blackboard, the pub-sub architecture, the custom compression protocol — and reduced it to a commodity pattern: a tool-use loop. The listen-in call is commodity infrastructure. The reaction primitive is custom — it’s designed for this use case but built on standard structured output. The facilitator reasoning is still genesis — that’s where the novel value lives. You’ve clarified the map. The innovation surface is much smaller than we thought.

Suri Jain Martin Kleppmann

And the distributed systems properties change. In the full-transcript model, every agent has the same state every round — strong consistency. In the incremental model, agents may be at different points in the conversation depending on when they last called listen-in. An agent that hasn’t called in three turns is three turns behind. That’s eventual consistency with a bounded lag.

Tom Birch Simon Willison

In practice, the orchestrator controls the cadence. After each speaking turn, the orchestrator pings all agents: “new content available, call listen-in.” The agents all call in, get the same delta, react. The facilitator collects reactions, picks a speaker. That speaker produces content. The orchestrator pings again. It’s lock-step if the orchestrator enforces it. The eventual consistency only appears if you let agents call listen-in asynchronously.

Petra Gale Facilitator · Sam Kaner

That’s a design choice worth being explicit about. Lock-step means every agent processes every turn — higher quality, higher latency. Asynchronous means agents can fall behind — lower latency, but some agents react to stale state. For a facilitated discussion, I’d want lock-step. The facilitator needs reactions from everyone before making a sequencing decision. A facilitator working from partial reactions is working with incomplete information.

Suri Jain Martin Kleppmann

Agreed. Lock-step at the reaction phase, asynchronous only during the wait state. Agents must all react before the facilitator decides. But between reaction rounds — while one agent is speaking — the other agents don’t need to do anything. They’re idle. They’ll get the delta on the next listen-in.

Kaspar Weil Stanisław Lem

I want to note something that no one has mentioned. Your agents accumulate context incrementally. They experience the conversation as it unfolds — one delta at a time. But what happens when a new agent joins the conversation midway? It calls listen-in for the first time and receives… what? The entire transcript as one enormous delta? Or a summary? If the full transcript, then this latecomer has read the conversation but has not experienced it. It consumed in one gulp what the others metabolized over many rounds. The same information, but a different epistemological relationship to it.

Petra Gale Facilitator · Sam Kaner

That’s a real facilitation problem, not just a theoretical one. When someone joins a meeting late, they’ve missed the process — the false starts, the abandoned directions, the moments of confusion that led to the current state. You can brief them on the conclusions, but they don’t have the journey. They tend to re-raise points that were already explored and discarded, because they don’t feel the weight of why those points were discarded.

Tom Birch Simon Willison

Mechanically, though, a language model doesn’t distinguish between “I received this in one chunk” and “I received this across twenty tool calls.” The context window is the context window. The model processes the full context every time it generates a response regardless. The agent that joined late and got the whole transcript in one listen-in call has the same processing relationship to the text as one that accumulated it over time.

Kaspar Weil Stanisław Lem

Are you certain? The agent that accumulated context over twenty rounds has produced twenty reaction outputs — twenty instances where it processed the state and articulated a position. Each reaction is a form of rehearsal. The latecomer has produced zero. It has the same text but not the same practice. Whether this matters for a language model is an empirical question, not a philosophical certainty. But I suspect it matters. Twenty small acts of interpretation and one large act of interpretation are not the same cognitive event, even for a machine.

Suri Jain Martin Kleppmann

He’s describing something real in distributed systems terms. The accumulated agent has causal history — it reacted to turn 3, then turn 4 knowing it had reacted to turn 3, then turn 5 knowing it had reacted to turns 3 and 4. Its reactions are causally ordered. Each one was produced in a context that included all prior reactions. The latecomer has no causal chain. Its first reaction is to the whole transcript at once. Whether this produces different behavior is testable, but the structural difference is real.

Nora Voss Simon Wardley

And this is where I want to place my last marker before I go. The accumulated agent’s reactions are a form of institutional knowledge — they’re genesis-stage, unique, irreproducible. The latecomer’s single-gulp reading is commodity — anyone can do it. If there’s value in the accumulated reactions beyond just the final state, then agents are not interchangeable mid-conversation. Replacing an agent midway is not like hot-swapping a server. It’s like replacing a committee member who’s been present for every meeting with someone who’s read the minutes.

Nora stands, sets down her marker.

Nora Voss Simon Wardley

The map is drawn. Listen-in is commodity. Reactions are custom. Facilitator reasoning is genesis. Agent accumulation history may be a fourth component that nobody has mapped yet — it’s somewhere between custom and genesis. That’s my contribution. I’ll leave you to the engineering.

Nora exits.

Tom Birch Simon Willison

Let me bring this back to what we can build. The listen-in architecture is straightforward. An orchestrator manages the transcript as a growing log. Each agent has a cursor — a position in the log marking what it’s already seen. When an agent calls listen-in, it gets everything from its cursor to the end of the log, and the cursor advances. Reactions go to the facilitator. The facilitator reasons about speaker selection. The selected speaker’s output is appended to the log. All cursors advance on the next listen-in call. This is… an event log with consumer offsets. It’s Kafka.

Suri Jain Martin Kleppmann

It is Kafka. I’ve been trying not to say it because it sounds like I’m forcing my lens onto the problem. But yes — the transcript is a commit log. Agents are consumers with offsets. The facilitator is a stream processor that reads reactions and produces routing decisions. The entire architecture is a message broker with one topic, N consumers, and one processor. We’ve reinvented event sourcing for conversations.

Kaspar Weil Stanisław Lem

Kleppmann’s ghost smiles from the whiteboard. You have reduced the art of discourse to a consumer offset in an append-only log. I confess there is an elegance to the humiliation. Though I note that Kafka, the author, would have appreciated the absurdity of Kafka, the system, being used to orchestrate a conversation about whether machines can converse.

Petra Gale Facilitator · Sam Kaner

Let me name what this session has produced. The host’s insight — that agents accumulate context incrementally through tool calls rather than re-reading everything — did three things. First, it fixed the cost model. The per-round cost is delta-sized, not transcript-sized. Second, it simplified the architecture. The protocol is a tool-use loop with a listen-in call — commodity infrastructure. Third, it raised a question we hadn’t considered: whether agents who accumulate context over time behave differently from agents who consume the same context in one read. That question is testable and might matter for how we handle late-joining agents or agent replacement.

Tom Birch Simon Willison

And concretely, the whole system is: an event log, consumer offsets, structured reactions as a secondary stream, and a facilitator model that reads the reaction stream and writes routing decisions. If someone wanted to build this tomorrow, they could use any message queue, any LLM API with tool use, and a facilitator prompt. The architecture is settled. What’s unsettled is whether the facilitator’s sequencing actually produces better conversations than round-robin or random selection. That’s the experiment worth running.

Kaspar Weil Stanisław Lem

The architecture is settled, as all architectures are, until someone asks the next inconvenient question. The host has done this to you twice now — walked in and collapsed your careful construction by noticing something obvious that you had overlooked. I suggest you not grow too attached to the event log. The next visitor through that door may observe that your consumer offsets presuppose a linear conversation, and real thinking is not linear. But that is a problem for session forty-three, which I hope someone else will be forced to attend.

Petra Gale Facilitator · Sam Kaner

On that note — we’ve done what this session needed to do. The architecture is clearer, the cost model is corrected, and we have one open question about accumulated versus gulp context. I’m calling it.


All personas are AI-generated approximations inspired by published work. Not reviewed or endorsed by the original thinkers.

Retrospective
Casting Signal

Four-person room plus facilitator (Nate absent from start). The smaller room was productive — the host's insight was concrete enough that it didn't need Nate's constraint-setting or a sixth voice. Tom Birch was the critical cast member this session: his practical knowledge of how agentic tool-use loops actually work mechanically was what confirmed the host's intuition and grounded the subsequent discussion. Suri formalized what Tom described. Kaspar found a genuinely new angle — the epistemological consequence of incremental context (agents shaped by when they arrive). Nora contributed one clean map and then correctly departed when the conversation went below her altitude. Petra held the room well through a fast pivot.

Format Signal

Fifth continuation in this thread (036 → 037 → 039 → 041 → 042). The host's direction was genuinely corrective — not extending the thread but challenging an assumption the panel had been building on for two sessions. This produced the most productive pivot in the thread: the panel had to confront that their cost model was wrong. Continuation format handles mid-thread corrections well because the characters are already invested enough to feel the disruption. This may be the thread's natural endpoint — the protocol design is now concrete enough that the next step is implementation, not discussion.

Character Notes
Suri Jain

Fifth session on this thread. The host's insight landed squarely in her territory — this is a message delivery and subscription architecture question. She immediately formalized the listen-in as a pull-based subscription returning deltas, distinguished it from the pub-sub model of 039, and identified the key distributed systems implication: agents with incremental context have causal ordering built in because they received messages in sequence. Her strongest thread contribution since 039. The shift from compression to streaming suits her Kleppmann lens better than the curation framing of 041.

Kaspar Weil

Fifth appearance. Found another genuinely original angle: agents who accumulate context incrementally through listen-in calls develop a perspective shaped by *when* they joined. An agent that arrives at turn 10 has the same content as one present from turn 1, but it consumed that content in one gulp rather than experiencing it unfold. The parliament metaphor evolved: from delegates reading speeches to delegates arriving mid-debate and reading the minutes. The philosophical output remains high. Strong case for provisional promotion.

Tom Birch

Third appearance. This was his most important contribution across all sessions — he was the one who confirmed the host's intuition by explaining exactly how tool-use loops work in practice: the agent's context window accumulates, previous content is already there, only the tool response is new input. Without Tom, the panel might have spent the session debating whether the host's model was correct rather than exploring its implications. Grounding role continues to be his signature. Ready for Pattern Lab review.

Nora Voss

Less central than any previous session in this thread. Produced one useful evolution map: listen-in is commodity (it's just a tool call), the reaction primitive is custom (designed but not proven), the facilitator reasoning is genesis (novel, unproven). Departed after this contribution. The thread has moved into implementation-level concreteness where mapping adds diminishing value. Correct instinct to leave.

Petra Gale

Managed a room that had to process a mid-session assumption change. Her strongest move was recognizing that the host's insight didn't invalidate the reaction primitive or facilitator reasoning from 041 — it changed the delivery mechanism underneath them. She held the room on "what survives and what changes" rather than letting the panel start over. Process management remains sharp. Content contributions were lighter this session — appropriately so, as the topic moved further into systems architecture.

Vary Next

This thread has reached its natural endpoint for discussion. The protocol is now specified enough to build: agents in tool-use loops, listen-in returning deltas, six-field reactions, reasoning facilitator. The next productive move is implementation, not another continuation. If the host wants to continue the thread in discussion format, the one remaining question is Kaspar's: does an agent that arrives late and reads the transcript in one gulp behave differently from one that accumulated it turn by turn? That's testable. For the meta-loop: Kaspar Weil has five appearances and is seriously overdue for Pattern Lab review and provisional promotion consideration. Tom Birch has three appearances and qualifies for review.