# Ejemplos — «¿Cómo se le da memoria a una IA?» Material de apoyo para la web y para el oyente curioso. Acompaña al episodio de *atareao con Linux* que cuenta —sin una palabra de programación— cómo se le da memoria a un modelo de lenguaje, usando [`valet-ai`](https://github.com/atareao/valet-ai) como caso de estudio. Los ejemplos de aquí no son «de laboratorio»: son **fragmentos reales de una instancia de Valet en producción**, generalizados para poder publicarlos. Se han quitado nombres de terceros, lugares, restaurantes, proyectos internos y el nombre propio del asistente; se ha mantenido el resto —incluidas las cifras y los ejemplos de *running*— tal cual. > **Ojo:** aquí **no se instala ni se despliega Valet**. Eso es el episodio > siguiente, *«Podman, IPs reales y La Liga»*. Esto de aquí es solo para > **asomarse a las ideas**: cuatro ejemplos autocontenidos que se ejecutan con > Python 3 y no tocan nada de nadie. --- ## La estructura del episodio: 7 puntos, 4 actos El guión va de lo mecánico a lo humano en siete puntos, agrupados en cuatro actos. **Solo cuatro de esos puntos llevan demo**; los otros tres se apoyan en una imagen, un diagrama o un dato. Este es el orden de emisión, con el ejemplo que se ejecuta en cada punto que lo tiene: | Acto | Punto | Título | Qué se ve | Ejemplo | |---|---|---|---|---| | **I · El cajón** | 1 | Un buscador con modales | imagen | — | | **I · El cajón** | 2 | La memoria vive alrededor | diagrama | — | | **II · Los hechos y el retrato** | 3 | Lo que dijiste, lo que pasó y cuándo | **demo** | `02-buscar-por-significado.py` | | **II · Los hechos y el retrato** | 4 | El retrato | dato (19 normas) | — | | **III · El relato y lo que lo sostiene** | 5 | El diario que se escribe solo | **demo** | `03-la-bitacora.py` | | **III · El relato y lo que lo sostiene** | 6 | Las tres decisiones | **demo** | `01-un-solo-fichero.py` | | **IV · Lo que falta** | 7 | No hay botón de olvidar | **demo** | `04-el-olvido-y-el-eco.py` | Fíjate en que los nombres de los ficheros **no son `demo-01`, `demo-02`…**: se referencian por el nombre con el que el guión, la escaleta y la presentación los citan. El número del fichero es solo una etiqueta de taller, no el orden de emisión: el `01` se emite en el punto 6, el `02` en el punto 3, el `03` en el punto 5 y el `04` en el punto 7. --- ## Las cinco capas del episodio Todo el programa gira alrededor de cinco preguntas, que en Valet son cinco capas: **A · B · C · D · E**. De lo mecánico a lo humano. | Capa | Pregunta | Qué guarda | Ejemplo de aquí | |---|---|---|---| | **A** | ¿Qué guardo? | Lo que dijiste, tal cual. La grabación en bruto. | `01` | | **B** | ¿Cómo lo encuentro? | Fichas con el sentido de la conversación, buscadas **por significado**. | `01`, `02` | | **C** | ¿Cómo sé cómo eres? | Tu retrato: verdades sobre ti + cómo quieres que se comporte. | `01` | | **D** | ¿Qué pasó, y cuándo? | Hechos sueltos con fecha: tu línea del tiempo. | `01` | | **E** | ¿Cómo fue el día? | **La Bitácora**: el relato del día, escrito solo. | `01`, `03` | Y tres decisiones que atraviesan todas las capas: 1. **Todo cabe en un solo fichero**, en tu máquina → `01`. 2. **Una sola transacción**: las cuatro capas de la vida, de golpe → se cuenta en el episodio; el problema del «eco» se ve en `04`. 3. **La edad no borra, reordena** → se cuenta con la imagen de la biblioteca en el episodio. --- ## Cifras reales de la instancia Medido sobre la instancia de producción de Valet el **25 de octubre de 2026**. | Capa / actividad | Qué hay | Cifra | |---|---|---| | **Conversación** | Mensajes totales (268 usuario / 247 asistente), desde el 6-oct | **515** | | **A · indexado** | Mensajes ya procesados por el asistente | **503** | | **B · fichas** | Resúmenes de conversación guardados | **81** | | **C · persistente** | Una sola ficha, con normas de casa | **1 fila · 19 normas** | | **D · timeline** | Hechos con fecha (8 deporte, 1 social, 1 sistema) | **10** | | **E · bitácora** | Entradas (18–24 oct; 5 con ánimo «buen día», 1 «neutro») | **6** | | **Llamadas al modelo** | Chat 654 · router 237 · consolidador 192 · archivista 111 · timeline 74 · journal 6 | **1.274** | Procedencia: **instancia de producción de Valet, 25-oct-2026**, consultada en solo lectura. Las cifras se mantienen íntegras; lo único que se ha generalizado es lo identificable (nombres propios, lugares y proyectos). --- ## Los ficheros | Fichero | Necesita | Qué enseña | |---|---|---| | `01-un-solo-fichero.py` | nada (Python 3) | Cómo las cinco capas caben en **un único fichero** que es tuyo, con fragmentos reales de las capas A–E. Lo copias al pendrive, lo abres y lees qué sabe de ti. | | `02-buscar-por-significado.py` | nada (Python 3) | La diferencia entre buscar **por palabra** y buscar **por significado** (el bibliotecario de ideas del episodio). | | `03-la-bitacora.py` | nada (Python 3) | La Capa E: una entrada **por día**, escrita sola… o el «no escribo» cuando el día no da para nada. | | `04-el-olvido-y-el-eco.py` | nada (Python 3) | Que no hay botón de «olvida esto», que el único «empezar de nuevo» borra todo, y el **eco** de un recuerdo mal borrado. | | `datos/` | — | Tres jornadas de ejemplo para el `03`: el 18 y el 20 de octubre (reales) y un día vacío, para ver el «no escribo». | Todos son de **solo lectura** sobre el mundo exterior: crean sus ficheros de juguete en una carpeta de trabajo y no llaman a ninguna nube. --- ## Cómo probarlos ```bash cd ejemplos-la-memoria-de-valet python3 01-un-solo-fichero.py python3 02-buscar-por-significado.py python3 03-la-bitacora.py python3 04-el-olvido-y-el-eco.py ``` El `03` escribe sus entradas en una carpeta `bitacora/` del directorio donde lo ejecutes. Bórrala cuando quieras: así se ve, de paso, que borrar es borrar. --- ## Para qué sirve cada uno, contado en lenguaje llano **`02` — El bibliotecario que entiende ideas** *(punto 3)*. Un buscador normal te trae el libro que se titula literalmente como tu pregunta. El de Valet te trae **el libro que habla de lo mismo**, aunque no comparta ni una palabra. En el ejemplo (que es una maqueta, sin modelo) se ve cómo «quiero algo sobre el miedo a hablar en público» encuentra la ficha de «ansiedad antes de una presentación», y cómo «coche» encuentra «automóvil». **`03` — Alguien llevándote el diario** *(punto 5)*. La quinta capa no cataloga: cuenta. Le das el material de un día y decide si merece una entrada. Si el día está vacío, **no escribe nada**, y eso es una respuesta válida. Si escribe, es **una sola entrada por día**, con el relato y sus matices (ánimo, logros, dificultades, etiquetas). Los días de ejemplo son reales: el 18 de octubre (lluvia, plan de entrenamiento ajustado, tirada de 40 min en vez de 13 km) y el 20 de octubre (7,51 km en 51:42). **`01` — Tu memoria en un fichero** *(punto 6)*. Todo lo que sabe tu asistente —lo que le dijiste, lo que pasó, cómo eres, tu línea del tiempo y el diario— vive en **una sola caja fuerte** que está en tu casa. La copias a un pendrive y la llevas en el bolsillo. La abres y lees lo que sabe de ti. La borras y no queda rastro. Este ejemplo lo enseña con contenido real: una ficha de resumen de artículos de RSS, tres de las normas de casa, tres hechos de la línea del tiempo (una salida a correr de 9,00 km, una cena fuera y una corrección del nombre de Valet) y una entrada de bitácora del 18 de octubre. **`04` — La pregunta difícil** *(punto 7)*. Pedirle que olvide un recuerdo concreto no funciona: ese botón no existe. Solo hay uno, y es brutal: borra todo. Y en medio, el **eco** —una huella que el buscador todavía huele, pero sin texto detrás—, que es la mejor metáfora de lo que es la memoria, incluso la humana. Los recuerdos usados son los tres hechos reales del timeline. --- ## Lo que se cuenta en el episodio y no se ve aquí Para que no haya sorpresas a quien venga buscando trucos: - **La instalación y el despliegue de Valet no están en este episodio.** Llegan en el siguiente, *Podman, IPs reales y La Liga*. - La **búsqueda por significado** de verdad usa un modelo que traduce el texto a números. El `02` lo imita con un diccionario a mano para que puedas ejecutarlo sin instalar nada. - La **Bitácora** de verdad la escribe un modelo a partir de tus hechos y mensajes. El `03` reproduce el **mecanismo** (recoger el día, decidir, escribir una única entrada), no la prosa. ## El repositorio - **Valet** — (público, licencia MIT)