<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://shichun-liu.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://shichun-liu.github.io/" rel="alternate" type="text/html" /><updated>2026-04-16T11:58:46+08:00</updated><id>https://shichun-liu.github.io/feed.xml</id><title type="html">Shichun Liu</title><subtitle>柳世纯</subtitle><author><name>Shichun Liu</name><email>liusc2020@gmail.com</email></author><entry><title type="html">Memory in the Age of AI Agents: Agent Memory Mechanisms and the Story Behind This Survey</title><link href="https://shichun-liu.github.io/blog/2025/12/memory-en/" rel="alternate" type="text/html" title="Memory in the Age of AI Agents: Agent Memory Mechanisms and the Story Behind This Survey" /><published>2025-12-17T00:00:00+08:00</published><updated>2025-12-17T00:00:00+08:00</updated><id>https://shichun-liu.github.io/blog/2025/12/memory-en</id><content type="html" xml:base="https://shichun-liu.github.io/blog/2025/12/memory-en/"><![CDATA[<blockquote>
  <p>Paper Link: <a href="https://arxiv.org/abs/2512.13564">https://arxiv.org/abs/2512.13564</a></p>

  <p>This blog post is only an introduction; we do not expand the detailed and fully rigorous statements here. You are welcome to read the full paper via the link above.</p>
</blockquote>

<h2 id="introduction">Introduction</h2>

<p>Without a doubt, research on <strong>LLM memory</strong> and <strong>agent memory</strong> has become one of the spotlight topics of 2025. From an ever-growing stream of academic papers, to well-known open-source projects like <a href="https://github.com/mem0ai/mem0/">mem0</a> and <a href="https://github.com/MemTensor/MemOS/">MemOS</a>, and to interviews with popular researchers such as Ilya and Shunyu Yao, <em>memory</em> is being repeatedly mentioned, emphasized, and proclaimed. It seems to be everywhere: emotional companionship, document analysis, scientific discovery, long-form reasoning, multi-hop QA, web tasks, GUI interaction, video generation, embodied intelligence, and more. Yet, while all these works claim to have <em>implemented</em> or <em>leveraged</em> memory to solve downstream tasks, their designs often differ drastically.</p>

<p>So, what exactly is <em>memory</em>?</p>

<p>This question is precisely why we wanted to write this paper: to use one <strong>unified taxonomy</strong> to bring order to the landscape. We aim to offer a perspective and a conceptual vocabulary, so that every memory-related work can be positioned on a common map—properly understood, examined, and appreciated for the role it plays in its own niche. We also hope to provide the community with a <strong>panoramic description</strong> that strengthens cohesion rather than fragmentation. Such a framework should be both compatible and forward-looking: it should seamlessly accommodate the explosion of memory papers this year, while also serving as a position paper that hints at future directions. It should also be intuitive and clear, making it easy for beginners to get started, while organizing resources and evaluations and offering guidance from theory to practice.</p>

<p>Because we believe: <strong>memory is indispensable to the realization of AGI</strong>.</p>

<h2 id="concept-clarification">Concept Clarification</h2>

<p>In 2025—the year many call the “first year of agents”—what we are dealing with is agent memory. So the first challenge we must face is conceptual clarification: what is the difference in focus between agent memory and LLM memory?</p>

<p><img src="/images/memory-concept.webp" alt="" /></p>

<p>By comparing <em>LLM memory</em>, <em>RAG</em>, and <em>context engineering</em>, we can roughly understand them as follows: LLM memory is a research area that emerged before the agent paradigm was firmly established; RAG is a standardized methodology; and context engineering is a technical field centered on the context itself. Agent memory intersects with these areas in both application domains and research methods.</p>

<p>We wrote this chapter in response to a common <em>feeling</em>: that what memory is doing seems similar to xxx, that “isn’t this just xxx?”, that it is merely “old wine in a new bottle.” Some readers develop a bias against discussing memory itself, seeing it as storytelling or filler—“Even this can be forced into relevance?”</p>

<p>We do not avoid this, nor do we pretend it does not exist. We must acknowledge that overlap among these methods is objectively real, and that they are coupled and borrow from each other. Agent memory today is an expansive research topic covering multiple task domains and methodological families. It is exactly this fragmented, warlord-era landscape that creates the vague, half-understood impression among both insiders and outsiders. That is <strong>why</strong> we want to clarify things as much as possible—and use a framework to break this impasse.</p>

<p>We also want to <strong>set the record straight</strong> for memory. The real value of a research paper comes from a multi-dimensional, non-linear combination of key domains, core problems, elegant methods, solid experiments, careful analysis, and deep insights—ultimately reflected in genuine market signals such as discussion and citations. The memory field also has its share of low-quality work; we hope our framework helps readers quickly judge and save time, rather than getting lost in a fog of jargon. At the same time, truly meaningful papers should receive the recognition they deserve.</p>

<h2 id="taxonomy-at-a-glance">Taxonomy at a Glance</h2>

<p><img src="/images/memory-main.webp" alt="" /></p>

<p>As the survey subtitle suggests, we define three coordinate axes for agent memory—three lenses:</p>

<ul>
  <li><strong>Form</strong>: the form of memory, concerning its architecture and representation.</li>
  <li><strong>Function</strong>: the function of memory, indicating its responsibilities, purposes, and scenarios.</li>
  <li><strong>Dynamic</strong>: the dynamics of memory, a high-level methodological abstraction describing how memory evolves over time.</li>
</ul>

<p>The first two provide a fast way to locate where a memory work “sits,” making it easier to match with similar works and scenarios; together they form a 2D plane with nine quadrants. <strong>Dynamics</strong> adds a time dimension (the z-axis) that runs through all works, serving as a methodological template for understanding them. We expand on these three dimensions below.</p>

<h3 id="form">Form</h3>

<p><img src="/images/memory-forms.webp" alt="" /></p>

<p>We categorize memory forms into three major types based on where memory is stored and how it is represented: token-level, parametric, and latent.</p>

<p><img src="/images/memory-token-level.webp" alt="" /></p>

<p>The core feature of token-level memory is that, at inference time, it can be fed into the model as discrete tokens via retrieval or other mechanisms. It is <strong>explicit</strong>, <strong>external</strong>, and <strong>plug-and-play</strong>. Some readers may wonder why we use a compound adjective. We considered descriptions like <em>semantic</em> or <em>textual</em>, but those seem less suitable for multimodal settings. If we simply call it <em>external/explicit</em>, then other types would all become <em>internal/implicit</em> by contrast. While this aligns with cognitive science to some extent, in agent memory it can feel like an over-simplified “one-cut-fits-all” symmetry. (If you have better naming suggestions after reading Section 3, feel free to contact us.)</p>

<p>Token-level memory is not limited to vocabulary tokens; it can also include discretized elements such as visual tokens and audio frames. This form is clear, editable, and interpretable, making it naturally compatible with computational operations like retrieval, storage, routing, and conflict resolution—hence it is the most studied and the most broadly explored. Depending on relationships among tokens, it can be organized into different structures such as <em>1D</em>, <em>2D</em>, and <em>3D</em> layouts.</p>

<p><img src="/images/memory-params.webp" alt="" /></p>

<p>Parametric memory includes both <strong>internal</strong> and <strong>external</strong> parameters, where “internal vs. external” is defined with respect to a single base model.</p>

<ul>
  <li><strong>Internal parameters</strong>: tuning a model at different stages—pretraining, mid-training, or post-training—to introduce relevant knowledge and memory. This includes work on alignment and model editing.</li>
  <li><strong>External parameters</strong>: for example, converting external documents into LoRA modules and injecting them at inference time to mitigate knowledge conflicts, or introducing other auxiliary parameter structures.</li>
</ul>

<p><img src="/images/memory-latent.webp" alt="" /></p>

<p>Latent memory has become particularly popular this year. It is an intermediate form between explicit tokens and fully parametric memory. Its core carrier is the latent token: a dense vector that compresses discrete memory content while preserving more contextual information. It is not human-readable, but it offers higher information density. We further categorize it by origin into three types: <strong>generate</strong>, <strong>reuse</strong>, and <strong>transform</strong>.</p>

<p><img src="/images/memory-map.webp" alt="" /></p>

<p>Finally, different memory forms have their own characteristics, strengths, and weaknesses. Importantly, <strong>no form is universally optimal</strong>; everything depends on the application scenario. We dedicate <em>Section 3.4</em> to explaining how memory forms map to task settings.</p>

<h3 id="function">Function</h3>

<p><img src="/images/memory-functions.webp" alt="" /></p>

<p>Memory functions fall into three scenarios: <strong>factual memory</strong>, <strong>experiential memory</strong>, and <strong>working memory</strong>. These correspond to different goals and capabilities. Many systems are designed to span multiple goals/scenarios rather than being mutually exclusive.</p>

<p>(Yes—some readers will complain again that the third name is not symmetric with the other two. The author also hasn’t found a better, widely accepted term yet…)</p>

<p><img src="/images/memory-factual-mem.webp" alt="" /></p>

<p>Factual memory covers dialogue history, user preferences, events, world knowledge, and so on. From the perspective of human memory, it roughly corresponds to episodic memory and semantic memory, but in agent memory these two can coexist rather than being opposed. Its purposes include <strong>consistency</strong>, <strong>coherence</strong>, and <strong>adaptability</strong>:</p>

<ul>
  <li><strong>Consistency</strong>: stability of behavior and self-presentation over time; avoiding contradictions and arbitrary stance shifts.</li>
  <li><strong>Coherence</strong>: context awareness; maintaining topic continuity so responses form logically coherent dialogues.</li>
  <li><strong>Adaptability</strong>: personalizing behavior based on stored user profiles and historical feedback, gradually aligning responses and decisions with a user’s specific needs and traits.</li>
</ul>

<p>Because the content is extensive, we further divide factual memory into <strong>user factual memory</strong> and <strong>environment factual memory</strong>.</p>

<p><img src="/images/memory-exp-mem.webp" alt="" /></p>

<p>Experiential memory is strongly task-oriented: <em>I have a difficult task—how can I do better next time?</em> Therefore, it needs to store and organize historical trajectories, distilled strategies, and outcomes. Its goal is to enable continual learning and self-evolution for the agent. By maintaining a structured experience repository, an agent can follow a non-parametric adaptation path, avoiding the high cost of frequent parameter updates. By converting interaction feedback into reusable knowledge, it effectively closes the learning loop. We categorize it mainly into three types: <strong>case-based</strong>, <strong>strategy-based</strong>, and <strong>skill-based</strong>, plus hybrid designs that mix them.</p>

<p><img src="/images/memory-working-mem.webp" alt="" /></p>

<p>Working memory operates within a single trial: it supports higher-order cognition by selecting, maintaining, and transforming task-relevant information on the fly. This is closest to the concept of <em>working memory</em> in cognitive science. We define it as an active management mechanism. Much of it overlaps with context engineering research topics, but strictly speaking, the concept of working memory was proposed earlier.</p>

<p>Its goal is to manage memory for <strong>long-horizon agentic tasks</strong> within a limited context window. This is not merely about “infinite context,” but about forgetting: what matters, what is redundant, and what must be written down for later lookup. In limited working memory, only the most important content is retained—so attention is not wasted on irrelevant tokens.</p>

<h3 id="dynamic">Dynamic</h3>

<p><img src="/images/memory-dynamic.webp" alt="" /></p>

<p>Memory dynamics covers the full lifecycle of memory—from “emergence” to “mission completion.” In an earlier blog post written around September, the author summarized the agent memory workflow as “acquire–organize–use.” Here we offer a more elegant expression: <strong>formulation–evolution–retrieval</strong>.</p>

<p>Dynamics is not a classification axis like the previous two; it is an epistemic lens that reduces most agent memory work into these three core processes, helping you quickly grasp the essence. These three processes are tightly coupled: designs for each part are not independent and must be considered jointly with the others.</p>

<p><img src="/images/memory-formulation.webp" alt="" /></p>

<p><strong>Memory formulation</strong> emphasizes turning raw experience into information-dense knowledge (initial denoising), focusing on memory extraction and representation. It includes five major categories—this is one aspect that differentiates it from traditional LLM memory (“how to remember more”).</p>

<p><img src="/images/memory-evolution.webp" alt="" /></p>

<p><strong>Memory evolution</strong> focuses on the organization and updating between memories: integrating new and old memories to synthesize higher-level insights, resolve logical conflicts, and remove outdated data. This also distinguishes it from static RAG.</p>

<p><img src="/images/memory-retrieval.webp" alt="" /></p>

<p><strong>Memory retrieval</strong> focuses on when to search, how to search, and post-processing. This is the final step before memory enters the next round of reasoning. If formulation and organization are done well but retrieval fails, the system is still one step short—so the three parts are a single whole. This is not merely “tool calling,” but a shift from static search to a dynamic cognitive process. Ideally, an agent coordinates these components within a unified pipeline, approximating human-like associative recall to enable efficient access.</p>

<h2 id="resources">Resources</h2>

<p>We compiled benchmarks the community cares about for Memory / Lifelong / Self-Evolving Agents, as well as existing open-source memory frameworks and products, as references for readers.</p>

<h2 id="discussion">Discussion</h2>

<p><img src="/images/memory-rl.webp" alt="" /></p>

<p>Here we list future goals and directions that we find interesting and promising; each already has some related work for reference:</p>

<ol>
  <li>Memory Retrieval vs. Memory Generation: context-adaptive, multimodal, learnable</li>
  <li>Automatic memory management: breaking away from fixed workflows</li>
  <li>RL-integrated memory design: which memory dynamics can RL govern, and how to gradually remove unnecessary priors</li>
  <li>Multimodal memory: from multimodal to omni-modal</li>
  <li>Shared memory in multi-agent systems: how to communicate across heterogeneous agents</li>
  <li>World models: how memory can assist world modeling</li>
  <li>Trustworthy memory: the security and verifiability of memory itself</li>
  <li>Human-like memory: in which aspects it still differs from human memory</li>
</ol>

<h2 id="story">Story</h2>

<p>Unlike traditional lab-based collaboration and communication, the four core authors of this work were connected purely online: we met because of posts on Xiaohongshu. We are all new graduate students from the 2024–2025 cohort, with similar academic backgrounds, ages, and interests—and we immediately clicked.</p>

<p>Guibin Zhang served as the leading organizer, demonstrating exceptional leadership, decisiveness, and deep insight—absolutely among the best peers I have met. Yuyang Hu and Yanwei Yue are likewise outstanding researchers, doers, and thinkers; our discussions were filled with intense intellectual collisions and sparks of inspiration. Co-authors, senior PhDs, and faculty who participated treated this work with seriousness, rigor, and responsibility. We hope our final result can live up to the (somewhat) ambitious goals we set at the very beginning.</p>

<p>From the first meeting to final submission, this survey took roughly two months. Our division of labor was clear; communication was smooth; coordination was tight; and we iterated at high frequency. In the new era, cross-university, cross-organization, and cross-institution collaborations will become increasingly frequent and common. We believe that shared academic goals and interests are the strongest glue—and that truly enduring academic ideals will ultimately cross oceans and connect the world.</p>

<h2 id="references">References</h2>

<ul>
  <li><a href="https://arxiv.org/abs/2512.13564">Memory in the Age of AI Agents: A Comprehensive Survey</a></li>
</ul>]]></content><author><name>Shichun Liu, Dawning Road</name></author><category term="research" /><category term="memory" /><category term="agents" /><category term="survey" /><category term="LLM" /><summary type="html"><![CDATA[A unified taxonomy for agent memory along three axes — Form, Function, and Dynamics — and the story behind writing this survey.]]></summary></entry><entry><title type="html">Welcome to the Blog</title><link href="https://shichun-liu.github.io/blog/2025/12/welcome/" rel="alternate" type="text/html" title="Welcome to the Blog" /><published>2025-12-01T00:00:00+08:00</published><updated>2025-12-01T00:00:00+08:00</updated><id>https://shichun-liu.github.io/blog/2025/12/welcome</id><content type="html" xml:base="https://shichun-liu.github.io/blog/2025/12/welcome/"><![CDATA[<p>This is the first post on the blog. The goal here is a quiet, academic space for
notes, reading reflections, and longer-form writing that doesn’t fit on the
homepage.</p>

<h2 id="typography">Typography</h2>

<p>Body text uses a serif face for readability. Inline <code class="language-plaintext highlighter-rouge">code</code> is rendered with a
monospace font, and links carry a subtle underline.</p>

<blockquote>
  <p>Quotations sit slightly indented with a thin left rule — clear but not loud.</p>
</blockquote>

<h2 id="code">Code</h2>

<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">def</span> <span class="nf">fib</span><span class="p">(</span><span class="n">n</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
    <span class="n">a</span><span class="p">,</span> <span class="n">b</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">1</span>
    <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">):</span>
        <span class="n">a</span><span class="p">,</span> <span class="n">b</span> <span class="o">=</span> <span class="n">b</span><span class="p">,</span> <span class="n">a</span> <span class="o">+</span> <span class="n">b</span>
    <span class="k">return</span> <span class="n">a</span>
</code></pre></div></div>

<h2 id="math">Math</h2>

<p>Inline math: the Euler identity is $e^{i\pi} + 1 = 0$.</p>

<p>Block math:</p>

\[\mathcal{L}(\theta) = -\mathbb{E}_{x \sim p_{\text{data}}} \big[ \log p_\theta(x) \big]\]

<h2 id="footnotes">Footnotes</h2>

<p>A footnote reference<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup> looks like this.</p>

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1" role="doc-endnote">
      <p>And the note appears at the bottom of the article. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Shichun Liu</name><email>liusc2020@gmail.com</email></author><category term="misc" /><category term="meta" /><category term="notes" /><summary type="html"><![CDATA[A first post — testing typography, code blocks, and math rendering.]]></summary></entry></feed>