{"licence":{"name":"CC BY-SA 4.0","spdx":"CC-BY-SA-4.0","url":"https://creativecommons.org/licenses/by-sa/4.0/","attribution":"Atlas, a bilingual technical dictionary (https://cmaintz.github.io/tech-atlas/)"},"id":"ai/agent-memory","url":{"en":"https://cmaintz.github.io/tech-atlas/en/terms/ai/agent-memory/","da":"https://cmaintz.github.io/tech-atlas/da/terms/ai/agent-memory/"},"term":{"en":"Agent memory","da":"Agenthukommelse"},"aka":{"en":["long-term memory"],"da":["langtidshukommelse"]},"domain":["ai"],"cluster":"agents","layer":"agent","status":"emerging","era":2023,"summary":{"en":"Notes an AI agent saves outside the model and reads back later, so it can carry facts and past work from one chat to the next.","da":"Noter, en AI-agent gemmer uden for modellen og læser igen senere, så den kan huske fakta og tidligere arbejde mellem adskilte samtaler."},"body":{"formal":{"en":"Storage outside the model - plain files, a database or a vector database - into which an agent writes facts, choices and summaries, and from which the most useful items are fetched back into the context window at the start of later tasks.","da":"Lager uden for modellen - almindelige filer, en database eller en vektordatabase - som en agent skriver fakta, valg og sammendrag ind i, og hvorfra de mest nyttige dele hentes tilbage i kontekstvinduet, når senere opgaver starter."},"plain":{"en":"Like a nurse's notebook passed between shifts - whoever starts work reads the notes first, because nobody remembers yesterday on their own.","da":"Som en sygeplejerskes notesbog, der går videre mellem vagterne - den, der møder ind, læser først noterne, for ingen husker selv i går."},"inPractice":{"en":"A developer at a pension fund works with a coding assistant that saves notes such as “member numbers must never appear in logs”; a week later, in a fresh chat, it reads them back before touching the code.","da":"En udvikler i en pensionskasse arbejder med en kodeassistent, der gemmer noter som “medlemsnumre må aldrig stå i logfiler”; en uge senere, i en ny samtale, læser den dem igen, før den rører koden."},"whyItMatters":{"en":"It makes agents more useful over time, but saved notes are trusted later - a planted false note or a stored secret can outlive the chat that caused it.","da":"Det gør agenter mere nyttige over tid, men gemte noter bliver taget for gode varer senere - en plantet falsk note eller en gemt hemmelighed kan overleve den samtale, der skabte den."}},"deepDive":{"en":"A language model is stateless between calls: everything it \"knows\" about a user or project at inference time is either in its weights or in the tokens of the current request. Agent memory is the application-layer machinery that closes that gap. The CoALA framework (Sumers et al., 2023) borrows cognitive-science labels that are now common: working memory is the live context window, episodic memory stores records of past interactions or trajectories, semantic memory stores extracted facts (\"the build uses pnpm\"), and procedural memory stores how-to knowledge, which in practice means prompts, rules files and reusable skills. Writes happen either explicitly (the model calls a memory tool such as create, update or delete) or implicitly, when a background process summarises a finished session and extracts candidate facts.\n\nRetrieval is where most of the engineering lives. Generative Agents (Park et al., 2023) scored each memory as a weighted sum of recency (exponential decay since last access), importance (a 1-10 score assigned by the model at write time) and relevance (embedding similarity to the current query), and periodically synthesised higher-level \"reflections\". MemGPT (Packer et al., 2023) treated the context window like RAM in an operating system, paging data in and out of external recall and archival storage through function calls. Simpler production designs skip embeddings entirely: Claude Code's auto memory, for example, keeps a MEMORY.md index plus topic files per repository and loads only the first 200 lines or 25 KB of the index at session start, reading topic files on demand.\n\nThe hard problems are consolidation and staleness. A memory store that only appends accumulates contradictions (\"tests use Jest\" and later \"tests use Vitest\"), and retrieval by similarity will happily surface both. Good designs deduplicate, timestamp and attribute each entry, let newer facts supersede older ones, and cap what is injected so memory does not crowd out the task. Unlike retrieval-augmented generation, whose corpus is curated by people, agent memory is written by the model itself, so errors compound.\n\nSecurity and privacy follow from that write path. Indirect prompt injection that reaches a memory tool becomes persistent: in 2024 Johann Rehberger showed that a malicious document could plant false memories in ChatGPT's memory feature that then influenced every later conversation, and OWASP's agentic threat guidance lists memory poisoning as a distinct threat. Mitigations include restricting memory writes to trusted turns, showing users what was saved, provenance tags, and periodic review. Where memories contain personal data, GDPR applies in full: storage limitation (Art. 5(1)(e)), the right to erasure (Art. 17) and access requests (Art. 15) all require that stored memories can be found, exported and deleted per data subject.","da":"En sprogmodel er tilstandsløs mellem kald: alt, hvad den \"ved\" om en bruger eller et projekt ved inferens, ligger enten i vægtene eller i tokens i den aktuelle forespørgsel. Agenthukommelse er det maskineri i applikationslaget, der lukker det hul. CoALA-rammeværket (Sumers et al., 2023) låner betegnelser fra kognitionsforskningen, som nu er udbredte: arbejdshukommelse er det aktive kontekstvindue, episodisk hukommelse gemmer forløb fra tidligere interaktioner, semantisk hukommelse gemmer udtrukne fakta (\"buildet bruger pnpm\"), og procedurel hukommelse gemmer viden om fremgangsmåder, i praksis prompts, regelfiler og genbrugelige skills. Skrivning sker enten eksplicit (modellen kalder et hukommelsesværktøj med fx create, update eller delete) eller implicit, når en baggrundsproces opsummerer en afsluttet session og udtrækker kandidatfakta.\n\nGenfinding er der, hvor det meste af ingeniørarbejdet ligger. Generative Agents (Park et al., 2023) gav hver hukommelse en vægtet score af aktualitet (eksponentielt henfald siden sidste adgang), vigtighed (en score fra 1 til 10, som modellen satte ved skrivning) og relevans (embedding-lighed med den aktuelle forespørgsel) og dannede løbende overordnede \"refleksioner\". MemGPT (Packer et al., 2023) behandlede kontekstvinduet som RAM i et styresystem og flyttede data ind og ud af eksternt recall- og arkivlager via funktionskald. Enklere produktionsdesign dropper embeddings helt: Claude Codes auto memory holder fx et MEMORY.md-indeks plus emnefiler pr. repository og indlæser kun de første 200 linjer eller 25 KB af indekset ved sessionsstart, mens emnefilerne læses efter behov.\n\nDe svære problemer er konsolidering og forældelse. Et lager, der kun tilføjer, samler modsigelser op (\"testene bruger Jest\" og senere \"testene bruger Vitest\"), og lighedsbaseret genfinding henter gladeligt begge frem. Gode design fjerner dubletter, tidsstempler og angiver kilden for hver post, lader nyere fakta afløse ældre og begrænser, hvor meget der indsættes, så hukommelsen ikke fortrænger selve opgaven. I modsætning til retrieval-augmented generation, hvor korpus kurateres af mennesker, skrives agenthukommelse af modellen selv, så fejl forstærker sig selv.\n\nSikkerhed og privatliv følger af den skrivevej. Indirekte prompt injection, der når et hukommelsesværktøj, bliver varig: I 2024 viste Johann Rehberger, at et ondsindet dokument kunne plante falske hukommelser i ChatGPT's hukommelsesfunktion, som derefter påvirkede alle senere samtaler, og OWASP's vejledning om trusler mod agenter opfører memory poisoning som en selvstændig trussel. Modtræk er at begrænse hukommelsesskrivning til betroede dele af samtalen, vise brugeren, hvad der blev gemt, mærke posterne med oprindelse og gennemgå dem jævnligt. Indeholder hukommelserne personoplysninger, gælder databeskyttelsesforordningen fuldt ud: opbevaringsbegrænsning (art. 5, stk. 1, litra e), retten til sletning (art. 17) og indsigtsanmodninger (art. 15) kræver alle, at gemte hukommelser kan findes, udleveres og slettes pr. registreret."},"edges":[{"type":"part-of","to":"ai/ai-agent","confidence":"high","strength":"normal"},{"type":"contrasts-with","to":"ai/context-window","why":{"en":"The context window is what the model sees right now and is lost when the chat ends; agent memory is stored outside and survives to be read in again.","da":"Kontekstvinduet er det, modellen ser lige nu, og forsvinder, når samtalen slutter; agenthukommelse gemmes udenfor og overlever, så den kan læses ind igen."},"confidence":"high","strength":"primary"},{"type":"used-with","to":"ai/prompt-injection","why":{"en":"Hidden orders read once can be saved as a \"memory\" and then act again in every later chat - a lasting form of prompt injection.","da":"Skjulte ordrer, der læses én gang, kan gemmes som en \"hukommelse\" og så virke igen i hver senere samtale - en varig form for prompt injection."},"confidence":"medium","strength":"primary"},{"type":"used-with","to":"ai/vector-database","why":{"en":"Memories are often stored as embeddings so the agent can find the ones that match the task in hand by meaning.","da":"Hukommelser gemmes ofte som embeddings, så agenten kan finde dem, der passer til den aktuelle opgave, efter betydning."},"confidence":"high","strength":"normal"},{"type":"used-with","to":"security/personal-data","confidence":"high","strength":"normal"},{"type":"used-with","to":"ai/context-engineering","why":{"en":"Deciding which saved notes to bring back into view at each step is a core context-engineering choice.","da":"At beslutte, hvilke gemte noter der skal hentes frem i hvert trin, er et centralt context engineering-valg."},"confidence":"medium","strength":"normal"}],"depth":0,"sources":[{"title":"Park et al. (2023), Generative Agents: Interactive Simulacra of Human Behavior","tier":"reference"},{"title":"Packer et al. (2023), MemGPT: Towards LLMs as Operating Systems","tier":"reference"},{"title":"OWASP Top 10 for LLM Applications 2025 (LLM01 Prompt Injection)","tier":"reference","publisher":"OWASP"},{"title":"Claude Code documentation - How Claude remembers your project (CLAUDE.md and auto memory)","url":"https://code.claude.com/docs/en/memory","tier":"official-doc","publisher":"Anthropic"}],"draft":true}