·6 min read·Kenneth Pernyér·2.4k views·357 appreciation

Context Is the API: Why Agents Should Never Talk to Each Other

The architectural foundation of convergent multi-agent systems

contextagentsarchitecture

The intuition trap

When people first build multi-agent systems, they almost always start the same way:

"Agents should just talk to each other."

One agent sends a message. Another agent responds. A third agent reacts.

It feels natural. Humans communicate this way. Distributed systems have been doing message passing for decades.

And yet—this instinct is the single biggest architectural mistake in agent systems.

Not because it doesn't work. But because it works just well enough to fail later, quietly, and expensively.


The hidden cost of agent-to-agent communication

When agents talk directly to each other, three things happen immediately:

  1. Hidden coupling is introduced An agent's behavior now depends on who talked to it, in what order, and with what phrasing.

  2. Explainability collapses When something goes wrong, you no longer ask: "What facts led to this decision?"

    You ask: "Which agent said what, to whom, and when?"

  3. Evaluation becomes brittle You are forced to evaluate paths ("did the agent call the right tool in the right order?") instead of outcomes.

This is how systems drift.

Not loudly. Not with crashes. But with subtle, compounding inconsistency.


Context is not a message bus

In Converge, agents never talk to each other.

They don't send messages. They don't call peers. They don't coordinate.

Instead, they observe and evolve a shared context.

Context is not a queue. Context is not pub/sub. Context is not workflow state.

Context is an append-only semantic ledger.

Agents:

  • read from context
  • propose changes to context
  • never mutate existing facts
  • never depend on who else is running

This is not a stylistic choice. It is a systems guarantee.


Context as the API surface

When context becomes the API, everything changes.

1. Eligibility becomes data-driven

An agent runs only when:

  • the context contains the data it depends on
  • it has not already contributed (idempotency via facts)

No polling. No pending queues. No hidden lifecycle state.

Whether an agent runs is a pure function of context.

2. Causality becomes explicit

Every fact in context can answer:

  • Who produced this?
  • Based on what inputs?
  • In which convergence cycle?

This makes provenance a first-class property, not a debugging artifact.

3. Humans fit naturally into the system

Humans don't interrupt workflows. They don't "pause agents".

They act as explicit authorities that:

  • inspect context
  • validate or reject proposals
  • inject authoritative facts

Human-in-the-loop becomes a typed state, not an exception.


Why this scales when message passing doesn't

Direct communication scales poorly because it creates N² coordination paths.

Context scales because:

  • all agents read from the same surface
  • no agent depends on another agent's timing
  • evaluation happens against outcomes, not interactions

You can:

  • add agents
  • remove agents
  • upgrade agents
  • restart agents

…and the system still converges.

Because the truth lives in the context — not in transit.


The core rule

Agents should not coordinate with each other. They should coordinate with reality.

Context is that reality.

Everything else is noise.

Stockholm, Sweden

January 6, 2026

Kenneth Pernyér signature