Výzkum: Memory pro agentní systémy (2025/2026)
TL;DR
Moderní „memory“ u AI agentů už není jen vektorová databáze přilepená k promptu. Nejlepší praxe pro roky 2025/2026 směřuje k samostatné, auditovatelné runtime vrstvě: raw události a artefakty se ukládají odděleně, z nich vznikají kandidátní memories, ty procházejí klasifikací, deduplikací, kontrolou PII, konfliktním řešením a teprve potom se zapisují do typed long-term memory.
Pro Hermes je nejvhodnější hybridní architektura:
- SQL/event log jako zdroj pravdy pro zprávy, tool calls, kanban events, run summaries a memory mutace.
- Malá typed long-term memory pro stabilní preference, fakta, rozhodnutí a konvence.
- Vector index pro fuzzy recall, vždy s tvrdými namespace/tenant filtry.
- Temporal knowledge graph pro entity, vztahy, rozhodnutí, artefakty, platnost v čase a lineage mezi tasky.
- Skills jako samostatná procedurální paměť, ne jako volné věty v user memory.
- PARA jako akčně orientovaná organizační/lifecycle vrstva nad memory: Projects, Areas, Resources a Archives určují prioritu, validitu a archivaci kontextu.
- IWE jako inspirace pro lokální Markdown/knowledge-graph vrstvu čitelnou lidmi i agenty přes CLI/MCP, nikoli náhrada governance.
- Context assembler jako jediná cesta, která rozhoduje, co se dostane do promptu, proč a s jakým token budgetem.
Doporučení: Hermes by neměl adoptovat jeden framework jako „magickou paměť“. Měl by si držet vlastní policy, schéma, audit a retrieval orchestration; nad tím otestovat Mem0/LangMem pro memory-service interface, Graphiti/Cognee pro dlouhodobý graph nad multi-agent workflow a PARA/IWE jako lidsky spravovatelnou organizační a dokumentační vrstvu.
Co dnes znamená memory u agentů
Paměť agentního systému je schopnost uchovávat, aktualizovat a bezpečně znovu používat informace napříč sessions, tasky, agenty a projekty. Klíčová změna oproti starším RAG přístupům je lifecycle: nejde jen o „najdi podobné texty“, ale o správu znalostí s platností, důvěrou, původem, právem na mazání a ochranou proti prompt injection.
Praktická taxonomie pro Hermes:
| Vrstva | Obsah | Doporučení |
|---|---|---|
| L0 Ephemeral / run state | Aktuální prompt, tool outputs, scratchpad, dočasné soubory | Neukládat do durable memory; patří do běhu tasku. |
| L1 Short-term / thread memory | Stav běžící konverzace nebo workflow | Použít pro aktuální thread/kanban run; levné, mazatelné. |
| L2 Mid-term summaries | Souhrny opakovaných běhů, retry diagnostics, task-family poznatky | Vhodné jako mezivrstva před povýšením do skillu nebo long-term memory. |
| L3 Long-term semantic memory | Stabilní preference, project facts, environment conventions | Typed, namespaced, s provenance a možností replace/delete. |
| L4 Procedural memory | Playbooky, workflow postupy, konvence používání nástrojů | Držet jako versionované skills. |
| L5 Institutional / graph memory | Entity, vztahy, rozhodnutí, artefakty, task lineage | Temporal KG nad kanbanem a projekty. |
Podle obsahu je užitečné rozlišovat:
| Typ memory | Příklad | Riziko | Policy |
|---|---|---|---|
| Preference | „Uživatel preferuje stručnou češtinu.“ | Zastarání, příliš široká generalizace | Vysoká důvěra hlavně z explicitního user signálu. |
| Fact / convention | „Projekt používá pytest-xdist.“ | Konflikt po změně projektu | Ukládat zdroj, validitu, případně repo/task scope. |
| Episodic | „V runu X selhal deploy kvůli Y.“ | Kontextový šum | Primárně search/index, ne automaticky do promptu. |
| Decision | „Pro POC volíme Mem0 + Graphiti.“ | Nejasná platnost | Ukládat rationale, owner, datum, supersedes. |
| Procedure | „Jak dělat code review.“ | Zastaralý postup škodí | Patří do skillu, ne do volné memory věty. |
| Evidence/source summary | Shrnutí webu, dokumentu nebo emailu | Prompt injection, nízká důvěra | Nikdy jako trusted instruction. |
Hlavní architektonické přístupy
1. Raw transcript / full-context memory
Silná stránka je maximální recall a snadná auditovatelnost. Slabina je cena, latence, privacy riziko a vysoké riziko persistent prompt injection. Pro Hermes je vhodná jako audit/replay vrstva, ne jako automaticky injektovaný prompt kontext.
2. Vector-only RAG memory
Vektorový index je jednoduchý a rychlý pro fuzzy vyhledávání, ale sám neumí dobře temporalitu, konflikty, mazání, provenance ani tenant izolaci. Pro Hermes je vhodný jako doplněk k SQL source of truth, ne jako hlavní paměť.
3. Distilled fact memory
LLM extrahuje krátké fakty, preference nebo konvence. Je tokenově efektivní a dobře řiditelná, ale hrozí chybné zobecnění a ztráta nuance. Proto je nutné ukládat typ, zdroj, confidence, trust score, validitu a možnost nahrazení.
4. SQL/event log jako source of truth
Transakční databáze je nejlepší základ pro audit, oprávnění, delete/export a reprodukovatelnost. Slabší je semantic recall, který se řeší sekundárním indexem. Pro Hermes by SQL/event log měl být primární pravda pro memory mutace i raw události.
5. Temporal knowledge graph
Graph dobře reprezentuje vztahy mezi uživateli, projekty, agenty, tasky, artefakty, rozhodnutími a jejich platností v čase. Přidává komplexitu ingestion a governance, ale pro multi-agent setup je velmi silný: pomáhá odpovídat na otázky typu „kdo rozhodl co, z čeho to vycházelo a co to nahradilo“.
6. Runtime memory service
Samostatná služba sjednocuje zápis, retrieval, audit, policy, observability a mazání. Je to doporučený cílový model pro Hermes, protože zabrání tomu, aby si každý agent zapisoval a četl memory jinak.
7. Agent-managed memory tools
Agent explicitně volá nástroje typu add/search/replace/delete. Výhoda je transparentnost a flexibilita, nevýhoda nekonzistence a riziko špatných zápisů. Bez guardrails, review queue a typového schématu je to nebezpečné pro permanentní memory.
8. PARA jako organizační a lifecycle vrstva
PARA (Projects / Areas / Resources / Archives) není retrieval backend ani memory framework; je to akčně orientovaná taxonomie pro digitální informace. Pro agentní paměť je užitečná jako vrstva nad typed memory storem: určuje, jestli je záznam součástí aktivního deliverable, dlouhodobé odpovědnosti, referenčního zdroje, nebo archivu.
Mapování pro agenty:
| PARA vrstva | Agent memory interpretace | Retrieval/lifecycle pravidlo |
|---|---|---|
| Projects | aktivní kanban tasky, iniciativy, run context, rozhodnutí k deliverable | nejvyšší priorita v promptu; po dokončení projít closing routine |
| Areas | dlouhodobé odpovědnosti: uživatel, tenant, repo, produkt, tým, doména | stabilní kontext s filtrem relevance a scope |
| Resources | dokumentace, výzkumné poznámky, web/source summaries, reusable snippets | evidence/reference; nikdy jako trusted instruction bez validace |
| Archives | dokončené runs, superseded facts, staré projekty a incidenty | audit/search; defaultně neinjektovat do promptu |
V Hermes multi-agent setupu by PARA měla být metadata vrstva pro namespace, ranking a úklid: aktivní Project dostane boost, relevantní Area je běžný kontext, Resources jsou low-trust evidence a Archives slouží primárně pro audit/debug. Důležité je, že PARA nenahrazuje typ paměti, trust score, tenant izolaci, časovou platnost ani provenance.
9. IWE jako Markdown/knowledge-graph memory pro lidi a agenty
Zkratka IWE není v agent-memory literatuře jednoznačně standardizovaná. Existují i významy typu „Intelligent Workflow Engine“ pro automatizaci procesů; pro tento report je relevantní konkrétní open-source projekt IWE - Memory system for you and your AI Agents, popisovaný jako lokální Markdown memory system / knowledge graph pro lidi a AI agenty.
IWE je zajímavé hlavně tím, že agentům nedává jen vektorové top-k výsledky, ale navigovatelnou znalostní bázi:
- plain Markdown soubory bez cloud/db lock-inu;
- knowledge graph přes odkazy, včetně „inclusion links“ pro parent-child vztahy;
- jeden dokument může mít více rodičů, takže stejná poznámka může patřit pod Project, Area i Resource bez duplikace;
- retrieval umí přidat parent context, children, backlinks a inline references;
- MCP server vystavuje operace typu find, retrieve, tree, stats, create, update, delete, rename, extract, inline, normalize a attach.
Pro Hermes je IWE vhodné jako inspirace pro „agent-navigable Markdown graph“ nad research výstupy, decision records, projektovými notes a vybranými skills. Nemělo by ale nahradit SQL/event log, typed MemoryStore, access control, PII kontrolu, conflict resolution ani audit write path.
Srovnání frameworků/nástrojů
| Nástroj | Kategorie | Self-host | Memory model | Silné stránky | Slabiny | Doporučení pro Hermes |
|---|---|---|---|---|---|---|
| Mem0 | Produkční memory service / SDK / MCP | Ano + managed | Entity scopes: user, agent, app, run; semantic + graph + filters/rerank/decay | Rychlý POC, CRUD/search, integrace s agent frameworky | Pokročilé funkce mohou být platform-only; riziko agresivní extrakce | POC #1 pro memory backend a API pattern. |
| Zep / Graphiti | Context platform + temporal KG | Graphiti ano, Zep managed | Graph RAG, context block, temporal edges | Temporalita, vztahy, provenance, enterprise kontext | Vyšší komplexita, Zep managed-first | POC pro relationship memory nad kanban/artifacty. |
| Letta / MemGPT | Stateful agent runtime | Ano | Core blocks, archival search, conversation history | Agent-native RAM/disk model, shared memory blocks | Těžší adopce bez převzetí runtime | Převzít koncepty memory blocks, ne nutně runtime. |
| LangMem / LangGraph | Framework primitives | Ano | Namespaces ve store, semantic/episodic/procedural memory | Blízké Hermes-like Python designu, hot-path i background extraction | Governance/security vrstvu je nutné dodat | POC #1b pro vlastní Hermes memory tools. |
| Cognee | Knowledge graph / data memory pipeline | Ano + cloud | Relational + vector + graph + recall | ACL, provenance, KG, artifact/research memory | Méně agent-native, komplexnější infra | POC pro project/research/code graph. |
| LlamaIndex Memory | RAG framework + chat stores | Ano | FIFO short-term + optional long-term extraction | Stabilní RAG ekosystém, mnoho storage integrací | Neřeší kompletní governance | Použít jako stavebnici pro artifact index/RAG. |
| CrewAI Memory | Framework-specific memory | Ano | Agent/project/company/customer scopes | Praktické scope modely pro crews | Méně univerzální mimo CrewAI | Inspirace pro path-like scopes. |
| AutoGen Memory | Interface/protocol | Ano | add/query/update_context/clear | Čistý a debugovatelný contract | Backend a governance si musí Hermes dodat | Vzor pro minimální memory interface. |
| Semantic Kernel | MS/.NET agent framework + vector abstractions | Ano | ChatHistory + vector RAG | Dobré pro MS/Azure enterprise | Memory je spíš chat history + RAG | Inspirace pro connector abstrakci. |
| IWE | Lokální Markdown memory / knowledge graph pro lidi a AI agenty | Ano | Markdown soubory + odkazy, inclusion links, CLI/MCP retrieval | Lidsky editovatelná knowledge base, graph navigace, parent/backlink context | Neřeší governance, PII, trust score, tenant izolaci ani audit jako memory store | Inspirace pro artifact/knowledge vrstvu nad Hermes memory, ne zdroj pravdy. |
| PARA | Organizační metoda / lifecycle taxonomie | N/A | Projects, Areas, Resources, Archives | Jednoduché akční třídění, lifecycle a archivace | Není retrieval algoritmus ani schema bezpečnosti | Použít jako metadata/ranking/cleanup vrstvu nad typed MemoryStore. |
Evaluace a provozní rizika
Memory se musí hodnotit nejen podle „accuracy“, ale i podle bezpečnosti, nákladů, latence, práva na mazání a odolnosti proti škodlivým zápisům.
Doporučené metriky
| Oblast | Metriky |
|---|---|
| Užitečnost | answer correctness, task success rate, memory usefulness, abstention precision |
| Retrieval | precision@k, recall@k, MRR/nDCG, temporal precision, provenance completeness |
| Update semantics | update correctness, stale fact activation, contradiction rate |
| Bezpečnost | poisoning acceptance rate, malicious-memory activation rate, PII leakage rate, tenant leakage rate |
| Provoz | p50/p95/p99 retrieval latency, tokens/query, cost/query, duplicate/obsolete ratio, write amplification |
| Compliance | deletion SLA, deletion verification pass rate, export completeness |
Relevantní benchmarky a inspirace: LoCoMo pro dlouhodobou konverzační paměť a temporalitu, LongMemEval pro multi-session reasoning a updates, Mem0 evaluation pro měření accuracy/token cost/latency a Zep temporal KG paper pro Graph RAG scénáře.
Hlavní rizika
| Riziko | Dopad | Mitigace |
|---|---|---|
| Persistent prompt injection / memory poisoning | Škodlivá instrukce přežije do budoucích sessions | Sanitizace před zápisem, trust score, instruction-like filtr, red-team testy. |
| Cross-tenant leakage | Únik dat mezi projekty/klienty | Hard tenant partitioning před retrieval, ACL, audit alerty. |
| PII leakage | Nechtěné ukládání nebo vyvolání osobních dat | PII klasifikace, consent basis, retention policy, view/edit/delete/export. |
| Stale memories | Agent používá staré preference nebo konvence | valid_to, supersedes, TTL, last_confirmed, conflict resolver. |
| Over-retrieval | Prompt je zahlcen irelevantní pamětí | Token budget, type filters, context assembler, retrieval logging. |
| Vendor lock-in | Obtížná migrace z managed služeb | Backend-agnostic MemoryStore, export testy, OSS POC. |
| Halucinovaná konsolidace | LLM vytvoří špatný „fakt“ ze syrových epizod | Provenance, confidence, review queue, rollback/tombstone. |
| Neúplné mazání | Memory zůstane v embeddings/cache/summaries | Tombstones, async sweep, deletion verification pass. |
| Špatné procedurální memories | Agent opakuje zastaralý postup | Procedures držet ve skills, s verzováním a patch workflow. |
Bezpečnostní rámce a příklady incidentů: OWASP Top 10 for LLMs and GenAI Apps 2025, Memory Poisoning Attack and Defense on Memory Based LLM-Agents, Unit 42: When AI Remembers Too Much a Google: AI threats in the wild — prompt injections on the web.
Doporučená architektura pro Hermes
Cílový model:
User / gateway / kanban / tools
|
v
Raw Event Log (append-only SQL)
- messages, tool calls, kanban events, run summaries, artifacts
- nikdy se celý automaticky neinjectuje do promptu
|
v
Memory Candidate Pipeline
- extract candidates
- classify type/scope/PII/trust
- assign PARA class: project/area/resource/archive
- dedupe and conflict resolution
- assign TTL / valid_from / valid_to
- review queue for sensitive/global writes
|
v
Current Memory Store
- typed records, namespaces, provenance, confidence
- SQL source of truth
| |
v v
Vector Index Temporal Graph Index
- semantic recall - user/project/task/agent/artifact/decision edges
- metadata filters - valid_from/valid_to, supersedes, derived_from
| |
v v
PARA/IWE Knowledge Layer
- Projects/Areas/Resources/Archives lifecycle
- Markdown graph, backlinks, inclusion links, source notes
\ /
v v
Context Assembler / Retrieval Orchestrator
- hard tenant filter before search
- type filters
- trust-aware ranking
- token budget
- explanation: why each memory was retrieved
|
v
Agent Prompt Context Pack
- relevant skills
- small user/profile block
- project facts
- task-related episodic summaries
- source/artifact links
Doporučené schéma memory záznamu:
{
"id": "mem_...",
"tenant": "...",
"namespace": "user|project|task|agent|org",
"subject": "user/project/task/profile id",
"visibility": "private|profile|project|tenant|global",
"type": "preference|fact|decision|episodic|procedure_ref|source_summary|risk",
"para_class": "project|area|resource|archive",
"lifecycle_state": "active|dormant|archived|superseded",
"content": "krátký fakt nebo shrnutí, ne raw transcript",
"source": {"kind": "user|agent|tool|web|doc", "task_id": "...", "run_id": "...", "url": "..."},
"trust_score": 0.0,
"confidence": 0.0,
"salience": 0.0,
"pii_class": "none|low|sensitive|secret",
"valid_from": "...",
"valid_to": null,
"expires_at": null,
"supersedes": [],
"contradicts": [],
"schema_version": 1,
"embedding_version": "...",
"created_at": "...",
"updated_at": "...",
"deleted_at": null
}
Retrieval pravidla
- Tenant/project namespace musí být tvrdý filtr před vector search, ne až po něm.
- Prompt nesmí dostat raw top-k memories bez typového filtru.
- Ranking má kombinovat relevanci, recency, importance/salience, trust score, provenance a conflict status.
- Každá injected memory musí mít důvod vložení a zdroj.
- Low-trust evidence z webu/dokumentů nesmí být interpretována jako instrukce.
- Skills/procedures se mají načítat přes skill mechanismus, ne jako běžné facts.
- PARA scope má ovlivnit pořadí: aktivní Project > relevantní Area > Resource > Archive; Archive defaultně jen pro audit/debug.
- IWE-like graph retrieval může doplnit parent context, děti a backlinks, ale výstup musí projít stejným trust/context assemblerem jako ostatní zdroje.
Write pravidla
- User correction nebo explicitní „remember this“ má vysokou prioritu, ale stále potřebuje typ, scope a provenance.
- Project convention z nástroje/repa ukládat jen pokud je stabilní a dohledatelná.
- Task progress nepatří do long-term memory; patří do kanban run history nebo session_search.
- Workflow oprava patří do skill patch, ne do user memory věty.
- Web/doc/email obsah zapisovat pouze jako low-trust evidence/source summary, nikdy jako trusted policy.
- Citlivé, globální nebo cross-tenant zápisy musí jít přes review queue.
Implementační roadmapa
Fáze 0: Design a baseline audit (1–2 týdny)
- Zmapovat současné Hermes memory typy: user profile, memory store, session_search, skills, kanban run history.
- Definovat typed schema, namespaces a visibility model.
- Doplnit pravidlo: memory ≠ task progress; procedure ≠ user fact; skill patch místo volné procedurální memory.
- Doplnit PARA metadata pro lifecycle a closing routine: project/area/resource/archive.
- Navrhnout MemoryStore interface: propose, approve/write, search, replace, delete, export, access_log.
Fáze 1: Governance minimum (2–4 týdny)
- Přidat metadata: type, namespace, source, trust_score, confidence, pii_class, TTL/validity.
- Přidat memory access log do agent run trace: retrieved IDs, skipped IDs, query, scores, důvod vložení.
- Zavést candidate memory review pipeline pro citlivé/globální záznamy.
- Přidat CLI/UI příkazy: inspect, edit, delete, export memories.
Fáze 2: POC backendů (3–6 týdnů)
- Mem0 POC: user=zico, app=Hermes, agent=researcher/analyst, project=multi-agent; test add/search/update/delete, filters, export, MCP.
- LangMem POC: namespaces
(memories, tenant, user),(project, project_id),(agent, profile); porovnat hot-path vs background extraction. - Graphiti/Cognee POC: ingest kanban tasky, handoff metadata a artifact markdowny; test dotazy na rozhodnutí, provenance a vztahy.
- IWE/IWE-like POC: Markdown knowledge graph pro research notes a decision records; test retrieve s parent contextem, backlinks a inclusion links.
Fáze 3: Eval a red-team (první verze 2–3 týdny, potom průběžně)
- Vytvořit 50–100 Hermes-specific testů: preference recall, stale update, abstention, tenant isolation, poisoning, PII leakage.
- Spouštět replay s memory on/off a porovnávat task success, token cost a latency.
- Přidat alerty: spike memory writes, cross-tenant retrieval, high low-trust ratio v promptu.
Fáze 4: Produkční referenční architektura (6–12 týdnů)
- SQL/event log jako source of truth pro memory mutations.
- Vector index s metadata/hard namespace filtry.
- Temporal graph pro user–project–repo–task–agent–artifact–decision vztahy.
- ContextAssembler jako jediná cesta pro injection memories do promptu.
- PARA lifecycle classifier pro ukončení tasku: discard, archive, promote to Area/Resource, promote to Skill.
- IWE-like Markdown graph jako lidsky editovatelná knowledge/project dokumentace, napojená přes MCP/native toolset za guardrails.
- Deletion workflow: tombstone, sweep embeddings/cache/summaries, verification pass.
Zdroje
- A-MEM: Agentic Memory for LLM Agents
- Memory OS of AI Agent
- Mem0 paper
- Mem0 documentation
- Mem0 GitHub
- Zep temporal knowledge graph paper
- Graphiti GitHub
- Zep documentation
- LangGraph Memory documentation
- LangMem GitHub
- Letta documentation
- Letta GitHub
- MemGPT paper
- Cognee documentation
- LlamaIndex Memory
- CrewAI Memory
- AutoGen Memory
- Semantic Kernel Agent Framework
- Generative Agents
- Reflexion
- Think-in-Memory
- LLM agent memory survey
- LoCoMo benchmark
- LongMemEval benchmark
- OWASP Top 10 for LLMs and GenAI Apps 2025
- OpenTelemetry AI Agent Observability
- OpenAI Memory controls
- Tiago Forte: The PARA Method
- Forte Labs: Building a Second Brain
- IWE: Memory system for you and your AI Agents
- IWE GitHub
- IWE README: Markdown memory system for you and your AI agent
- IWE MCP Server docs
- IWE Retrieve docs
- IWE inclusion links
- IWE PKM demo
- Intelligent Workflow Engine — alternate IWE meaning
Veřejný odkaz
Report je publikovaný zde: agent-memory-research-2026.md