Dónde vive una conversación entre turnos
Si cada turno es una petición autocontenida, ¿dónde está el resto de la conversación? Qué se guarda en cada turno y qué no se guarda nunca, la ventana literal, cómo los turnos antiguos se pliegan exactamente una vez en un resumen acumulado, qué pasa cuando un solo turno aún desborda, y qué hechos sobreviven a la sesión.
Cada turno es una petición autocontenida: el modelo no guarda nada entre turnos, y lo que no está en la petición no existe para él. Lo que plantea la pregunta obvia — si el modelo no recuerda nada, ¿dónde está la conversación?
Está de nuestro lado, en tres capas con tres duraciones distintas. Cada turno se compone a partir de ellas, y lo que las diferencia no es la importancia sino hasta dónde alcanzan hacia atrás.
Las tres capas
Qué se guarda, y qué no se guarda nunca
Cada turno escribe exactamente dos filas: lo que dijo el visitante y lo que respondió el agente. Ambas cifradas en reposo con una clave por usuario, igual que el resto de su contenido (Privado por diseño).
Lo que no se escribe es igual de deliberado. Las invocaciones de herramientas que hizo el modelo, las cargas en bruto que devolvieron, el razonamiento intermedio por el camino: nada de eso se persiste. Existió durante un turno, dentro de una petición, y desapareció. El registro de la conversación es lo que realmente se dijo, que es también por lo que una conversación guardada la puede leer una persona sin vadear los cálculos de una máquina.
La ventana literal
Los turnos más recientes entran en la petición palabra por palabra — ahora mismo, los últimos doce mensajes. Esta es la capa que hace que un agente parezca estar en la conversación contigo: los pronombres se resuelven, las correcciones se mantienen, «el segundo» significa algo.
La ventana es un número fijo de mensajes y no un presupuesto de tokens a propósito. Un número fijo es predecible: puedes razonar sobre qué seguirá teniendo delante el agente. Cuando la ventana no cabe en el presupuesto, toma el relevo la prioridad de la petición (qué se descarta) y los más antiguos de esos mensajes son los primeros en salir.
El resumen acumulado
Todo lo anterior a la ventana no se descarta. En cuanto se han acumulado más mensajes de los que la ventana admite, el excedente — los más antiguos — se pliega en el resumen de la sesión, y un cursor avanza más allá de ellos.
Ese cursor es la parte que merece la pena conocer. El resumen no se regenera cada vez a partir de la conversación entera; se extiende de forma incremental: el resumen existente más los mensajes que acaban de salir de la ventana producen el nuevo resumen, y esos mensajes no se resumen nunca más. Eso es lo que evita que mantener una conversación larga cueste cada vez más, y es la razón por la que el resumen sedimenta en lugar de reescribirse: el contexto temprano queda tal como se registró la primera vez.
El resumen tiene un tope (unos cientos de tokens), se guarda en la sesión y va cifrado como todo lo demás. En la petición es un bloque, por encima del historial.
Cuando un solo turno aún desborda
Los dos mecanismos anteriores son de régimen estable. Un solo turno todavía puede ser demasiado grande por sí mismo: una pregunta muy larga, un documento extenso pegado, una base de conocimiento que aportó más de lo habitual.
En ese caso el presupuesto de la petición descarta primero el historial más antiguo, y los turnos que descartó se compactan en el bloque de resumen de ese turno en lugar de eliminarse sin más. La distinción importa: descartar pierde el contenido en silencio, compactar conserva su sustancia y solo pierde la redacción. Nada se borra a escondidas para que la petición quepa.
Qué sobrevive a la sesión
Las capas anteriores pertenecen a una conversación. Dos cosas no:
- Hechos duraderos sobre el cliente — derivados de los turnos a medida que ocurren, deduplicados de modo que un mismo hecho se actualiza en vez de acumularse, y recuperados por relevancia y no por recencia. Acompañan a la persona entre sesiones y entre canales. Memoria por cliente explica cómo se derivan y qué se recuerda.
- Un perfil breve — actualizado periódicamente a partir de mensajes recientes, que lleva contexto permanente más que hechos.
Así que una sesión nueva es una conversación genuinamente nueva — sin historial, sin resumen — pero no amnésica. Lo que el agente aprendió sobre la persona sigue ahí.
Qué significa esto para ti
- Una sesión es lo que mantenga el mismo session id. El widget web guarda uno por visitante; en la API lo decides tú. Empezar una nueva es cómo se suelta el hilo deliberadamente sin perder lo aprendido sobre el cliente.
- Una conversación larga se degrada poco a poco, no de golpe. Los turnos más antiguos pierden su redacción antes que su sustancia, y su sustancia antes de desaparecer del todo.
- Las exportaciones y los registros muestran la conversación, no la maquinaria. Como el tráfico de herramientas nunca se guardó, lo que lees es lo que habría leído una persona.