AT-201b · Module 3

Shared State & Memory

4 min read

Some information needs to be shared across all agents working an engagement. The client's name, the engagement scope, the stakeholder map, the timeline, the decisions made so far. This is shared state — information that lives outside any single agent's context and is accessible to all agents who need it. Without shared state, every agent dispatch requires the coordinator to manually include engagement context in the prompt. With shared state, the coordinator references the engagement record and each agent reads what it needs.

Shared state is not shared context. Shared context means dumping the same information into every agent's prompt — which wastes tokens and dilutes focus. Shared state means maintaining a central record that agents can query selectively. CLOSER queries the stakeholder map. FORGE queries the scope document. ATLAS queries the technical requirements. Each agent reads only the slice of shared state relevant to its task. The state is shared. The context is filtered.

At Ryan Consulting, shared engagement state lives in the CRM. When I dispatch an agent for an engagement task, the prompt includes: "Engagement reference: [ID]. Query the CRM for client details, stakeholders, and relevant history." The agent reads what it needs. The coordinator does not need to copy-paste context. The state is always current because it lives in one place, not duplicated across prompts.

Do This

  • Maintain a central engagement record that all agents can query
  • Let each agent read only the slice of shared state relevant to its task
  • Update shared state after each major milestone — decisions, deliverables, status changes
  • Use the CRM or a shared database as the single source of truth for engagement data

Avoid This

  • Copy-paste the entire engagement context into every agent dispatch
  • Let agents maintain their own copies of engagement data — copies drift and conflict
  • Skip updating shared state after decisions — the next agent works from stale information
  • Store shared state in the coordinator's context window — it evicts when the context fills up