DACCI: A Dual-Loop Diagnostic Protocol for Evidence-Preserving Agent Memory
Organizations: Xiaomi Inc.
Abstract
Memory is a key capability of LLM agents. Persistent memory extends this across sessions---enabling recall, revision, and personalization. Yet its multi-stage pipeline (ingestion, retrieval, filtering, generation) makes failures difficult to localize: end-to-end evaluation reveals that an error occurred, but not which stage caused it. Existing evaluations often report aggregate performance without paired statistical comparisons, slice-level non-regression checks, or stage-level diagnostic traces. We propose DACCI (Diagnostic-Driven Artifact-based Closed-loop Controlled Iteration), a dual-loop protocol whose outer diagnostic gate promotes, feature-flags, or rejects memory interventions based on paired evidence, protected-slice monitoring, and trace-level localizability. We further introduce DCR, a graded observability metric that measures whether failures remain localizable, and DACCI-Eval, a reusable artifact for gate replay. We instantiate the protocol in MemStack and evaluate on three public benchmarks, achieving 93.59% on LoCoMo, 90.93% on LongMemEval, and 57.20% on PersonaMem-V2. Five paired ablations show that supplement extraction, session-memory retrieval, and Forget Guard yield statistically significant gains (+1.9 to +3.7pp, all p .003). In contrast, BM25/RRF is retained as a monitored feature flag---a distinction invisible to aggregate-only evaluation. A diagnostic audit shows enriched traces substantially improve root-cause agreement over result-only relabeling. Diagnostic artifacts reach 98--100% DCR@3 versus 0% for results-only logs. These results establish that robust memory-system iteration demands traceable, statistically grounded, and regression-aware evidence---exactly the gap DACCI fills.
Figures & tables
| Benchmark | Eval set | Ours | MemBrain | Representative slices (category / ( count , accuracy )) | ||||
|---|---|---|---|---|---|---|---|---|
| LoCoMo | 1540 non-adv QA | 93.59% | 93.25% | +0.34pp | Single-hop | Multi-hop | Temporal | Open |
| ( 841 , 96.2 ) | ( 282 , 89.5 ) | ( 321 , 92.4 ) | ( 96 , 86.8 ) | |||||
| LongMemEval | 500/500 questions | 90.93% | 85.60% | +5.33pp | Single-user | Knowledge-update | Multi-session | Temporal |
| ( 70 , 99.5 ) | ( 78 , 93.6 ) | ( 133 , 85.0 ) | ( 133 , 89.0 ) | |||||
| PersonaMem-V2 | 200 personas, 5000 MCQ | 57.20% | 55.72% | +1.48pp | Sensitive | Forget | Neutral | Therapy |
| ( 511 , 86.3 ) | ( 1048 , 66.9 ) | ( 858 , 51.2 ) | ( 627 , 44.5 ) | |||||
| Condition vs. Human A | Fine | Coarse |
|---|---|---|
| Enriched GPT-4o trace relabel | 0.571 | 0.619 |
| Result-only GPT-4o relabel | 0.258 | 0.272 |
| Human B | 0.674 | 0.711 |
| Benchmark | Comparison | Ablated | Paired evidence | Gate decision | |||||
|---|---|---|---|---|---|---|---|---|---|
| 95% CI | Full wins / Ablated wins | Metric-only | D 2 ACCI gate | ||||||
| LoCoMo | No BM25/RRF | 1,540 | 94.00% | pp | .4426 | [ , 0.56] | 27/34 | Demote | Feature-flag |
| LoCoMo | No Supplement | 1,540 | 90.89% | pp | .0009 | [1.26, 4.20] | 90/50 | Promote | Accept; MH monitor |
| LME | No BM25/RRF | 500 | 89.93% | pp | .4583 | [ , 3.13] | 17/12 | Promote | Feature-flag |
| LME | No Session | 500 | 87.27% | pp | .0026 | [1.33, 6.00] | 28/9 | Promote | Accept; KU monitor |
| PMem | No Forget Guard | 5,000 | 55.28% | pp | .0030 | [0.64, 3.18] | 560/464 | Promote | Accept; slice monitor |
| AP ∗ | Trigger | Observed Behavior | Resolution |
| OM | Threshold | Facts collapse into a single memory representation | Reverted |
| DA | Option-aware filter | Retrieval surfaces distractor evidence | Rejected |
| NME | Gated expansion | Recovers some targets, introduces off-target noise ( ) | Slice-gated |
| ∗ AP: Anti-pattern | |||
Agent Memory Management
Agent memory management studies how AI agents store, update, retrieve, compress, and forget information across long-running tasks.
See all 447 papers