Memoria persistente compartida para agentes locales
Cuando varios agentes trabajan durante días, el contexto del chat no basta. Necesitas memoria externa: estado de tareas, decisiones, documentos recuperables y una forma de olvidar lo que ya no sirve.
Objetivos de aprendizaje
- Separar memoria de trabajo, memoria vectorial y wiki humana.
- Evitar que varios agentes escriban verdades contradictorias.
- Diseñar decay, permisos y trazas para memoria compartida.
En cristiano: memoria compartida. Es un almacén externo que varios agentes pueden consultar o actualizar: tareas, decisiones, notas, embeddings, documentos y resúmenes.
Terminal
memory_layers:
hot:
storage: "task_board"
content: "estado actual, bloqueos, owner"
warm:
storage: "qdrant"
content: "decisiones, conversaciones resumidas, documentos"
cold:
storage: "obsidian"
content: "wiki revisada, fuentes y reglas estables"
rules:
write_requires_source: true
conflicting_fact: "create_review_task"
decay_days: 30 Idea clave. La memoria útil no es “guardar todo”. Es guardar lo que cambia decisiones futuras y poder explicar de dónde salió.
Qué guardar
- Decisiones tomadas y motivo.
- Errores repetidos y solución aplicada.
- Preferencias explícitas del usuario.
- Estado de tareas y handoffs.
- Fuentes estables con fecha.
Cuidado. No dejes que todos los agentes escriban en la wiki final. Usa un borrador y un verificador, o la memoria se llenará de medias verdades.
Terminal
memory_event: type: "decision" scope: "project:aulafy" fact: "Las lecciones deben citar fuentes oficiales cuando tratan herramientas vivas." source: "editorial_policy" confidence: 0.95 expires_at: null writer_agent: "planner"
Comprueba que funciona. Crea dos agentes que intentan guardar conclusiones opuestas. El sistema debe detectar conflicto y pedir revisión, no elegir una al azar.
Guardar y reabrir el proyecto.
La memoria persistente es una base de datos editorial. Sin permisos, fechas y revisión, se convierte en una fábrica de ruido.