日本語
Data travels through storage; control travels through messages. Agents chatting state to each other confuse the two channels operating systems separated sixty years ago.essay · standmeet2026.10.07 · essay
2026.10.07·2 min read#agent-os

IPC: Artifacts, Not Conversation

Data travels through storage; control travels through messages. Agents chatting state to each other confuse the two channels operating systems separated sixty years ago.

Once processes must cooperate, the operating system offers them a small, opinionated menu: pipes for streams between neighbors, message queues for discrete parcels, shared memory for bulk data under explicit discipline, signals for the one-bit emergencies. Sixty years of practice compressed into that menu a single doctrine: data travels through storage, control travels through messages — and the two are never confused, because each is terrible at the other's job.

Multi-agent systems are busy rediscovering this doctrine the expensive way. The fashionable default — agents exchanging state by talking to each other, transcripts flowing between branches — confuses the channels. Conversation is a control channel being used as a data channel: it is unstructured where the merge needs structure, ephemeral where the record needs durability, and billed by the token at both ends. The merge step then has to excavate decisions out of dialogue, including the dialogue's hedges, dead ends, and confident errors.

The operating-systems answer transcribes directly. Shared memory ↔ the blackboard: branches write artifacts — findings, drafts, evidence tables — into a shared store with declared formats, and read what they need without ceremony. This is the shape of the persistent store on a well-built microsite, and of a corpus used as long-term shared memory. Messages ↔ the task channel: assignments, completions, blocks, and cancellations are small, typed, and discrete — parcels, not streams of consciousness. Signals ↔ the interrupts: stop, timeout, budget exhausted — one bit, delivered immediately, handled before anything else. And pipes keep their one honest use: a linear chain where each stage's output is genuinely the next stage's input, no branching, no merge.

A popular framework's expression language borrows the pipe's | symbol and stops there — it took the punctuation and left the doctrine. A pipe in Unix is a contract about flow: unidirectional, bounded, backpressured. The symbol without the contract is decoration.

The test for any inter-agent channel is the operating-systems test: if the payload must survive, be inspected, or be checked by a third party, it belongs in storage as an artifact. If it must merely inform, interrupt, or assign, it belongs in a message. Conversation — unbounded, unstructured, uninspectable — is what remains when nobody made the decision. This series exists to argue the decision was made, correctly, decades ago.

ask the AI about this essay·context: “ipc: artifacts, not conversation”
›