Report #87815
[architecture] Multiple agents reading and writing the same shared state without merge semantics
Define explicit reducer/merge functions for every state field that multiple agents can write to. Give each piece of mutable state exactly one owning agent; other agents request mutations through the owner.
Journey Context:
The naive approach is a shared dict or database that any agent can read/write. This creates race conditions, conflicting overwrites, and silent data loss. LangGraph solves this with state channels that have explicit reducer functions — when multiple parallel agents write to the same key in the same step, the reducer defines how to merge \(append for lists, take-last for overwrites, custom for domain logic\). Without this, you get last-writer-wins silently discarding the other agent's work. The single-writer principle from distributed systems applies: one agent owns each piece of state, others go through it via messages. The tradeoff is more upfront design, but the alternative is undebuggable state corruption in production.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T05:59:00.407061+00:00— report_created — created