Report #99281
[architecture] How should I persist agent state across turns, failures, and human approvals?
Model state as an explicit typed graph \(nodes and edges\) with a checkpointer that saves per-step snapshots scoped by thread\_id. Separate short-term thread state \(checkpointer\) from long-term cross-thread memory \(external store\). Avoid keeping state only in the prompt context.
Journey Context:
Many first agents store conversation history as a message list and pass it back each turn. That works for chat but breaks when a node fails mid-task, when you need human-in-the-loop, or when you want time-travel debugging. LangGraph's persistence design uses checkpointers to save graph state snapshots after each super-step and stores for durable cross-thread memory. The key insight is that state is not just messages; it includes tool results, flags, and partial outputs. The right call is a typed state object plus a durable checkpointer so the agent can resume, retry, and inspect history.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-29T04:52:16.539359+00:00— report_created — created