
Una sola fuente de verdad: cómo el sitio se arma solo desde el catálogo
Teníamos los servicios cargados en la base y escritos otra vez en el sitio. Cada cambio había que hacerlo dos veces, y siempre había un lugar que quedaba viejo.
Un agente que recuerda todo es un agente lento, caro y confundido. Diseñar qué se descarta resultó más difícil que diseñar qué se guarda.

Cuando alguien dice que su agente "tiene memoria", casi siempre quiere decir que guarda el historial de la conversación. Eso es lo fácil. Lo difícil, y donde se define si el agente sirve a los seis meses, es decidir qué se tira.
Nos costó un tiempo darnos cuenta de que estábamos mezclando tres cosas bajo la misma palabra.
La conversación en curso. Lo que se dijo en los últimos mensajes. Vive en el estado del agente, se persiste para que sobreviva a un reinicio y tiene un techo: pasado cierto punto, los mensajes viejos se resumen.
Los hechos del cliente. Que se llama Marta, que su local está en Córdoba, que ya nos dijo tres veces que odia el color naranja. Esto no va en la conversación. Va en la base, en la ficha del contacto, y se inyecta cuando hace falta. Si viviera en la conversación, se perdería con el primer resumen.
Lo que pasó en el proyecto. Las tareas hechas, los archivos generados, las decisiones tomadas. Vive en el registro del proyecto y se consulta cuando el agente necesita contexto histórico.
La regla que ordenó todo: si algo tiene que sobrevivir a la conversación, no puede vivir en la conversación.
El resumen automático de conversaciones largas tiene una trampa. Los resúmenes genéricos conservan lo que "parece" relevante en términos narrativos, y se comen los detalles operativos. Un resumen puede decir "el cliente pidió cambios en la home" y descartar que el cambio era el número de teléfono, que es lo único que importaba.
Nuestra solución fue guiar el resumen: decirle explícitamente qué categorías de información tiene que preservar sí o sí. Decisiones tomadas, datos concretos mencionados, pendientes. Todo lo demás puede comprimirse.
De todas las técnicas que probamos, la de mejor relación entre esfuerzo y beneficio fue la más simple: descartar el resultado crudo de una herramienta una vez que se usó.
Cuando el agente lee un archivo de veinte mil caracteres para extraer un dato, no hace falta que esos veinte mil caracteres sigan en la conversación diez turnos después. El dato extraído, sí. El volcado crudo, no.
Es más segura que resumir, porque no toca el razonamiento del agente: solo saca material de referencia ya consumido.
Hay una decisión que tomamos y que a primera vista parece un retroceso: cuando un proyecto termina, la conversación asociada se archiva. No se borra, se saca del contexto activo.
La razón es que un agente que arrastra el historial de un proyecto cerrado empieza a responder sobre el proyecto viejo cuando el cliente vuelve por uno nuevo. Lo vimos. Es confuso para el cliente y difícil de diagnosticar, porque técnicamente el agente está funcionando bien: recuerda demasiado.
Cada tanto tomamos una conversación larga real y le preguntamos al agente por un dato que se mencionó al principio. Si no lo tiene, no es un problema de memoria del modelo: es que ese dato estaba en el lugar equivocado.
La respuesta casi nunca es "guardemos más". Casi siempre es "esto tendría que haber estado en la ficha del cliente desde el primer momento".

Teníamos los servicios cargados en la base y escritos otra vez en el sitio. Cada cambio había que hacerlo dos veces, y siempre había un lugar que quedaba viejo.

Idempotencia, migraciones, borrado lógico, fallar temprano. Conceptos de hace décadas que se volvieron críticos justo cuando quien escribe el código no siempre es humano.
Contanos qué necesitás y te decimos cómo lo encararíamos. En minutos, no en semanas.
Sin compromiso. La primera charla es gratis y respondemos al toque.