Memoria del agente
La memoria del agente en Notarium no es magia oculta ni una base de datos aparte: son notas corrientes de la clase agent-memory, que el agente escribe a partir de sus observaciones y que tú puedes leer, corregir y borrar. El agente guarda hechos mediante remember_about_user y remember_about_project, y recupera contexto mediante recall. La disciplina clave es buscar antes de escribir, para no generar duplicados.
Dos ejes: sobre el usuario y sobre el proyecto
La memoria vive en dos ejes ortogonales:
- Sobre el usuario —
remember_about_userescribe hechos de larga duración sobre ti (preferencias, contexto, trabajo actual) en la memoria privada de tu dominio personal. Es la misma memoria sin importar en qué espacio trabajes: no se mezcla en cada espacio. - Sobre el proyecto —
remember_about_projectescribe memoria sobre un proyecto concreto en su subdirectorio. Es simétrico a escribir sobre el usuario, pero ligado al proyecto.
Ambos ejes usan la clase agent-memory. El agente no elige ni la clase, ni la carpeta, ni el espacio: es la propia herramienta la que impone todo eso. El conocimiento compartido que debe vivir en el árbol del proyecto como user-doc lo escribe una herramienta aparte, create_note, no «remember».
Un archivo por categoría, no un archivo por observación
remember_about_user(observation, category) añade la observación al archivo de la categoría en lugar de generar un microarchivo por cada hecho. category es una etiqueta («preferences»), no una ruta. Una categoría nueva significa un archivo nuevo. El summary opcional es un resumen de una línea de la categoría, que alimenta el índice derivado del perfil.
Corregir o borrar un solo hecho registrado es simplemente editar una nota corriente: edit_note por el id de la nota de memoria (que devuelve remember_*) en modo findReplace (un content vacío elimina el fragmento) o en modo replace para toda la categoría. No hay un «direccionamiento por observación» aparte: la memoria se edita con los mismos modos basados en palabras que cualquier nota.
recall ≠ search
Ambas herramientas leen, pero resuelven problemas distintos:
search | recall | |
|---|---|---|
| Qué devuelve | fragmentos ordenados con score y path | un paquete de contexto coherente dentro de un presupuesto de tokens |
| Alcance | notas relevantes | notas relevantes más sus vecinas en el grafo (depth saltos por el grafo) |
| Memoria | ve la memoria (para deduplicar) | recupera del conocimiento y de la memoria personal |
| Cuándo llamarla | encontrar algo concreto, comprobar antes de escribir | armar contexto en torno a un tema para trabajar |
recall es más rico: recorre el grafo alrededor de lo que encontró y empaqueta el resultado dentro de budgetTokens, mientras que maxPerSource evita que una nota grande se coma todo el paquete. search es preciso: es el mecanismo mismo que hay detrás de «buscar antes de escribir».
Buscar antes de escribir
La memoria es la única clase sin protección contra duplicados por título, así que search deliberadamente cubre también la memoria del agente. Busca siempre antes de escribir: esto deduplica tanto el conocimiento como la memoria.
Antes de remember_*, llama a search sobre el tema del hecho. Si la categoría ya existe, añade a ella mediante el mismo remember_* (que añade) o corrígela con edit_note, en lugar de crear un sinónimo.
Qué ve el propietario
La memoria está oculta de la navegación normal (el árbol, el Feed, la búsqueda corriente), pero no está escondida de ti: se ve a través de una lente Memory dedicada en el árbol del explorador (las notas se abren como cualquier otra, en /m/<id>), y puedes silenciar una categoría en Agents → Context. La entrada del registro de revisiones muestra exactamente lo que el agente registró: así es como detectas cualquier cosa que una inyección haya podido colar. No puedes reorganizar la memoria: la sección es propiedad del agente (un conjunto plano más un índice derivado), pero moverla de sitio es técnicamente seguro, porque la identidad va en el id de la nota.
Siguiente
- Conjuntos de contexto y pins — cómo silenciar una categoría de memoria y qué se carga al arrancar.
- Auditoría de recuperación — qué buscó el agente mediante
search/recally si lo encontró. - Herramientas de intención — el conjunto completo de herramientas.