Capítulo 3.6 — Memória em sistemas agentic¶
🎯 Objetivo¶
Distinguir histórico no prompt de memória persistida - e tratar memória como sistema com governança.
🧠 Tipos de memória¶
| Tipo | Armazena | Store típico | Risco |
|---|---|---|---|
| Short-term | Histórico recente | Runtime, Redis | Overflow de contexto |
| Working | Plano, hipóteses, artefatos | Runtime, checkpoints | Expor raciocínio sensível |
| Long-term | Preferências, fatos | SQL, document, vector | Privacidade, obsolescência |
| Episodic | Execuções e feedback | Event store, logs | Reaproveitar erro antigo |
| Semantic | Conhecimento estável | Document, KG | Governança ruim |
| Operacional | Estado de workflow | Temporal, DB | Inconsistência |
| Ferramentas | Cache de resultados | Cache, KV | Cache stale |
| Decisões | Quem decidiu o quê e por quê | Audit log | Falta de explicabilidade |
🛡️ Princípios¶
- Segmentação obrigatória - por usuário, tenant, workspace, região, classificação, finalidade.
- Expiração explícita - TTL por tipo.
- Consentimento quando aplicável.
- Auditoria de leitura e escrita.
- Memorizar fatos confirmados; não memorizar palpites do modelo.
🚨 Memory poisoning¶
Ocorre quando dado incorreto, malicioso ou ambíguo é persistido e reutilizado.
Mitigações:
- classificar tipo (fato vs inferência);
- registrar fonte (provenance);
- exigir confirmação para preferências persistentes;
- aplicar TTL;
- validar contra fontes de verdade;
- permitir edição/exclusão;
- usar evals para memória.
📚 Referências¶
- LangGraph - Persistence: https://docs.langchain.com/oss/python/langgraph/persistence
- MemGPT paper: https://arxiv.org/abs/2310.08560