Your agents are duplicating work because they can't see each other's state

Poor state sharing does not just cause inefficiency. It causes contradictory actions, wasted compute, and outcomes nobody coordinated.

B

Balagei G Nagarajan

3 MIN READ


Abstract: multiple overlapping circles showing duplicated regions of effort, redundant paths converging on the same resource
Agent B, not knowing Agent A already did this, also queries the CRM.
— from “Your agents are duplicating work because they can't see each other's state”

Key facts.

  • WildToolBench tested 57 LLMs across 256 real tool-use scenarios with multi-step composition requirements. No model exceeded 15% session-level accuracy, and the three primary failure drivers included state management across turns and compositional task orchestration, both require agents to share progress state (arXiv 2604.06185, ICLR 2026).
  • RULER benchmarks on long-context faithfulness show that agents processing the same document independently produce inconsistent extractions, meaning parallel agents without shared state can actively contradict each other on the same factual question (RULER, arXiv 2404.06654).
  • NoLiMa research on context compression shows that when agents work from independent compressed summaries of the same source, fact coverage diverges significantly compared to agents sharing a single structured representation (NoLiMa, arXiv 2502.05167).

What redundant work actually looks like

Blind state hides in the pilot: no model clears 15% session accuracy, so an upgrade inherits duplicated work and retries. (arXiv:2604.06185)

Agent A is tasked with customer data enrichment. Agent B is tasked with contract preparation. Both need the customer's current subscription tier. Agent A queries the CRM. Agent B, not knowing Agent A already did this, also queries the CRM. Both get the same data. The tokens and the API call were paid twice. At low scale this is waste. At high scale it is a meaningful cost line and a race condition waiting to happen, what if the subscription tier changes between Agent A's query and Agent B's?

This is the visible version. The invisible version is when two agents act on the same resource with conflicting instructions. Agent A drafts and sends a follow-up email. Agent B, not knowing the email was sent, drafts and queues another one. The customer receives two emails with inconsistent content. No agent failed. No exception was thrown. The coordination infrastructure was simply missing.

Grid/matrix: Agents (rows) vs. Tasks (columns), with duplicated work zones highlighted in red and unique work zones in blue

State sharing patterns that work

No shared state (fails)Shared state store (works)
Each agent queries source independentlyOne agent fetches, stores in shared context; others read from store
No record of what has been doneTask manifest updated after each completed step
Agents act on same resource concurrentlyResource lock or turn-taking protocol per resource
State lives in each agent's context windowState lives in a shared persistent store agents read and write

VibeModel monitors for the redundancy pattern, the same query issued by multiple agents in the same session, or the same resource accessed without coordination, at the pattern level. The Pattern Intelligence Layer surfaces this before it becomes a cost spike or a contradictory action in production. Shared state is not a distributed systems luxury. It is the minimum viable coordination infrastructure for any multi-agent system with more than two agents.

Frequently asked questions

Does a shared state store become a bottleneck?
At high agent counts, yes, if not designed carefully. The pattern that scales is a write-once cache with agent-specific read access: one agent writes a resource result to the store, others read it without re-fetching. Write contention is minimal; read parallelism is high.

What if agents need different views of the same state?
Design the shared store with a common raw-data layer and agent-specific view projections. Agents share the underlying facts but can compute their own derived representations from them. This is cheaper than having each agent re-fetch the raw data independently.


Share this post

Join the discussion

Have a take, a war story, or a question? Sign in with GitHub to comment and react. Comments are powered by GitHub Discussions, ad-free and yours to moderate.

Continue Reading

Find where your agent breaks, before you build it

Faultmap maps where your agent will fail from the goal and your data, then hands you the first test suite it has to pass.