23 August 2025 v1.0
Preapred by Ying Session “130 – Work on Child1 Github, bugs and such things 23AUG2025”
Introduction
Short-term conversational memory refers to an AI agent’s capacity to remember and utilize recent dialogue context – typically within the current session or a short time span – to maintain coherence and continuity in conversationarxiv.orgarxiv.org. This is distinct from long-term memory (knowledge retained across many sessions or learned into model parameters)arxiv.orgarxiv.org. Robust short-term memory enables an agent to follow multi-turn discussions, recall what has been said, switch topics and later re-enter previous topics naturally, and preserve the conversational thread in a human-like way. Crucially, beyond factual recall, an effective memory system must capture symbolic cues, emotional tone, and social context from the conversation so that the agent’s responses remain socially coherent and contextually appropriate even as topics shift. Recent research emphasizes that human-like dialogue requires not only remembering facts, but also recalling how something was discussed – the style, intent, and emotional subtext – to truly maintain rapport over timela.disneyresearch.comla.disneyresearch.com.
In this report, we survey state-of-the-art memory architectures for LLM-based conversational agents, focusing primarily on short-term memory mechanisms (with ~20% attention to long-term memory integration where relevant). We highlight approaches from leading academic groups (e.g. Stanford, MIT) and industry labs (Anthropic, OpenAI, DeepMind, Meta) that enable an agent to juggle multiple conversation threads and re-engage with past context fluidly. Key themes include how top systems implement multi-threaded or braided memory (allowing flexible topic switching), how they manage short-term memory buffers and session context, how they tag and prioritize salient information (e.g. important motifs or emotional moments), and how short-term and long-term memories can work in tandem. We also identify emerging benchmarks designed to evaluate conversational memory (such as tests for referential coherence and topic switching), and we conclude with concrete recommendations for improving Child1’s memory—covering architectural enhancements, tagging schemes, and integration strategies with our existing modules (e.g. memory_core.py
, unified_context.py
, memory_buffers.py
, reflective_prompts.toml
). Finally, we propose a plan for a memory performance diagnostic suite in Child1, possibly a TOML-based internal benchmark, to continually assess and fine-tune the agent’s memory capabilities.
Memory Architectures in Modern Conversational Agents
State-of-the-art conversational agents combine large language models with auxiliary memory systems to extend their effective context and enable continuity. Two broad strategies have emerged: (1) extending the context window of the model itself, and (2) building external memory modules (often with retrieval or summarization) that supplement the fixed context windowarxiv.orgarxiv.org. The simplest approach, used by systems like OpenAI’s ChatGPT and Anthropic’s Claude, is to leverage very large context windows as a form of short-term memory. For example, Claude 2 introduced a 100k-token context window, meaning it can theoretically “remember” hundreds of pages of recent dialogue or documentation by including it all in the promptanthropic.com. This brute-force approach (also seen in GPT-4’s 32k context option) extends the short-term memory capacity significantly, allowing the model to directly attend to a large conversation history. Anthropic reported that expanding Claude’s context to 100k tokens let it digest an entire novel in a single prompt and retain that context in conversationanthropic.com. However, extremely long contexts come with steep computational costs and can still struggle with effectively utilizing the information; recent research finds that beyond a certain length, models may not reliably use the additional context without specialized techniquesarxiv.orgarxiv.org. Thus, frontier systems often pair large contexts with more structured memory mechanisms.
External memory modules are a more architecture-driven solution. These systems explicitly store dialogue history or facts in a database or memory store and retrieve relevant pieces when needed, rather than keeping everything in the prompt at all times. A prominent example is Meta AI’s BlenderBot 2.0/3.0 series, which introduced a long-term memory component for open-domain chat. BlenderBot 3 (175B model) was designed with modules that write summaries of conversation turns to a long-term memory and later fetch them contextuallyar5iv.labs.arxiv.orgar5iv.labs.arxiv.org. Specifically, after each user turn, the bot generates a “memory snippet” (a summary of salient info from that turn) and stores it in a databasear5iv.labs.arxiv.org. On each new query, the system decides whether to retrieve something from long-term memory (and/or perform an internet search) before respondingar5iv.labs.arxiv.orgar5iv.labs.arxiv.org. If a memory is deemed relevant, it’s fetched and prepended to the model’s context (with special tokens indicating it is a retrieved memory) for the final response generationar5iv.labs.arxiv.org. This modular approach – generate memory, decide to use memory, retrieve memory, then respond – was shown to improve the agent’s ability to maintain continuity over long conversationsar5iv.labs.arxiv.orgar5iv.labs.arxiv.org. In effect, BlenderBot’s architecture gives it a form of working memory (recent dialogue in the immediate context) plus an extendable long-term store for facts it learned earlier (e.g. user’s name, preferences, or events from prior conversation turns).
Stanford’s Generative Agents project (Park et al., 2023) provides another influential architecture for memory in LLM-based agents. These agents (simulated characters in a sandbox environment) record every experience or observation to an append-only memory stream (a journal of events in natural language)sites.aub.edu.lb. Because this record grows without bound, the system uses a retrieval model to pull up relevant memories on the fly based on the agent’s current situation. Notably, Park et al. emphasize that the retrieval is not based solely on recency; it triages memories by relevance and importance as wellsites.aub.edu.lb. In their architecture, each memory entry is annotated with a dynamically computed importance score (how salient or significant that event is to the agent)sites.aub.edu.lb. When the agent needs to act or respond, a relevance search (using embedding similarity) is combined with filtering by recency and minimum importance threshold, ensuring that the agent recalls not just the latest events but the most important relevant facts (e.g. a promise made yesterday, or a long-term goal)sites.aub.edu.lb. This allowed their agents to exhibit human-like continuity – for example, an agent remembered a new acquaintance’s personal project later and asked them about it the next day, even though many other events happened in betweensites.aub.edu.lb. The generative agents system also features a reflection mechanism: overnight, agents automatically summarize and distill high-level insights (“memories of memories”) from the day’s raw experiencessites.aub.edu.lb. These reflections (which might be things like “I noticed that I often felt lonely at lunch” or “Alice might be interested in my project”) become part of the agent’s longer-term memory and influence future behavior in a more abstract waysites.aub.edu.lb. The combination of episodic memory (experiences) and reflective memory (lessons or themes) is at the cutting edge of memory architectures, enabling both granular recall and broader self-consistency in agent behavior.
Another frontier approach comes from efforts like MemGPT (Berkeley, 2024), which treat the LLM as an operating system managing multiple tiers of memoryarxiv.orgarxiv.org. MemGPT introduces the analogy of virtual memory in computing: it uses the LLM’s tool-use abilities (via function calling) to “swap” information between the limited context window (analogous to RAM) and a virtually unbounded external store (analogous to disk)arxiv.orgarxiv.org. Concretely, MemGPT will offload less immediately needed conversation content to external storage and bring it back (“page it in”) when required, thereby giving the illusion of an infinite memory to the userarxiv.org. It employs a combination of a queue for recent turns, a vector-search memory for older content, and LLM-based controllers that decide when to read/write from each storear5iv.labs.arxiv.orgar5iv.labs.arxiv.org (much like BlenderBot’s modules, but generalized). Early results show that MemGPT can handle multi-session dialogues (and document analysis) far beyond the base model’s context length, by intelligently managing what content stays in the prompt. This design echoes a general trend: hybrid architectures that treat the LLM as just one part of a larger cognitive system with memory controllers, retrieval modules, and knowledge bases. DeepMind and others have also explored dedicated memory-read/write networks appended to LLMs (e.g. the RET-LLM model introduces a learnable memory unit for reading and writing facts during generation)arxiv.org. These methods move beyond using the LLM’s context window alone, instead giving the model an explicit “scratchpad” or external memory it can query – a reminiscent concept to the older Memory Networks and Neural Turing Machines (Weston et al. 2015; Graves et al. 2016), but now applied on top of powerful LLMs.
Summary: Modern systems achieve short-term memory in conversation through a mix of prompt engineering (long contexts) and architectural augmentation (external memories with retrieval). Large labs have converged on the idea that a memory module is essential for long, coherent conversationssites.aub.edu.lbar5iv.labs.arxiv.org. For example, Meta’s BlenderBot augmenting an LLM with a retrieval memory, Stanford’s generative agents coupling GPT-3.5 with a structured memory + reflection loop, and Anthropic/OpenAI pushing context lengths while likely exploring retrieval augmentation too. The best results seem to come from composite approaches: a base LLM handles immediate linguistic coherence, while a memory system (often employing vector embeddings and search) handles when and what to recall from earlier in the dialogue or from prior sessions. Next, we examine how these architectures specifically tackle the challenges of multi-topic conversations and maintaining socially coherent memories.
Multi-Threaded and Braided Conversational Memory
Human dialogues are rarely linear or single-threaded; we often start a topic, digress to another, then later circle back to the original subject. A competent AI agent needs to handle these conversation thread switches gracefully – remembering the state of each topic when it was last discussed and resuming it appropriately. This is challenging for vanilla LLMs, which operate on the last N tokens of context as a flat history. In fact, recent research shows that if an LLM is prompted with a conversation history containing a task-switch (a sudden change of topic or objective), its performance can degrade significantly on the new task due to interference from the earlier contextarxiv.orgarxiv.org. In other words, irrelevant details from the previous topic can confuse the model on the current query. The problem of task interference underscores the need for architectures that isolate or label different dialogue contexts rather than naively gluing all turns together.
Leading systems address multi-threaded conversations in a few ways. One approach is segmentation of context by topic: splitting the dialogue history into chunks associated with distinct topics or goals, and fetching only the relevant chunk when that topic is re-engaged. For example, Stanford’s generative agents use embedding-based retrieval which naturally brings up memories semantically related to the current queryarxiv.org. If an agent had two ongoing “threads” (say, planning a party and discussing a work project), mentioning the party will retrieve prior content about party planning (invitations sent, etc.), whereas the work project details won’t surface until that topic comes up again. In essence, this behaves like automated context separation, since the memory store can be queried by theme. Similarly, Ong et al. (2024) extend this idea with topic-based memory retrieval, ensuring the agent accesses the subset of memory relevant to the active topicarxiv.org. Another system, MemoryBank (Zhong et al., 2023), keeps an external memory indexed by vector embeddings (using FAISS) so that only semantically related past dialogue bits are drawn in at any given timearxiv.org. These retrieval-based strategies prevent old, off-topic information from cluttering the agent’s working memory, thereby mitigating interference.
Another approach is explicit threading by conversation ID or persona – useful in multi-party settings. For instance, Meta’s CICERO (the Diplomacy-playing agent) had to converse separately with 6 different human players in the same game. It essentially maintained a distinct dialogue history with each partner to avoid mixing up contextsreddit.comreddit.com. The Cicero system would keep track of commitments and past statements per interlocutor, so that if it switched to talk to Player A, it only drew upon the memory of chats with A (and the game state), not what was discussed with Players B or C. This is a form of multi-threaded memory by design: separate memory buffers or channels for each conversational partner or topic. While Child1’s use-case might not involve simultaneous different partners, a similar principle can apply to topic threads – e.g., tagging memory entries with a topic label (“WorkProject”, “VacationPlan”) and filtering retrieval by that label when context shifts. Indeed, a topic model or clustering can automatically assign conversation turns to latent topics, and the agent can then reactivate a cluster when needed. Disney Research experiments on long-term social chat found that explicitly modeling the topic of past interactions and signaling when the agent is recalling that topic can make the interaction more naturalla.disneyresearch.com. For example, the agent might say, “Speaking of your vacation – last time you mentioned you went scuba diving, how was that?” thereby clearly returning to an earlier thread and cueing the userla.disneyresearch.com. This kind of explicit context switch signal is recommended to let the user know the agent remembers (more on social implications in the next section).
Some architectures implement a stack or buffer system for recent contexts that can be popped and pushed as threads change. Researchers have proposed a “conversational stack” where the current topic context is on top of the stack; if a new topic comes, you push a new context (temporarily setting aside the old), and later pop it to resume the previous topicarxiv.orgarxiv.org. An example is DiagGPT (Cao et al., 2024) which uses a stack to store recent interactions in multi-agent dialogues, effectively pausing one interaction while another occursarxiv.org. In simpler terms for a single agent, one could imagine Child1 storing a snapshot of the dialogue state when a topic is suspended, and restoring it later. In practice, our system could simulate this via memory: when a topic is dropped, we could summarize or mark the point where it was left off and save that as a “topic checkpoint” memory. When the user brings the topic back (“Anyway, about that project…”), the agent can retrieve the checkpoint memory to quickly regain context (e.g. “We had discussed the budget and timeline last”) before continuing.
To implement multi-threading, retrieval-based memory is a powerful tool. It inherently filters by relevance. As noted, the “memory stream” approach in Park et al.’s generative agents served a dual purpose: continuity and thread management. Because they combine recency, semantic similarity, and importance in retrievalsites.aub.edu.lb, an interrupted topic that becomes relevant again will score highly on similarity (and still be in memory), bringing back the pertinent details, while unrelated content stays out of the way. This is a braided memory: all experiences exist in one store but the braids (threads) get pulled out as needed via similarity. Our Child1 could leverage a similar technique by using an embedding-based search over past conversation chunks whenever a new user query arrives. The top-$k$ similar snippets (with some decay for very old ones unless strongly relevant) can be included in the context. If the user explicitly references something (“What was the recipe you gave me before?”), a keyword or embedding search can pinpoint that earlier part of the conversation even if it’s outside the recent buffer. This dynamic retrieval is already common in open-domain QA; here we apply it to dialogue memory.
Finally, it’s worth noting that managing multi-turn threads is not just a memory issue but also a planning/executive control issue. Some advanced agents maintain an explicit dialogue state or plan that tracks active goals. For example, a task-oriented system might have slots for each subtopic and fill them as conversation progresses. While our focus is not task-specific dialogue, the general idea of having a high-level representation of “what topics are on the table” can guide memory retrieval. An agent that internally knows there are two unresolved topics can ensure it doesn’t forget one entirely. In our architecture, modules like desire_state.toml
or people_social/identity_manager.py
might store intentions or relationship context that persist across twists in conversation. Ensuring that session state persists (e.g., if the user asked the agent to remind them about something later, that intention should be remembered even through intervening topics) is key to a human-like multi-threaded dialogue.
Recommendation: To better handle braided conversations, Child1 should incorporate topic-aware memory indexing. We can enhance memory_core.py
to tag each memory entry with one or more topic keywords or an embedding vector. The memory_buffers.py
(short-term buffer) could maintain separate queues per identified topic thread, or at least store a topic label alongside each message. Then unified_context.py
(or the mechanism assembling the prompt) can selectively pull from the buffer or long-term store based on the current conversation focus. When a new user message arrives, we could use a simple classifier or keyword matching to determine if it’s continuing a previous topic or starting a new one. If it’s a continuation, fetch the last few turns of that topic; if new, start fresh (but still keep the old context stored in memory for potential resumption). This way, the model isn’t always fed the entire conversation history which might confuse it with irrelevant detailsarxiv.org. Instead, it sees a focused slice of context relevant to the task at hand, closely mimicking how humans recall only what’s pertinent when a subject comes up.
Managing Salience, Speaker Context, and Emotional Memory
Not all pieces of conversation are equally important to remember. Memory salience – the idea that certain moments in dialogue deserve more weight in memory – is a crucial consideration. Humans tend to remember emotionally charged or significant interactions far longer than trivial chit-chat. Likewise, an AI agent should differentiate between, say, a casual greeting and the user revealing a painful personal story or a critical piece of information. Several research efforts incorporate salience or importance scoring in AI memory. As mentioned, Park et al. had their agents rate each memory on a numerical importance scalesites.aub.edu.lb. This influenced which memories were later reflected on or more readily retrieved. Another approach is Self-Controlled Memory (SCM) by Liang et al. (2023), where a memory controller network learns to activate or ignore particular memory entries based on contextarxiv.org. The controller essentially filters the history, imitating a focus of attention on salient bits. In practice, it mirrored how conversation systems might selectively retain recent informative utterances while discarding or compressing less useful onesarxiv.org.
For Child1, we can implement salience management by tagging memories with a priority level. For example, memory_core.py
could analyze each user utterance (perhaps via a small language model prompt or heuristic rules) to detect things like: does this contain a person’s name, a date/appointment, a strong sentiment, a request or promise? If yes, mark that memory as high salience. These could be stored in a separate queue (e.g., an important memory buffer that is always considered for long-term storage). In our data directories, we have memory/episodic/
vs memory/semantic/
etc., which might already be structured for different memory types. Perhaps high-salience items go to a semantic store or get a special “echo signature”. Indeed, the presence of echo_processing/echo_signature.py
and echo_processing/motif_resonance.py
suggests our system is already capturing recurring motifs or personal symbols. We should leverage that: if the user keeps mentioning “fear of failure” or a particular story, the motif resonance could flag this as significant and we ensure it remains accessible.
Speaker context is another facet: remembering who said what and maintaining perspective. A common failure in simpler bots is confusing the user’s facts with the assistant’s or mixing up user profiles between sessions. Systems like persona-based chatbots explicitly store a profile of the user vs the assistant. For example, Meta’s BlenderBot 1 introduced a concept of personas (a set of profile sentences for each speaker) and could leverage those in conversation (e.g., “You told me earlier you are a teacher”)ar5iv.labs.arxiv.orgar5iv.labs.arxiv.org. Our Child1 has modules like people_social/identity_manager.py
, which likely manages identities and perhaps persistent traits of characters (the user, the AI itself). We should ensure short-term memory integrates with that: if the user mentions their birthday or a preference in one session, it should be saved (perhaps in people.py
or a user profile store) and reloaded in future sessions (long-term memory usage). At minimum, within a single conversation, the agent should keep track of what the user has said (beliefs, feelings, facts) separately from what it has said or suggested. This can be done by adding metadata to memory entries (speaker = user/assistant). Then we can design prompt context such that the assistant does not accidentally regurgitate something the user told it as if the assistant knew it inherently. Likewise, if the user later asks “Do you remember what I told you about my hometown?”, the agent can search specifically for user-spoken content in memory related to hometown. A well-structured memory (perhaps splitting user memory and system memory) can facilitate that. Some research chatbots maintain a user knowledge base vs a system knowledge base. We could implement a simple version: e.g., after each turn, facts about the user (self-disclosures, preferences) are extracted into a dictionary or list (memory_core
could append to a user_facts
list). Then those facts can be injected via the prompt or used to answer questions about the user.
Emotional and socially coherent memory is a special priority for us (as per the problem definition). This means the agent should recall not just factual content but the emotional undercurrents of prior interactions. If the user was sad in the last session and the agent consoled them, the next time they talk, it’s advantageous for the agent to recall that and perhaps gently follow up (“Hi, I hope you’re feeling better since we last spoke about [the issue].”). Emotional continuity greatly improves the sense of caring and presence. Academic work on long-term human-agent interaction stresses techniques like explicitly recalling shared history to build rapportla.disneyresearch.comla.disneyresearch.com. Campos et al. (2018) found that an agent that brings up past shared experiences can maintain a more coherent social relationship over 14 days of interaction, though it’s challenging to get rightla.disneyresearch.comla.disneyresearch.com. They highlight that the agent should sometimes signal its recall (like “You mentioned X before”) which not only shows memory but also checks if the user is willing to revisit that topicla.disneyresearch.com. We should incorporate these insights. Concretely, Child1’s memory could tag emotionally-laden exchanges (perhaps via sentiment analysis or simply detecting exclamation points, sadness keywords, etc.). These could be stored with an “emotion” tag. When generating a response, the agent’s prompt can include not just what happened but how the user felt. For instance, instead of just logging “User’s dog died last week,” a good memory entry would be “<sad> User shared that their dog died last week and they were very upset.” If our memory store captures that, the agent’s future responses can exhibit sensitivity (e.g., avoiding overly cheerful unrelated topics, or gently checking in).
One technique to achieve emotional continuity is using motif tagging as mentioned. If a motif is an emotionally relevant theme (say “loneliness” keeps emerging in the user’s statements), the system can label it and perhaps have prepared strategies or responses for it (maybe tied into reflexes/you_matter.toml
or other empathy reflexes). Motif resonance can also help the agent create callbacks – e.g., if earlier the user used a particular metaphor or phrase, the agent recalling that phrasing later can create a powerful sense of continuity. It’s similar to an inside joke or a shared reference in human conversation, which strengthens social bonds. Technically, we could implement this by storing verbatim quotes or keywords from the user when they say something distinctive, and if similar context arises, intentionally reuse or refer to those. For example, if the user once said “I feel like I’m stuck in a rut, like a hamster on a wheel,” the agent could later say “Some days we really are that hamster on a wheel, aren’t we? But you’ve been making progress…”. This shows the agent remembers the user’s way of describing their feeling – a very human-like behavior.
Recommendation: Child1 should integrate an emotionally aware memory pipeline. This could involve: after each user message, run a quick sentiment analysis (we might use a simple classifier or regex for now, or even the LLM itself in a reflection prompt: “How is the user feeling here? What is the user’s emotional state and why?”). Store that alongside the content in memory (e.g., as [emotion: sad] User: ...
). We should also consider memory consolidation with respect to emotion: perhaps at the end of a session, write a brief summary from the assistant’s perspective: “The user was mostly stressed today about work, but felt better after talking about it.” This could be done via reflective_prompts.toml
where we have a template for end-of-session reflection. That summary goes into long-term memory (maybe in data/memory/consolidations/
). Next session, the agent can load the last consolidation and greet accordingly (“Hi, I recall you had a stressful time at work last week. How are things now?”). This aligns with how generative agents reflected and carried forward their “feelings”sites.aub.edu.lb.
Speaker context should be handled by ensuring that session awareness includes who the user is (their name or ID, any known traits). If not already, we might have a user-specific memory file (some systems use a user ID to load persistent memory). If Child1 has multiple users or recurring users, tying memory to identity is critical (we wouldn’t want to tell User A something User B said!). Given we operate presumably for one user here, we still maintain a persona memory for that user distinct from system knowledge.
In summary, by prioritizing salient memories (important facts, emotional moments) and incorporating social context (like who said what, and the tone in which it was said), we can greatly improve the fidelity of conversational re-entry. The user will feel “understood” when the agent remembers both the facts and the feelings from prior interactions. This moves beyond purely factual retrieval and into the realm of what the prompt described as symbolic-social-emotional fidelity. Our memory system design should explicitly serve this goal.
Benchmarks and Evaluation of Conversational Memory
The field has begun developing benchmarks to quantitatively evaluate how well an agent remembers and utilizes past conversation. Traditional dialogue metrics (BLEU, etc.) don’t capture this. Instead, new long-context dialogue benchmarks focus on memory retention, consistency, and coherence across many turns or sessions. For example, LongEval (Leng et al., 2024) is a test suite specifically to probe an LLM’s performance as conversation length increasesarxiv.orgarxiv.org. It might provide dialogues of various lengths and see if the model can answer questions that require remembering details from early in the conversation. Similarly, SocialBench (Chen et al., 2024) evaluates open-domain chats up to 40+ turns, measuring whether the agent maintains persona consistency and recalls prior facts over those long dialoguesarxiv.org. An even more extreme benchmark is LoCoMo (Long Conversational Memory) by Maharana et al. (2024), which spans 32 sessions and 600+ turns of dialogue with the same user to test long-term memory capabilitiesarxiv.org. In LoCoMo, the agent is basically having a relationship with a user over many sessions, and the evaluation checks if it remembers things from early sessions in later sessions (e.g., Does it recall the user’s preferences mentioned days ago?)arxiv.org. These benchmarks are directly addressing the short-term vs long-term memory synergy: can the system carry information beyond the immediate session into future interactions?
Another kind of evaluation targets symbolic recall and reference resolution. For instance, a test might introduce a piece of information under one context and later refer to it indirectly to see if the model catches the reference. Big-bench and other evaluation suites have tasks like TriviaQA conversational or specially constructed “who is X” after long text. There’s also interest in reference resolution across turns (e.g., the Winograd schema in dialogue form) to see if the model knows who/what a pronoun is referring to based on conversation memory. Ensuring the model doesn’t confuse which person did what in a story told over multiple turns is another angle of memory quality.
Additionally, some benchmarks examine consistency: If a user says something and later the agent is asked the same thing, does it respond consistently? This touches on memory: the agent should not contradict itself or the user if it remembers prior answers. The AgentBench (Liu et al., 2023) initiative, cited in a surveyarxiv.org, calls for metrics on how effectively agents retain and use information across turns. This includes checking for self-contradiction or forgetting. For example, an agent might be asked to remember a code word given early and use it as a password later; forgetting that would fail the test.
Right now, evaluation often still involves human judgment – e.g., having annotators check if the agent’s response appropriately reflects the conversation history. Some automated metrics exist: e.g., measure how often an agent’s response contains entities that appeared in the history (repetition might indicate memory use, though also risk of parroting). Another metric: embedding-based coherence – compute similarity between the current response and earlier context to see if relevant content was included. But these are indirect. The emerging benchmarks mentioned (LongEval, SocialBench, LoCoMo) are more direct: they have specific questions or tasks that require memory (like “What is the nickname I told you my mother calls me?” after a long dialogue).
For our purposes, setting up an internal benchmark for Child1’s memory is extremely useful. We can draw inspiration from these works. For example, we might script a 50-turn conversation in which at turn 5 the user shares a random fact (“My library card number is 12345” or “I hate mushrooms on pizza”) and then at turn 45 ask the agent, “By the way, what number did I say my library card was?” or “Remember my pizza preference?” A correct answer demonstrates memory retention. We can include thread-switching scenarios: e.g., topic A, then B, then back to A and ask a question – does the agent pick up where it left off in A or does it get confused? We might also test emotional memory: e.g., user says in turn 10 “I’m feeling really down today”, then in turn 30 agent should not suddenly act as if the user is happy – perhaps even check if agent follows up, “Are you feeling any better now?” which would be ideal. Some benchmarks like ACL 2023’s “evaluating long-term memory” highlight exactly these – the Maharana et al. work created a dataset of dialogues with periodic memory challenges embeddedarxiv.org.
The survey by Guan et al. (2025) notes a gap in standardized memory evaluation and calls for more robust, standardized benchmarks that reflect realistic usagearxiv.orgarxiv.org. So we are on the cutting edge by devising our own internal tests. In absence of an official benchmark, a TOML-based test suite for Child1 could enumerate scenarios with expected outcomes (essentially unit tests for memory). Each test could have a scripted dialogue and a check – for example, “Test1: Given the user provides fact X at turn Y, when asked at turn Z, the assistant’s reply should contain X.” Or “Test2: After a topic switch, agent should not mention Topic A unless prompted.” This can run offline and produce a report of passes/fails. Over time, as we tweak memory algorithms, we can see improvement on these internal metrics.
Recommendations for Child1’s Memory System
Building on the above insights, here are specific recommendations to enhance Child1’s short-term conversational memory, with references to our architecture components:
-
Layered Memory Buffers: Implement a hierarchy of memory buffers: recent buffer for the last few turns (already in
memory_buffers.py
perhaps), and a semantic memory store for older content. After each user turn, summarize or chunk the exchange and store it in a vector-indexed memory (using an embedding model) in ourdata/memory/semantic/
orindices/
directory. This aligns with the retrieval-augmented approach used by Park et al. and MemoryBankarxiv.org. We likely have some of this sincememory/indices
exists. Ensure thatmemory_core.py
has methods to query this semantic store by similarity. Then, integrate this in response generation: on each new prompt, usememory_core
to retrieve top relevant past segments (if any) and include them in context (perhaps viaunified_context.py
). This will allow Child1 to recall arbitrarily old info when relevant, instead of relying purely on the fixed windowsites.aub.edu.lbarxiv.org. -
Topic and Motif Tagging: Leverage the motif detection (from
motif_resonance.py
) to tag memories with topics. For example, if our system identifies a motif “career” vs “family”, label memory entries accordingly (maybe add a field in the memory TOML or use a simple hashtag like #career in the stored text). We can maintain a lightweight topic index: a mapping from topic -> list of memory entry IDs. When the conversation shifts topic (we could detect via keywords or sudden change in motif), we can quickly pull up the last few entries of that topic. This would implement a form of braided memory, ensuring smooth re-entry into old threadsreddit.comarxiv.org. We should also usespeaker_context.py
outputs: it might contain info like current topic of conversation or context about the speaker. Those signals can feed into memory retrieval decisions (for instance, ifspeaker_context
says “User is asking a follow-up question about [TopicA]”, we retrieve [TopicA]-related memories). -
Salience and Importance Scores: Integrate an importance scoring mechanism in
memory_core.py
. When adding a memory, evaluate its importance. A simple heuristic: if the user’s message contains a strong sentiment, a personal fact, a named entity, or a direct request for later, mark it important. We can store animportance: High
flag with it (in the memory TOML, etc.). The Huawei survey and Park’s work both show the value of separating short-term memory into what’s likely to be needed vs noisesites.aub.edu.lbarxiv.org. Then, bias the retrieval to include high-importance memories more often, even if slightly less similar. Also, perhaps keep important memories always in a small context window (e.g., we could prepend a short list of “Key facts: …” to the prompt for the model to always keep in mind, updating it as needed). This is analogous to systems that keep a persona or facts list in every prompt (OpenAI’s system messages often contain persistent instructions or info). -
Session Awareness & Long-Term Memory: Use
memory_core
in conjunction with a persistent store (files indata/memory/
that survive across runs) to load long-term memories at session start. For example, when Child1 (re)starts or a new session begins, load that user’s profile and recent consolidated memories (perhaps fromconsolidations/
orarchive/
). Inject that into the conversation context as background. This could be done throughunified_context.py
by prepending a system message like “(The user previously shared: …)” or by warming up the model’s weights via a hidden turn. This way, even if short-term memory was flushed, important long-term facts are reintroduced. Our architecture already separates personal memory vs system (the directories suggest that), so it might be a matter of ensuring core identity (like user name, important past events) is fetched viacore_identity_loader.py
or similar. -
Reflective Memory Consolidation: Continue developing the reflection framework (
meta_reflection/reflect_on_simulation/
etc.) to periodically summarize and analyze memories. We can schedule a reflection trigger (maybe every N turns or when conversation is idle) to run prompts fromreflective_prompts.toml
. For example, a reflective prompt might be: “In one sentence each, list any unresolved questions or commitments from today’s conversation” (so the agent notes, say, “I promised to send a recipe later.”). Those reflections can be stored in a quick-access file (likememory/staging/
ormemory/wisdom/
). Next time, the agent can be reminded of them (so it can proactively follow up, e.g., “I have that recipe for you now, as I promised.”). Reflection can also compute emotional or social state summaries (as discussed earlier, summarizing user mood trends, etc.). These high-level memories help maintain social continuity beyond raw detail recallsites.aub.edu.lb. -
Explicit Recall Cues in Dialogue: Train the agent (via prompt style or even fine-tuning if possible) to acknowledge memory usage naturally. For instance, use phrases like “You mentioned that …” or “Last time we spoke, I remember …”. As noted by Campos et al., explicitly referencing past interactions can enhance rapport, but it must be done correctlyla.disneyresearch.com. We should ensure the model’s prompt encourages this behavior when appropriate. Possibly our
prompt_builder.py
can include template lines that encourage using memory, such as: “The assistant should recall relevant past details. If using a detail from memory, preface it subtly (e.g., ‘I recall you said…’).” This will help the agent not only use memory but also signal to the user that it’s doing so (which increases the user’s confidence that the AI cares and listens). -
Avoiding Memory Pitfalls: Ensure that memory retrieval doesn’t cause the agent to confuse past and present. One risk of giving an agent a lot of memory is it might treat an old context as current. To mitigate this, we can add timestamps or phrasing to retrieved memory: e.g., prepend “[From earlier conversation:]” or have the assistant phrase it as past (“Back then, you felt X.”). This clarity was recommended in Disney’s study, where failing to distinguish past events caused weird responsesla.disneyresearch.com. So our unified context assembly should mark old memory clearly (we might format it as a system message or a quote the assistant remembers).
With these implementations, tied into our existing modules, Child1 can achieve a state-of-the-art short-term memory system: one that remembers salient facts, tracks multiple topics, and stays sensitive to the user’s emotional and social context. The use of retrieval and reflection ensures it’s not limited by context length, and careful tagging and prompting ensure the model uses memory effectively and appropriately.
Proposed Memory Performance Diagnostic for Child1
To verify and continually improve these memory capabilities, we propose creating a memory performance diagnostic suite. This could be a collection of simulated dialogues and checks, defined in a structured format (for example, a TOML or JSON file) for easy maintenance. Each test scenario would consist of a scripted sequence of user and assistant turns, designed to challenge a particular aspect of memory, along with expected outcomes or evaluation logic.
Design of the Diagnostic:
Each test case in the TOML could have fields like scenario_name
, turns
(list of user/assistant utterances), and checks
. The turns would be the conversation script. We could use the actual Child1 system in a non-interactive loop to play the user side and capture the assistant’s responses. The checks would then specify what to look for in the assistant’s responses to consider the test passed. For example:
-
Test 1: Factual Recall (Short-Term): The user tells the agent a specific fact (e.g., a number, name, or code) in turn 2. In turn 6, the user asks a question that requires recalling that fact (“What was the number I gave you?”). Expected: The assistant’s reply in turn 6 should contain that exact number. The check might be a simple substring match or regex on the assistant’s output for that number. This tests basic short-term recall within a session. It’s akin to a simplified LongEval mini-challenge.
-
Test 2: Pronoun Coreference: The user narrates a story involving multiple characters (Alice and Bob) over several turns. Later, the user asks, “Who was it that loved the guitar?” The correct answer depends on remembering that, say, Alice was the guitarist. The check would validate the assistant names the correct character. This tests memory of narrative details and ability to resolve references using conversation memory.
-
Test 3: Topic Switching: The conversation starts on Topic A, then the user abruptly switches to Topic B, then after a while goes back to Topic A. For instance: Talk about movies (Topic A) for a few turns, switch to cooking (Topic B) for a few, then user asks a question about the previously discussed movie. The assistant should remember details from the movie discussion despite the intervening cooking talk. The check here might be that the assistant’s answer references a movie name or detail mentioned earlier in Topic A. This tests the braided memory capability (multi-thread management).
-
Test 4: Cross-Session Memory (Long-Term): Simulate an end of a session and start a new session (this could be done by re-initializing the assistant state except for long-term store). In “Session 1”, user shares a personal fact (“My birthday is October 12th”). End session. In “Session 2”, user asks “Do you remember when my birthday is?” The assistant should retrieve the stored info from long-term memory. The check is straightforward: does the assistant output “October 12th” or not. This will test whether our long-term memory integration is working (requires that our system saved and reloaded that info).
-
Test 5: Emotional Continuity: During the conversation, the user’s emotional state changes or is expressed (e.g., user says “I’m feeling very anxious about my exam”). Later, perhaps after discussing something else, the user says, “Anyway, I should go study.” We’d expect an empathetic agent with memory to respond with awareness like “Alright, good luck on your exam – and try not to worry too much, you’ve got this!” (showing it remembered the anxiety about the exam). The check could search the assistant’s final reply for an empathetic phrase or a reference to the exam anxiety. This is trickier to automatically evaluate, but even a keyword like “good luck on your exam” or “don’t worry” might indicate success. Alternatively, a human-in-the-loop or a simple flag whether the agent referenced the exam could suffice. This scenario tests that the agent carries over emotional context.
-
Test 6: Unnecessary memory injection (Negative test): We can also include tests to ensure the agent doesn’t misuse memory. For instance, if the user switches topic, check that the agent doesn’t confusingly bring up the old topic out of context. Or if the user’s last question is answerable without long-term memory, ensure the agent doesn’t randomly dredge up unrelated past details (which could annoy the user). Such checks might involve making sure the assistant’s answer is on-topic given the last user utterance. These are a bit harder to quantify, but we could for example ensure that if a conversation about cooking suddenly goes to math homework, the assistant’s response about math does not mention cooking terms unless prompted.
We envision running these diagnostic scenarios in an automated way (perhaps as part of our test suite in tests/
directory). The CLI tool could read the TOML, loop through scenarios, feed the conversation turns to Child1 (possibly with deterministic settings or using a stub model for consistency), and log whether each check passed. Initially, we might run it manually and inspect outputs, but eventually this could be integrated into a dashboard that shows “Memory Test: 8/10 passed” with details. This will give us direct feedback on improvements: e.g., if we deploy a new memory retrieval mechanism, we’d hope to see previously failing tests (like cross-session recall) now pass.
Notably, this internal benchmark aligns with the emerging academic benchmarks. Our Test 3 and 4 mirror what SocialBench/LoCoMo do (long dialogs, memory across sessions)arxiv.org, and Test 1 and 2 are fundamental sanity checks for short-term memory. By having this instrumentation, we ensure our changes to memory_core
or context handling actually yield observable gains in memory behavior. Over time, we can expand the suite with more nuanced cases (for example, testing if the agent remembers the tone in which something was said – a very advanced capability, possibly by checking if the agent’s phrasing changes appropriately).
To implement the diagnostic, we can utilize our existing testing framework (we have tests/test_memory_core.py
etc., which could be extended or new ones added). A TOML format is convenient for non-programmers to add new scenarios – e.g., a product manager could write a scenario in TOML and have the system parse it. Each turn can be a string with a designated speaker (user or assistant). The checks might need some lightweight scripting (regex or equality checks), which could be encoded in a limited expression language or just hardcoded in Python after loading the TOML. Reporting could be to console (CLI) and possibly to a log file that a future web dashboard reads.
Example (conceptual TOML):
This illustrative example shows how we might encode scenarios. The actual implementation may differ, but the idea is clear: simulate, then verify.
By putting this diagnostic in place, we create a feedback loop to guide development. Every time we adjust our memory strategy (say we tweak the retrieval threshold or the summary length), we can run these tests to ensure we didn’t regress and ideally to see new passes. It will also help catch corner cases where the agent might be overusing memory (some tests intentionally check for that). In essence, we are crafting a mini Memory QA for our agent, akin to unit tests but for cognitive behavior.
Conclusion
Short-term conversational memory is a linchpin of truly natural dialogue agents. Our investigation shows that the frontier of this field marries insights from cognitive science (working vs long-term memory, importance of emotional context) with advanced engineering (retrieval augmentation, memory networks, large contexts). Top-performing systems use hybrid approaches: large language models enhanced with structured memory modules that can store, retrieve, and even reason about past interactions. They treat memory not as a monolithic transcript but as knowledge to be managed – compressing it, indexing it by relevance, and drawing on it selectivelysites.aub.edu.lbarxiv.org. Moreover, to support human-like conversation, these agents incorporate social and symbolic memory aspects: remembering who said something and how they felt, not just the literal factsla.disneyresearch.comsites.aub.edu.lb.
For Child1, implementing these best practices will significantly boost its conversational intelligence. By introducing topic-aware retrieval, salience-based filtering, and emotional context retention, we enable the agent to re-enter old conversations naturally – picking up threads as a friend would, reminding the user of relevant past points, and avoiding “goldfish memory” lapsesaclanthology.org. The recommendations outlined (tagging schemas, memory layering, reflection, etc.) map well to our existing architecture, which already anticipated many of these components (e.g., motif resonance, identity management, reflexive prompts). It’s now a matter of refining and connecting them under a coherent memory strategy.
Lastly, by instituting a memory diagnostic suite, we ensure accountability and continuous improvement. We’ll have concrete evidence of memory strengths and weaknesses, and we can iterate toward measurable goals (e.g., retain explicit facts over 50 turns with 95% success, carry emotional tone across session with positive user feedback). This will also help communicate progress to stakeholders by showing before/after scenarios where memory upgrades clearly improve the conversation quality.
In conclusion, a memory-enhanced Child1 will not only answer questions accurately but will become a more attentive and personable conversational partner. It will remember the user’s stories, return to them appropriately, and adapt its responses in light of the shared history – just as a thoughtful human would. By combining state-of-the-art techniques from MIT/Stanford labs and industry leaders with our own innovative integrations, we can push Child1’s conversational abilities to a cutting edge. The result should be an AI agent that users feel truly remembers them and cares about the continuity of their interaction, which is a hallmark of meaningful, humanized conversation.
Sources:
-
Campos, J. et al. (2018). Challenges in Exploiting Conversational Memory in Human-Agent Interaction. Proceedings of AAMASla.disneyresearch.comla.disneyresearch.com.
-
Guan, S. et al. (2025). Evaluating LLM-based Agents for Multi-Turn Conversations: A Survey. arXiv preprint arXiv:2503.22458arxiv.orgarxiv.org.
-
Park, J.S. et al. (2023). Generative Agents: Interactive Simulacra of Human Behavior. arXiv preprint arXiv:2304.03442sites.aub.edu.lbsites.aub.edu.lb.
-
Packer, C. et al. (2024). MemGPT: Towards LLMs as Operating Systems. arXiv preprint arXiv:2310.08560arxiv.orgarxiv.org.
-
Shuster, K. et al. (2022). BlenderBot 3: a deployed conversational agent that continually learns to responsibly engage. arXiv preprint arXiv:2208.03188ar5iv.labs.arxiv.orgar5iv.labs.arxiv.org.
-
Xu, J. et al. (2022). Beyond Goldfish Memory: Long-Term Open-Domain Conversation. ACL 2022arxiv.org.
-
(Additional citations embedded inline in text above)
Citationsarxiv.org
From Human Memory to AI Memory: A Survey on Memory Mechanisms in the Era of LLMsLLM’s interactions over different timescales. Short-term memory refers to contextual information temporarily maintained within the current conversation, enabling coherence and continuity in multi-turn dialogues. In contrast, long- term memory consists of information from past interactions that is stored in anarxiv.org
From Human Memory to AI Memory: A Survey on Memory Mechanisms in the Era of LLMsgenerally divided into two categories: the short-term memory of the current session’s multi-turn dialogue and the long-term memory of historical dialogues across sessions. The former can effectively supplement contextual information, while the latter can effectively fill in missing information and overcome thearxiv.org
From Human Memory to AI Memory: A Survey on Memory Mechanisms in the Era of LLMs## Short-Term Memoryla.disneyresearch.com
Challenges in Exploiting Conversational Memory in Human-Agent Interactionsocial identity over time. The way people speak with others and revisit language across repeated interactions helps to create rapport and develop a feeling of coordination between conversational partners. Memory of past conversations is the main mechanism that allows us to exploit and explore ways of speaking, given knowledge acquired in previous encounters. As such, we introduce an agent that uses its conversational memory to revisit shared history with users to maintain a coherent social relationship over time. In this paper, we describe the dialog management mechanisms to achievela.disneyresearch.com
Challenges in Exploiting Conversational Memory in Human-Agent Interactionusers and to also accommodate to expected conversational coordination patterns. We discuss the implications of this finding for long-term human-agent interaction. In particular, we highlight the importance of topic modeling and signaling explicit recall of previous episodes. Moreover, the way that users contribute to interactions requires additional adaptation, indicating a significant challenge for language interaction designers. KEYWORDSarxiv.org
MemGPT: Towards LLMs as Operating Systemsunderlying transformer architecture (Vaswani et al., 2017; Devlin et al., 2018; Brown et al., 2020; Ouyang et al., 2022) have become the cornerstone of conversational AI and have led to a wide array of consumer and enterprise applications. Despite these advances, the limited fixed-length context windows used by LLMs significantly hinders their applicability to long conversations or reasoning about long documents. For example, the most widely used open-source 1University of California, Berkeley. Correspondence to:arxiv.org
MemGPT: Towards LLMs as Operating Systemstheir maximum input length (Touvron et al., 2023). Directly extending the context length of transformers incurs a quadratic increase in computational time and memory cost due to the transformer architecture’s self-attention mechanism, making the design of new long-context architectures a pressing research challenge (Dai et al., 2019; Kitaev et al., 2020; Beltagy et al., 2020). While developing longer models is an active area of research (Dong et al., 2023), even if we could overcome the computational challenges of context scaling, recent research shows that longcontext models struggle to utilizeanthropic.com
Claude 2 \ AnthropicAs we work to improve both the performance and safety of our models, we have increased the length of Claude’s input and output. Users can input up to 100K tokens in each prompt, which means that Claude can work over hundreds of pages of technical documentation or even a book. Claude can now also write longer documents – from memos to letters to stories up to a few thousand tokens – all in one go.anthropic.com
Claude 2 \ AnthropicAs we work to improve both the performance and safety of our models, we have increased the length of Claude’s input and output. Users can input up to 100K tokens in each prompt, which means that Claude can work over hundreds of pages of technical documentation or even a book. Claude can now also write longer documents – from memos to letters to stories up to a few thousand tokens – all in one go.arxiv.org
MemGPT: Towards LLMs as Operating Systemsadditional context effectively (Liu et al., 2023a). As consequence, given the considerable resources needed to train state-of-the-art LLMs and diminishing returns of context scaling, there is a critical need for alternative techniques to support long context. In this paper, we study how to provide the illusion of an infinite context while continuing to use fixed-context models. Our approach borrows from the idea of virtual memory paging that was developed to enable applications to work on datasets that far exceed the available memory by paging data between mainar5iv.labs.arxiv.org
[2208.03188] BlenderBot 3: a deployed conversational agent that continually∗ We use the phrase continual learning in the sense of learning that continues over time using data from the model’s interactions, but training itself will actually be performed in successive large batches; the model is not updated online. learns to responsibly engage## Generate a long-term memoryar5iv.labs.arxiv.org
[2208.03188] BlenderBot 3: a deployed conversational agent that continually∗ We use the phrase continual learning in the sense of learning that continues over time using data from the model’s interactions, but training itself will actually be performed in successive large batches; the model is not updated online. learns to responsibly engage## Access long-term memoryar5iv.labs.arxiv.org
[2208.03188] BlenderBot 3: a deployed conversational agent that continually∗ We use the phrase continual learning in the sense of learning that continues over time using data from the model’s interactions, but training itself will actually be performed in successive large batches; the model is not updated online. learns to responsibly engageGenerate a long-term memory Last turn of context Generate a memory sequence, which is then stored in the long-term memory. If no plausible memory to generate, output “no persona”. Long-term memory access decision Last turn of context + store of memoriesar5iv.labs.arxiv.org
[2208.03188] BlenderBot 3: a deployed conversational agent that continually∗ We use the phrase continual learning in the sense of learning that continues over time using data from the model’s interactions, but training itself will actually be performed in successive large batches; the model is not updated online. learns to responsibly engagedoes is determine whether search and long-term memory access are required.ar5iv.labs.arxiv.org
[2208.03188] BlenderBot 3: a deployed conversational agent that continually∗ We use the phrase continual learning in the sense of learning that continues over time using data from the model’s interactions, but training itself will actually be performed in successive large batches; the model is not updated online. learns to responsibly engagememory, generate a final conversational response. The knowledge and memory sequences are marked with special prefix tokens.sites.aub.edu.lb
Simulating Human Behavior: The Power of Generative Agents | OutlookThe architecture behind these generative agents was built by coupling the GPT 3.5-Turbo large language model with a long-term memory module that records and stores the agent’s experiences in natural language. This memory module is necessary to maintain relevant context that is too large to describe in a regular prompt. Summarizing information would lead to general and uninformative dialogue; specificity is necessary to accurately mimic human memory and behavior. The retrieval model factors in relevance, recency, and importance to extract the necessary information from the agent’s memory and direct its behavior in real time.sites.aub.edu.lb
Simulating Human Behavior: The Power of Generative Agents | Outlook3.5-Turbo large language model with a long-term memory module that records and stores the agent’s experiences in natural language. This memory module is necessary to maintain relevant context that is too large to describe in a regular prompt. Summarizing information would lead to general and uninformative dialogue; specificity is necessary to accurately mimic human memory and behavior. The retrieval model factors in relevance, recency, and importance to extract the necessary information from the agent’s memory and direct its behavior in real time.sites.aub.edu.lb
Simulating Human Behavior: The Power of Generative Agents | OutlookThe paper also discusses Relationship Memory in a particularly interesting scenario. Two agents, Sam and Latoya, who had never interacted before, bump into each other at a park and introduce themselves. Latoya tells Sam about a photography project she is working on. In a later interaction between the two agents, Sam remembers the conversation he had with Latoya and asks her how the project is going. The experiment has shown that generative agents, with no previous interaction or knowledge of each other, are likely to form relationships over time.sites.aub.edu.lb
Simulating Human Behavior: The Power of Generative Agents | OutlookThe architecture is further developed by introducing reflection, a combination of memory recall and higher-level reasoning. Reliance on memory to inform decisions, without the ability to make deductions or inferences, would simply prioritize frequent interactions rather than meaningful ones. Reflection allows agents to more accurately assess the situation and make decisions on a deeper level. This process, described as a “[synthesis] of memories into higher-level inferences over time”, allows the agent to analyze its own long-term memory, identify patterns between them, and deduce conclusions regarding itself and the world around it to adjust its behavior accordingly.sites.aub.edu.lb
Simulating Human Behavior: The Power of Generative Agents | OutlookThe architecture is further developed by introducing reflection, a combination of memory recall and higher-level reasoning. Reliance on memory to inform decisions, without the ability to make deductions or inferences, would simply prioritize frequent interactions rather than meaningful ones. Reflection allows agents to more accurately assess the situation and make decisions on a deeper level. This process, described as a “[synthesis] of memories into higher-level inferences over time”, allows the agent to analyze its own long-term memory, identify patterns between them, and deduce conclusions regarding itself and thearxiv.org
MemGPT: Towards LLMs as Operating SystemsAbstract Large language models (LLMs) have revolutionized AI, but are constrained by limited context windows, hindering their utility in tasks like extended conversations and document analysis. To enable using context beyond limited context windows, we propose virtual context management, a technique drawing inspiration from hierarchical memory systems in traditional operating systemsarxiv.org
MemGPT: Towards LLMs as Operating Systemsphysical memory and disk. Using this technique, we introduce MemGPT (MemoryGPT), a system that intelligently manages different storage tiers in order to effectively provide extended context within the LLM’s limited context window. We evaluate our OS-inspired design in two domains where the limited context windows of modern LLMs severely handicaps their performance: document analysis, where MemGPT is able to analyzearxiv.org
MemGPT: Towards LLMs as Operating Systemsmemory systems in traditional operating systems which provide the illusion of an extended virtual memory via paging between physical memory and disk. Using this technique, we introduce MemGPT (MemoryGPT), a system that intelligently manages different storage tiers in order to effectively provide extended context within the LLM’s limited context window. We evaluate our OS-inspired design in two domains where the limited context windows of modern LLMsarxiv.org
MemGPT: Towards LLMs as Operating Systemson datasets that far exceed the available memory by paging data between main memory and disk. We leverage the recent progress in function calling abilities of LLM agents (Schick et al., 2023; Liu et al., 2023b) to design MemGPT, an OS-inspired LLM system for virtual context management. Using function calls, LLM agents can read and write to external data sources, modify their own context, and choose when to return responses to the user. These capabilities allow LLMs to effective “page” in and out information between context windows (analogous toarxiv.org
MemGPT: Towards LLMs as Operating SystemsThese capabilities allow LLMs to effective “page” in and out information between context windows (analogous to “main memory” in operating systems) and external storage, similar to hierarchical memory in traditional OSes. In addition, function callsarxiv.org
Evaluating LLM-based Agents for Multi-Turn Conversations: A Surveythis, ong2024lifelongdialogueagentsrelationaware employed semantic similarity for topic-based retrieval, while the MemoryBank framework (zhong2023memorybankenhancinglargelanguage) enhanced retrieval with FAISS (johnson2017billionscalesimilaritysearchgpus). Advanced methods include thought- based retrieval in the TiM framework (liu2023thinkinmemoryrecallingpostthinkingenable), context-aware mechanisms in RecMind (wang-etal-2024-recmind), and a dedicated memory unit in RET-LLM (modarressi2024retllmgeneralreadwritememory). These developments shift from basic similarity metrics to sophisticated, context-aware approaches.arxiv.org
LLM Task Interference: An Initial Study on the Impact of Task-Switch in Conversational Historyto provide some sort of memory and context. Although this sensitivity to the conversational history can often lead to improved performance on subsequent tasks, we find that performance can in fact also be negatively impacted, if there is a task-switch. To the best of our knowledge, our work makes the first attempt to formalize the study of such vulnerabilities and interference of tasks in conversational LLMs caused by task-switches in the conversational history. Our experiments across 5 datasets with 15 task switches using popular LLMs reveal that many of the task-switches can lead to significant performance degradation.^{1}^{1}1 Code available on GitHub.arxiv.org
LLM Task Interference: An Initial Study on the Impact of Task-Switch in Conversational HistoryIn this paper, we investigate the sensitivity and the impact of LLM performance on past conversational interaction. To do so, we introduce the concept of task- switch. A task-switch is characterized by a conversational objective, moving from one distinct task to another within the same conversation thread, for example: Figure 1 illustrates a task-switch from sentiment prediction to math algebra which confuses the model to output erroneously. Designing LLMs that can seamlessly switch between tasks without degradation in performance can influence the reliability of LLMs in realistic scenarios.arxiv.org
Evaluating LLM-based Agents for Multi-Turn Conversations: A SurveyRetrieved Interaction Retrieved interaction uses selective memory management by retrieving relevant dialogue segments based on semantic relevance, contextual significance, and thematic coherence (sarch-etal-2023-open). park2023generativeagentsinteractivesimulacra introduced the ”memory stream” architecture using cosine similarity for experience-based retrieval. Building on this, ong2024lifelongdialogueagentsrelationaware employed semantic similarity for topic-based retrieval, while the MemoryBank framework (zhong2023memorybankenhancinglargelanguage) enhanced retrieval with FAISS (johnson2017billionscalesimilaritysearchgpus). Advanced methods include thought-reddit.com
[D] We’re the Meta AI research team behind CICERO, the first AI agent to achieve human-level performance in the game Diplomacy. We’ll be answering your questions on December 8th starting at 10am PT. Ask us anything! : r/MachineLearningRe: Dialogue-related challenges: Moving from the “no press” setting (without negotiation) to the “full press” setting presented a host of challenges at the intersection of natural language processing and strategic reasoning. From a language perspective, playing Diplomacy requires engaging in lengthy and complex conversations with six different parties simultaneously. Messages the agent sends needed to be grounded in both the game state as well as the long, dialogue histories. In order to actually win the game, the agent must not only mimic human-like conversation, but it must also use language as an *intentional tool* to engage in negotiations and achieve goals. On the flip side, it also requiresreddit.com
[D] We’re the Meta AI research team behind CICERO, the first AI agent to achieve human-level performance in the game Diplomacy. We’ll be answering your questions on December 8th starting at 10am PT. Ask us anything! : r/MachineLearninglanguage perspective, playing Diplomacy requires engaging in lengthy and complex conversations with six different parties simultaneously. Messages the agent sends needed to be grounded in both the game state as well as the long, dialogue histories. In order to actually win the game, the agent must not only mimic human-like conversation, but it must also use language as an *intentional tool* to engage in negotiations and achieve goals. On the flip side, it also requires *understanding* these complex conversations in order to plan and take appropriate actions. Consider: if the agents actions did not reflect its conversations/agreements, players may not want to cooperate with it, and at thearxiv.org
Evaluating LLM-based Agents for Multi-Turn Conversations: A Surveywith computational efficiency. Think-in-Memory (TiM) framework(Hoxha2024BlockchainAA) allows LLMs to maintain an evolved recent memory that stores historical thoughts throughout the conversation whereas DiagGPT (cao2024diaggptllmbasedmultiagentdialogue) use a stack to store recent interaction. And (wang2024userbehaviorsimulationlarge) proposes an LLM-based agent framework to include recent conversation history. LABEL:tab:complete_interaction_evaluation is a summary of recent studies.arxiv.org
Evaluating LLM-based Agents for Multi-Turn Conversations: A SurveyRetrieved Interaction Retrieved interaction uses selective memory management by retrieving relevant dialogue segments based on semantic relevance, contextual significance, and thematic coherence (sarch-etal-2023-open). park2023generativeagentsinteractivesimulacra introduced the ”memory stream” architecture using cosine similarity for experience-based retrieval. Building on this, ong2024lifelongdialogueagentsrelationaware employed semantic similarity for topic-based retrieval, while the MemoryBank framework (zhong2023memorybankenhancinglargelanguage) enhanced retrieval with FAISSarxiv.org
Evaluating LLM-based Agents for Multi-Turn Conversations: A Surveyof conversation history in recent interaction preservation to balance context with computational efficiency. Think-in-Memory (TiM) framework(Hoxha2024BlockchainAA) allows LLMs to maintain an evolved recent memory that stores historical thoughts throughout the conversation whereas DiagGPT (cao2024diaggptllmbasedmultiagentdialogue) use a stack to store recent interaction. And (wang2024userbehaviorsimulationlarge) proposes an LLM-based agent framework to include recent conversation history. LABEL:tab:complete_interaction_evaluation is a summary of recent studies.arxiv.org
Evaluating LLM-based Agents for Multi-Turn Conversations: A SurveyRecent Interaction It refers to the preservation of recent conversation history between agents and users.This approach focuses on maintaining a limited but relevant portion of the conversation history, typically the most recent exchanges, to balance context retention with computational efficiency.Liang2023UnleashingII introduces a Self-Controlled Memory (SCM) system. The SCM system’s memory controller selectively activates relevant memories to incorporate into model inputs, which mirrors the selective retention of conversation history in recent interaction preservation to balance context with computational efficiency. Think-in-Memory (TiM)ar5iv.labs.arxiv.org
[2208.03188] BlenderBot 3: a deployed conversational agent that continually∗ We use the phrase continual learning in the sense of learning that continues over time using data from the model’s interactions, but training itself will actually be performed in successive large batches; the model is not updated online. learns to responsibly engageWe present BlenderBot 3, a 175B parameter dialogue model capable of open-domain conversation with access to the internet and a long-term memory, and having been trained on a large number of user defined tasks. We release both the model weights and code, and have also deployed the model on a public web page to interact with organic users. This technical report describes how the model was built (architecture, model and training scheme), and details of its deployment, including safety mechanisms. Human evaluations show its superiority to existing open-domain dialogue agents, including its predecessors Roller et al. (2021 ); Komeili et al. ( 1). Finally, we detail our plan for continual learning using the data collected from deployment, which will also be publiclyar5iv.labs.arxiv.org
[2208.03188] BlenderBot 3: a deployed conversational agent that continually∗ We use the phrase continual learning in the sense of learning that continues over time using data from the model’s interactions, but training itself will actually be performed in successive large batches; the model is not updated online. learns to responsibly engagebased on our team’s recent work Shuster et al. (2022). BB3 inherits the attributes of its predecessors, including storing information in a long-term memory and searching the internet for information.la.disneyresearch.com
Challenges in Exploiting Conversational Memory in Human-Agent Interactionand develop a feeling of coordination between conversational partners. Memory of past conversations is the main mechanism that allows us to exploit and explore ways of speaking, given knowledge acquired in previous encounters. As such, we introduce an agent that uses its conversational memory to revisit shared history with users to maintain a coherent social relationship over time. In this paper, we describe the dialog management mechanisms to achieve these goals when applied to a robot that engages in social chit-chat.la.disneyresearch.com
Challenges in Exploiting Conversational Memory in Human-Agent InteractionIn a study lasting 14 days with 28 users, totaling 474 interactions, we find that it is difficult to leverage the shared history with individual users and to also accommodate to expected conversational coordination patterns. We discuss the implications of this finding for long-term human-agent interaction. In particular, we highlight the importance of topic modeling and signaling explicit recall of previous episodes. Moreover, the way that users contribute to interactions requires additional adaptation, indicating a significant challenge for language interaction designers.arxiv.org
Evaluating LLM-based Agents for Multi-Turn Conversations: A Survey(wang2023fccfusingconversationhistory; huang2024doesconversationlengthimpact).The paper (li2023how) introduces LongEval, a test suite designed to evaluate the long-range retrieval ability of LLMs at various context length. It assesses how well agents can maintain and utilize extended conversation histories. It also provides a fine-tune model to memorize the complete interaction. maharana2024evaluatinglongtermconversationalmemory introduces a dataset called LoCoMo. LoCoMo provides a longer and more complete interaction between a user and multiple agents. Instead of merely increasing the length of completearxiv.org
Evaluating LLM-based Agents for Multi-Turn Conversations: A SurveyLongEval, a test suite designed to evaluate the long-range retrieval ability of LLMs at various context length. It assesses how well agents can maintain and utilize extended conversation histories. It also provides a fine-tune model to memorize the complete interaction. maharana2024evaluatinglongtermconversationalmemory introduces a dataset called LoCoMo. LoCoMo provides a longer and more complete interaction between a user and multiple agents. Instead of merely increasing the length of complete interactions, lei2024s3evalsyntheticscalablesystematic provides a evaluation framework that systematically tests the abilities of model across various tasksarxiv.org
Evaluating LLM-based Agents for Multi-Turn Conversations: A Survey(leng2024longcontextragperformance) and SocialBench (chen-etal-2024-socialbench) assess memory retention across 40+ utterances, while maharana2024evaluatinglongtermconversationalmemory introduces dialogues spanning 600 turns and 16K tokens across 32 sessions. Their framework includes: (1)arxiv.org
Evaluating LLM-based Agents for Multi-Turn Conversations: A Surveydeveloping benchmarks and metrics to assess how effectively agents retain and utilize information across dialogue turns (liu2023agentbenchevaluatingllmsagents; yi2024surveyrecentadvancesllmbased). As illustrated in Figure 6, representative studies can be classified into twoarxiv.org
Evaluating LLM-based Agents for Multi-Turn Conversations: A Surveygoals of multi-turn conversational AI. Our evaluation framework encompasses three key dimensions: dialogue coherence and context maintenance across multiple turns, the ability of an agent to effectively utilize tools and external resources, and the system capacity to manage both conversation-level and turn- level memory. These aspects are crucial for understanding how well agents maintain contextual awareness and execute complex tasks over extended interactions. We then review current methodologies and datasets used for system evaluation, assessing their strengths and limitations. Our analysis reveals that existing evaluation approaches often employ a combination of automated metricsarxiv.org
Evaluating LLM-based Agents for Multi-Turn Conversations: A Surveycreating standardized benchmarks that better reflect real-world usage patterns. Future work should focus on developing evaluation frameworks that can adapt to increasingly sophisticated agent capabilities while maintaining practical applicability in production environments.arxiv.org
Evaluating LLM-based Agents for Multi-Turn Conversations: A Survey* •aclanthology.org
Beyond Goldfish Memory: Long-Term Open-Domain ConversationConversation aclanthology.org 2022. Beyond Goldfish Memory: Long-Term Open-Domain Conversation. In Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics ( …arxiv.org
[2107.07567] Beyond Goldfish Memory: Long-Term Open-Domain Conversationthe art models are trained and evaluated on short conversations with little context. In contrast, the long-term con