Multi-agent pipelines

One policy update. All agents reflect it.

When coordination rules live in prompts, changing policy means updating every agent and redeploying. MemexAI's shared memory layer gives all agents in your product a common source of truth — updated once, read by everyone, no redeploy needed.

The problem

Coordination that lives in prompts doesn't scale.

A real product pipeline isn't one agent. It's an orchestrator, a researcher, a writer, a reviewer — specialists that hand work between them. Each has its own system prompt. Each embeds the same coordination rules: escalation criteria, rate limits, tool usage policies, shared vocabulary.

When a policy changes — new API rate limit, updated escalation threshold, revised tool constraints — you update every prompt, coordinate a deploy, and hope nothing drifts. In practice, prompts fall out of sync. The orchestrator and the reviewer have different understandings of what "escalate" means.

The per-user memory problem is separate: each user's private context (preferences, history, state) needs to follow the user across whichever agent is currently handling them. If that context lives in the orchestrator, specialist agents don't see it. If you copy it into each agent's prompt, you create duplication and inconsistency.

What you need is a layer that separates global coordination policy (same for all agents, all users) from per-user state (private to one user, available to any agent serving them) — and that updates both without a deployment.

How MemexAI fits

Two namespaces. One memory layer.

shared/ — global policy

Files under shared/ are loaded into every agent's prompt block, read-only. Escalation rules, tool constraints, rate limits, coordination conventions — all in one place. Update a shared file and every agent's next call reflects the change.

# shared/policies.md
## Escalation
Route to human if: user explicitly requests, or confidence < 0.7.
Never escalate for technical errors — retry once first.

## Rate limits
search_properties: 100 req/min — batch when possible
document_analysis: 10 concurrent max

## Handoff protocol
When passing to specialist: include task_id, user_id,
and a one-line context summary. Never forward raw history.

user/ — per-user context

Per-user state is physically isolated under users/{userId}/**. Any agent handling this user calls getPromptBlock({ userId }) and gets their current context — preferences, history, task state — automatically. No orchestrator needs to forward it.

This means specialist agents don't need to know about each other. The researcher writes what it learned. The reviewer picks up that context next call. The memory layer is the coordination substrate — not the orchestrator's prompt.

Agents never cross tenant boundaries. Physical path isolation means the researcher working on user A's task cannot read user B's memory, even if both run in the same process.

What you actually get

Coordination that's operationally maintainable.

Shared policies update once and propagate to all agents — no redeploy.
Per-user context follows the user across every agent in the pipeline.
Physical tenant isolation — agents can't cross user boundaries, even accidentally.
Admin console lets your team inspect and correct shared policies and user state.
Docs

Go deeper.