Retrieved but Not Delivered: Multimodal Memory Delivery for Long-Term Agents
Organizations: Huawei Technologies Ltd.
Abstract
Work on memory for multimodal agents optimizes what is written, updated and retrieved. Between retrieval and the answer, however, is a stage that multimodal memory evaluations do not isolate: what of the retrieved memory reaches the model, and in what form. We call it delivery, and a controlled decomposition on MemLens locates the remaining room there. With the retrieved evidence set exactly fixed, delivering the original pixels instead of withholding them raises accuracy by 13.87 points on an 8B backbone, whereas making retrieval perfect on those same messages improves it by 2.31. Delivery is the larger term on all three MemLens backbones and grows with backbone strength; retrieval grows too, without closing the gap. We propose DeliverMem, an instantiation of delivery as three decisions: keep the original modality, give each item a readable identity, and state when it was seen, with a retrieval-side adapter for the one property delivery cannot supply. Each is measured against a delivery-matched control that alters only its own variable. DeliverMem leads the strongest published memory agent on MemLens at all four context lengths, and beats DMV-Bench's own strongest method at every setting on both backbones. On MemLens it does this on a tenth to a seventieth of the input. Each decision helps only where the question lacks what it supplies, and is null elsewhere. A single fixed configuration nonetheless leads both benchmarks, without training any component or modifying the stored records. Project page: https://avalon-s.github.io/DeliverMem/
Figures & tables
| Retrieved set | Pixels delivered | Pixels withheld | W/L, | |
|---|---|---|---|---|
| Gold messages ( ) | 31/7, | |||
| Our retriever, text channel ( ) | 30/5, | |||
| interaction | ||||
| W/L, | 17/13, | 15/10, | 12/14, | |
| 32K | 64K | 128K | 256K | |
| Best published agent at each length | 32.82 | 31.28 | 31.28 | 30.77 |
| DeliverMem, images withheld | 35.38 | 35.38 | 32.82 | 30.26 |
| DeliverMem, text-channel retrieval | 48.72 | 44.10 | 44.10 | 38.46 |
| DeliverMem | 51.28 | 44.10 | 42.05 | 38.97 |
| Margin over the best published agent | ||||
| Input ratio, full context to delivered |
| Qwen2.5-VL-7B | Gemini 2.5 Flash | ||||||||
| Memory | |||||||||
| NoMemory | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | |
| TextOnly | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | |
| WorldMM-lite ( Yeo et al., 2026 ) | 37.3 | 34.1 | 29.7 | 27.5 | 43.5 | 41.1 | 38.2 | 37.0 | |
| MMA-lite ( Lu et al., 2026 ) | 47.7 | 41.0 | 39.4 | 35.2 | 46.1 | 44.8 | 35.8 | 36.9 | |
| Caption | 67.9 | 64.5 | 62.3 | 58.1 | 58.9 | 55.6 | 50.5 | 47.7 | |
| Component | Control alters | Benchmark | Unit ( ) | Agreement, | |
|---|---|---|---|---|---|
| (D1) original modality | pixel phase randomised | MemLens | question (173) | 28/8, | |
| (D2) addressability | rank tag map shuffled | DMV | chain (10) | 8 of 10, | |
| (D2) addressability ∗ | tags made identical | DMV | chain (10) | 10 of 10, | |
| (D2) addressability | tag removed entirely | DMV | chain (10) | 10 of 10, | |
| (D2) addressability | tag in text, pixels intact | DMV | chain (10) | 9 of 10, | |
| (D2) addressability ∗ | tags made identical | MemLens | question (195) | 4/3, |
| Component | DMV-Bench | MemLens |
| Delivery | ||
| (D1) original modality | — | positive |
| (D2) addressability | positive | null |
| (D3) temporal position | null | positive |
| Binding (not deployed) | — | positive |
| Retrieval | ||
Appendix figures & tables20 assets
Supplementary material from the paper’s appendix.
Appendix
| Stage | MemLens | DMV-Bench |
|---|---|---|
| Store | every conversation message with its images, K to K tokens per conversation | every product page visited over sessions, in DualMem’s image and text banks |
| Text channel | bge-small-en-v1.5 ( Xiao et al., 2024 ) on the message text | all-MiniLM-L6-v2 ( Reimers & Gurevych, 2019 ) on Gemini 2.5 Flash captions |
| Image channel (R1) | siglip2-base-patch16-384 , whole image plus overlapping tiles, scored by MaxSim | the same encoder and tiles, in place of DualMem’s whole-image vector |
| Fusion | image scores min-max normalised within the question and averaged with the text score; a message without an image scores on the image channel | DualMem’s weighted fusion at |
| Items delivered | messages | the five items the benchmark specifies |
| Delivery (D1–D3) | original images (D1), a tag in the pixels (D2) and the message date (D3) | a tag in the pixels (D2) and [seen # of ] (D3); DualMem already delivers images |
| all | non-AR | ||||||
| System | (195) | (173) | IE | MSR | TR | KU | AR |
| M2A ( Feng et al., 2026 ) (same backbone) | 15.38 | 14.45 | 14.75 | 8.57 | 2.08 | 0.00 | 22.73 |
| M3C ( Jang et al., 2025 ) | 18.46 | 18.50 | 8.20 | 25.71 | 31.25 | 10.34 | 18.18 |
| M3-Agent ( Long et al., 2025 ) | 19.49 | 20.23 | 18.03 | 22.86 | 29.17 | 6.90 | 13.64 |
| Memory-T1 ( Du et al., 2025 ) | 28.72 | 31.21 | 18.03 | 25.71 | 62.50 | 13.79 | 9.09 |
| MemOS ( Li et al., 2025 ) | 30.26 | 25.44 | 18.03 | 22.86 | 39.58 | 24.14 | 68.18 |
| 32K | 64K | 128K | 256K | |
|---|---|---|---|---|
| Qwen3.5-122B ( Qwen Team, 2026 ) | 63.59 | 59.49 | 49.23 | n/a |
| Qwen3-VL-30B-A3B ( Bai et al., 2025a ) | 58.46 | 52.31 | 50.77 | n/a |
| Gemini-3.1-Pro ( Google DeepMind, 2026 ) | 55.38 | 58.46 | 58.46 | n/a |
| GPT-5.4 ( OpenAI, 2026 ) | 51.28 | 56.92 | 51.79 | n/a |
| Qwen3-VL-8B ( Bai et al., 2025a ) (our backbone) | 50.77 | 47.69 | 34.36 | n/a |
| Qwen3-VL-2B ( Bai et al., 2025a ) | 38.46 | 35.38 | 27.69 | n/a |
| Backbone | Setting | DeliverMem | Published | ||
|---|---|---|---|---|---|
| Qwen2.5-VL-7B | 88.22 | 433 | 81.2 | ||
| 89.67 | 1,888 | 77.8 | |||
| 88.87 | 4,359 | 74.6 | |||
| (exh.) | 85.19 | 48,701 | 68.3 | ||
| (MC) | 84.96 | 4,820 | 68.3 | ||
| Gemini 2.5 Flash | 93.29 | 686 | 82.7 |
| text says nothing | text names the tag | |
|---|---|---|
| pixels unstamped | ||
| pixels stamped |
| Condition | What reaches the model | Answer |
|---|---|---|
| cap10 | ten retrieved over the text channel, with pixels | “To the right…” |
| img10 | ten retrieved over both channels, with pixels | “To the right…” |
| oracle10 | the gold messages padded to ten, with pixels | “To the right…” |
| goldonly | the gold messages alone, no distractors | “To the right…” |
| oracle10_noimg | the gold messages padded to ten, pixels withheld | “On top…” |
| Condition | What the delivered pixels carry | W/L | ||
| oracle10_scramble | objects legible, positions permuted | 17/5 | ||
| oracle10_phasescram | same statistics, no objects | 28/8 | ||
| oracle10_decoy | another question’s photograph | 33/7 | ||
| oracle10_noimg | nothing | 34/8 | ||
| Between counterfactual images | ||||
| decoy noimg | a real photograph versus none | 6/6 | ||
| Question type | W/L | |||
|---|---|---|---|---|
| Information extraction | 61 | 28/3 | ||
| Multi-session reasoning | 35 | 2/1 | ||
| Temporal reasoning | 48 | 1/1 | ||
| Knowledge update | 29 | 3/3 | ||
| Non-refusal (pooled) | 173 | 34/8 |
| Subset | W/L | W/L | |||
| Information extraction | 5/6 | 27/2 | |||
| Multi-session reasoning | 2/0 | 1/2 | |||
| Temporal reasoning | 4/4 | 1/0 | |||
| Knowledge update | 6/3 | 2/3 | |||
| Gold messages – | 15/9 | 31/6 | |||
| Gold messages | 2/3 | 0/1 |
| Backbone | Quantity | W/L | ||
| B dense | Delivery | 31/7 | ||
| Retrieval | 17/13 | |||
| 30B-A3B | Delivery | 36/9 | ||
| (MoE) | Retrieval | 21/4 | ||
| B dense | Delivery | 32/1 | ||
| Retrieval | 26/6 |
| Backbone | Setting | Same-batch | DeliverMem | same dir. | ||
|---|---|---|---|---|---|---|
| Qwen2.5-VL-7B | 79.88 | 87.51 | 8/10 | |||
| 77.80 | 89.55 | 10/10 | ||||
| 76.59 | 88.94 | 10/10 | ||||
| (exh.) | 72.34 | 85.20 | 10/10 | |||
| (MC) | 72.17 | 84.96 | 10/10 | |||
| Gemini 2.5 Flash | 80.68 | 93.26 | 6/6 |
| Retrieval | delivery off | delivery on |
|---|---|---|
| DualMem | ||
| (R1) region multi-vector |
| 32K | 64K | 128K | 256K | |
| Our delivered input (tokens) | 2,405 | 2,421 | 2,460 | 2,450 |
| Full context (tokens) | 24,001 | 46,476 | 89,940 | 178,558 |
| Input ratio | ||||
| DeliverMem | 51.28 | 44.10 | 42.05 | 38.97 |
| Direct inference, same backbone | 50.77 | 47.69 | 34.36 | n/a |
| Accuracy difference | n/a |
| Question type | Full | Binding shuffled | W/L | ||
|---|---|---|---|---|---|
| Information extraction | 61 | 59.02 | 50.82 | 6/1 | |
| Multi-session reasoning | 35 | 22.86 | 20.00 | 2/1 | |
| Temporal reasoning | 48 | 50.00 | 43.75 | 3/0 | |
| Knowledge update | 29 | 37.93 | 31.03 | 3/1 | |
| Answer refusal | 22 | 100.00 | 100.00 | 0/0 | |
| Non-refusal (pooled) | 173 | 45.66 | 39.31 | 14/3 |
| Selection | 32K | 128K |
|---|---|---|
| Query-conditioned (ours) | 51.28 | 42.05 |
| Recency, no query | 22.05 | 14.36 |
| Random, no query | 17.44 | 14.87 |
| Cell | probes/seed | obs. SD | binomial SD | residual |
|---|---|---|---|---|
| Qwen | 43 | 8.01 | 6.09 | 5.20 |
| Qwen | 189 | 6.31 | 3.02 | 5.54 |
| Qwen | 436 | 5.21 | 2.03 | 4.80 |
| Qwen | 4870 | 3.15 | 0.64 | 3.09 |
Multimodal Memory
Multimodal memory lets AI systems retain, organize, and retrieve information across text, images, audio, and video for long-term reasoning and personalization.
See all 71 papers