MemoryLake
Volver a todos los artículos
Tutorial10 de agosto de 2026·10 min de lectura

Por qué ChatGPT olvida tus decisiones de arquitectura y cómo solucionarlo (2026)

Pasaste una hora con ChatGPT analizando por qué el servicio debería tener su propia ruta de escritura en lugar de compartir la base de datos de esquema compartido. Buena conversación, conclusión correcta, razonamiento real. Seis semanas después, le pides que diseñe el servicio de reportes y te propone el esquema compartido, con total confianza, como si la discusión nunca hubiera existido.

Aquí está la respuesta directa: una decisión de arquitectura es una restricción más un motivo, y ChatGPT no conserva ninguna de las dos cosas. No hay un archivo de reglas que lea, su memoria está dimensionada para preferencias en lugar de registros de decisiones, y el sistema de memoria más nuevo sintetiza lo que almacena en lugar de conservar tus palabras exactas; por lo tanto, el motivo, que es la parte fundamental que sostiene todo, es precisamente lo que se comprime y desaparece. La solución es escribir las decisiones en el formato que necesitan para sobrevivir y colocarlas en un lugar que el asistente lea en cada solicitud, en lugar de en un sitio que tengas que acordarte de copiar y pegar.

Esto explica por qué el razonamiento es específicamente lo que se desvanece, qué es lo que la práctica de registros de decisiones de arquitectura (ADR) ya hacía bien, y dónde ayuda una capa de memoria frente a dónde un archivo confirmado en el repositorio es la mejor respuesta.

Por qué ChatGPT olvida tus decisiones de arquitectura

Una decisión es una restricción más un motivo

"No compartimos la base de datos entre servicios" es la mitad de una decisión. La otra mitad es porque el orden de las migraciones causó dos caídas del servicio y el equipo propietario del esquema no puede autorizar cada despliegue. Sin la segunda mitad, la primera es solo una preferencia, y una preferencia siempre pierde frente a una alternativa que suene plausible.

Por esto existe la práctica de los registros de decisiones de arquitectura (ADR): un ADR empareja la decisión con el contexto que la forzó y las consecuencias resultantes, precisamente porque los equipos descubrían una y otra vez que una decisión sin justificación no sobrevive al contacto con nuevas personas o nuevas circunstancias. Un asistente es una persona nueva en cada sesión.

El motivo es lo que se elimina al resumir

Este es el mecanismo que hace que esto sea peor que el olvido común. La memoria guardada de ChatGPT es corta por diseño, porque se envía junto con cada prompt. Y desde la actualización del sistema de memoria que OpenAI anunció en junio de 2026, lo que obtienes es un resumen de memoria (un relato sintetizado de lo que el sistema concluyó sobre ti, que se mantiene actualizado con el tiempo) en lugar de una transcripción de lo que dijiste.

La síntesis es la solución ideal para mantener útil una memoria pequeña, pero es la incorrecta para las decisiones. Si comprimes "no compartir la base de datos porque el orden de las migraciones causó dos caídas del servicio", el resultado natural es "prefiere bases de datos propias por servicio". La restricción desaparece; la preferencia permanece; la preferencia es anulable. Terminas con un asistente que recuerda a medias tu arquitectura como si fuera una elección de estilo.

Las opciones rechazadas nunca se escriben

El contenido más valioso en una discusión de arquitectura es la lista de cosas que descartaste y por qué. También es el contenido que nadie registra, porque en el momento en que descartas algo parece obvio y no crees que valga la pena escribirlo.

Nada en el flujo de trabajo de un chat lo captura. Así que se vuelven a proponer las mismas tres alternativas cada trimestre, y cada vez pasas veinte minutos volviendo a deducir por qué no funcionan; este es el patrón detrás de un asistente que resurge repetidamente ideas que ya rechazaste.

No hay un archivo para ello, a diferencia de un agente de programación

Los agentes de programación resolvieron la mitad de la disponibilidad de este problema con archivos cargados en cada solicitud, razón por la cual el hecho de que Cursor olvide decisiones de arquitectura generalmente se puede solucionar escribiendo un mejor archivo de reglas.

ChatGPT no tiene un equivalente. No hay una ruta que lea antes de responder. Las instrucciones personalizadas son pequeñas y globales. Los archivos adjuntos de un Project están limitados a ese Project. La memoria es de una o dos páginas. Ninguno de ellos es un registro de decisiones, por lo que tu arquitectura vive en la última conversación en la que la discutiste.

Las decisiones cambian y la anterior no se retira

La arquitectura tiene versiones, la gestiones activamente o no. Revisas el modelo de tenencia en el tercer trimestre, y cada diseño realizado bajo el modelo del segundo trimestre era correcto en ese momento. Un flujo de trabajo basado en chat no tiene un lugar para registrar que una decisión reemplazó a otra en una fecha determinada, por lo que terminas sin poder interpretar tu propio trabajo pasado, que es precisamente el modo de fallo que los ADR buscan prevenir con su campo de estado.

Lo que la gente intenta

Explicarlo de nuevo cada vez. Funciona, pero se degrada. Estás repitiendo de memoria, por lo que la versión que escribes en septiembre es la mitad resumida de la versión que definiste en julio, y la restricción es la parte aburrida.

Poner las decisiones principales en las instrucciones personalizadas. El primer paso correcto para dos o tres restricciones fundamentales, y vale la pena hacerlo. El espacio es pequeño, por lo que debes elegir qué decisiones importan más, y se aplica de forma global, lo cual es incorrecto si trabajas en más de un sistema.

Guardar decisiones en la memoria. Está bien para un par de decisiones estables, pero luego chocas contra dos muros: el espacio se agota (la memoria se llena y deja de aceptar nuevas entradas) y lo que sobrevive es una paráfrasis sintetizada en lugar del razonamiento.

Un Project con el documento de arquitectura adjunto. La mejor opción integrada. Está bien delimitado y contiene un documento real en lugar de un resumen. Pero es exclusivo de ChatGPT, los archivos no se mantienen de manera confiable en el contexto durante sesiones largas y no ayuda con la pregunta rápida que haces en un chat normal.

Escribir ADRs en el repositorio. La respuesta profesional, y merece ser dicha claramente en lugar de quedar oculta: un directorio numerado docs/adr/ con la decisión, el contexto, las consecuencias y el estado, confirmado (committed) y revisado, es cómo se supone que debe preservarse el razonamiento arquitectónico. Sobrevive a la salida de miembros del equipo, permite ver diferencias (diffs) y no depende de ningún proveedor. Si tu equipo no hace esto, empieza a hacerlo; es más valioso que cualquier otra cosa en este artículo.

La brecha es que un ADR en tu repositorio es invisible para el asistente con el que realmente estás pensando. Escribiste el razonamiento y ChatGPT aún no puede verlo, por lo que terminas copiando y pegando el que corresponde, o más a menudo, no lo haces.

La solución: dale a ChatGPT un registro de decisiones que lea siempre

Dos pasos, en este orden.

Escribe las decisiones con la estructura de un ADR, incluso de manera informal. Título, estado, el contexto que la forzó, la decisión, lo que descarta, las consecuencias que aceptaste y la fecha. La estructura importa más que la herramienta; es lo que mantiene el motivo unido a la restricción, que es de lo que trata todo el problema de este artículo. La sección de alternativas consideradas no es opcional; es la parte que evita volver a discutir lo mismo.

Luego, haz que el registro sea accesible para el asistente. No copiado y pegado, sino recuperado. Un almacenamiento del que el asistente lea en cada solicitud significa que la decisión llega con su motivo, su fecha y sus alternativas rechazadas, en la forma exacta en que las escribiste en lugar de una síntesis de ellas.

MemoryLake es una capa de memoria diseñada para eso: los registros de decisiones, las restricciones y los documentos de origen en un solo almacenamiento, legibles desde ChatGPT a través de la API y directamente desde herramientas compatibles con MCP como Claude y Codex. Así, la misma decisión llega a la conversación de diseño, al agente de programación que escribe la migración y al ingeniero que se unió en septiembre.

Dos límites que vale la pena mencionar. Una capa de memoria no reemplaza a los ADR confirmados en el repositorio para la gobernanza del equipo; un registro de decisiones que no está en el control de versiones no se puede revisar, y la capacidad de revisión es la mitad del propósito de la práctica. Además, proporcionar una decisión de manera confiable aumenta la frecuencia con la que se respeta, pero no garantiza que el asistente la cumpla, porque eso depende del comportamiento del modelo. Lo que cambia es que la restricción y su motivo están presentes y actualizados en lugar de ausentes o parafraseados.

Paso 1: Crea una clave de API

Genera una clave y realiza tu primera solicitud en unos 30 segundos. Manténla en tu entorno o en un gestor de secretos en lugar de pegarla en un chat.

Crear una clave de API de MemoryLake
Crear una clave de API de MemoryLake

Paso 2: Sube tus primeras memorias

Sube los documentos, imágenes y archivos donde realmente viven tus decisiones: los ADR, los documentos de diseño, los informes de incidentes que causaron una restricción, el RFC que alguien escribió y en el que todos estuvieron de acuerdo. Sube las fuentes en lugar de un resumen ordenado; el resumen es donde "debido a las dos caídas del servicio" se convierte en "prefiere bases de datos propias por servicio".

Subir tus primeras memorias a MemoryLake
Subir tus primeras memorias a MemoryLake

Paso 3: Conecta tu IA y agentes

Dale a Claude, Codex, OpenClaw y otros agentes de IA acceso a la memoria a través de MCP o la API. ChatGPT no tiene un cliente MCP, por lo que el camino allí es la API: recupera las decisiones relevantes e inyéctalas en el prompt, en las instrucciones de un GPT personalizado o en el flujo de trabajo que llama al modelo. Las herramientas que hablan MCP leen el mismo almacenamiento directamente, lo cual es importante porque el agente que escribe el código necesita las mismas restricciones que el asistente que lo diseña.

Conectar tu IA y agentes a través de MCP
Conectar tu IA y agentes a través de MCP

Qué cambia esto en la práctica

La primera diferencia es que la opción rechazada sigue rechazada. Pregunta sobre el servicio de reportes y el enfoque de esquema compartido aparecerá como descartado de antemano, con el historial de caídas del servicio adjunto, en lugar de ser propuesto como una idea nueva.

La segunda es que las conversaciones de diseño comienzan más adelante. No pasas los primeros quince minutos restableciendo restricciones; los pasas en la pregunta real. Eso se acumula: cuantas más decisiones se junten en el registro, más heredará cada nueva conversación.

La tercera es que las decisiones reemplazadas se vuelven legibles en lugar de confusas. Una decisión con fecha y estado te permite decir "ese servicio se construyó bajo el modelo de tenencia anterior a agosto" en lugar de preguntarte por qué se ve mal. Esta es la única propiedad que hace que la arquitectura pasada sea interpretable.

Y deja de ser algo específico de ChatGPT. Una decisión de tenencia restringe al agente de programación tanto como a la conversación de diseño, y un asistente que llega sin el contexto de tu proyecto es el mismo problema en cualquier herramienta. Una vez que el registro está en un almacenamiento compartido, todas lo heredan.

Buenas prácticas para decisiones que una IA pueda usar

Escribe siempre el contexto que forzó la decisión

"Usamos event sourcing para los pedidos" invita al debate. "Usamos event sourcing para los pedidos porque finanzas requiere un registro de auditoría reconstruible y el diseño anterior de estado mutable falló una auditoría del primer trimestre" lo termina. El contexto es lo que convierte una preferencia en una restricción, y es lo primero que se pierde cuando lo repites de memoria.

Registra lo que rechazaste, no solo lo que elegiste

Dos líneas por alternativa: qué era y por qué no. Esta es la sección de mayor valor y la que menos se escribe, y es la que evita que la misma propuesta regrese cada trimestre. Si no escribes nada más allá de la decisión en sí, escribe esto.

Pon fecha a todo y conserva las decisiones reemplazadas

Dale a cada decisión una fecha y un estado, y cuando cambie, añade la nueva y marca la antigua como reemplazada en lugar de eliminarla. Eliminar la decisión antigua destruye tu capacidad para entender el código escrito bajo ella. Las decisiones sin fecha que no coinciden son peores que una marcada honestamente con una fecha.

Mantén pequeño el conjunto que siempre se carga

Lo que sea que se inyecte en cada solicitud debe ser tu puñado de restricciones estrictas, aquellas que harían que una respuesta fuera incorrecta, no simplemente no idiomática. El registro completo pertenece a la recuperación (retrieval). Un muro de historia arquitectónica frente a cada pregunta desplaza la pregunta misma.

Confirma los ADR de todos modos

Coloca los registros en el repositorio bajo control de versiones incluso con una capa de memoria implementada. El almacenamiento los hace accesibles para tus asistentes; el repositorio los hace revisables por tu equipo, y una decisión que nadie revisó no es realmente una decisión de equipo. Usa ambos para lo que cada uno es bueno.

Conclusión

ChatGPT olvida tus decisiones de arquitectura porque conserva preferencias, no restricciones. No hay un archivo de reglas que lea, su memoria es de una o dos páginas que se envían en cada solicitud, y el sistema de memoria actual sintetiza lo que almacena; por lo tanto, el motivo detrás de una decisión, que es la mitad que la hace vinculante, es exactamente lo que se comprime y elimina.

La solución es un consejo antiguo más un paso nuevo. Escribe las decisiones con la estructura de un ADR (contexto, decisión, alternativas rechazadas, consecuencias, fecha, estado) y confírmalas en tu repositorio, porque así es como el razonamiento arquitectónico sobrevive a las personas. Luego, coloca el registro en un lugar del que tus asistentes lean en cada solicitud, para que la restricción y su motivo lleguen juntos en lugar de esperar a que te acuerdes de copiarlos y pegarlos. Así, la discusión que tuviste en julio seguirá resuelta en septiembre.

Preguntas frecuentes

¿Por qué ChatGPT recuerda mis preferencias pero no mis decisiones?

Porque las preferencias son aquello para lo que está diseñada su memoria. La memoria guardada es corta (se envía con cada prompt) y el sistema actual almacena un resumen sintetizado en lugar de tus palabras exactas. "Prefiere bases de datos propias por servicio" sobrevive a esa compresión; "porque el orden de las migraciones causó dos caídas del servicio" no. El resultado es que tu restricción se almacena como un gusto o estilo.

¿No es para esto que sirven los ADR?

Sí, y deberías estar escribiéndolos: un directorio docs/adr/ confirmado en el repositorio con contexto, decisión, consecuencias y estado es la práctica correcta y mejor que cualquier función que ofrezca un chat. La brecha que aborda este artículo es diferente: tus ADR están en el repositorio y el asistente con el que estás diseñando no puede verlos. Escribirlos resuelve la preservación; hacerlos recuperables resuelve la disponibilidad.

¿Puedo simplemente poner las decisiones en las instrucciones personalizadas?

Para dos o tres restricciones estrictas, sí, y es un buen uso de ese espacio. Más allá de eso te quedarás sin espacio, y se aplicará a todo tu trabajo independientemente del sistema que estés discutiendo. También es el contenedor incorrecto para cualquier cosa con fecha, estado o una lista de alternativas rechazadas.

¿En qué se diferencia esto de que ChatGPT olvide el contexto de mi proyecto?

El contexto del proyecto es lo que el sistema es ahora: el stack, la estructura, el estado actual. Las decisiones de arquitectura son el porqué es así y qué se descartó. La distinción importa porque el segundo tipo conlleva un motivo que es fácil de eliminar al comprimir, y porque las alternativas rechazadas no tienen equivalente en una descripción del presente.

¿Resolvería esto una configuración de recuperación (retrieval) sobre nuestros documentos?

En parte. La recuperación encuentra documentos que mencionan el tema, incluidos diseños reemplazados, el RFC que perdió y la propuesta del año pasado, sin nada que marque cuál es la actual. Lo que se necesita es un registro con un estado y una fecha, lo cual es algo diferente a buscar en un corpus; la recuperación no es memoria es exactamente esta brecha.

¿Se aplica esto también a las decisiones de producto?

Sí, y el fallo es idéntico: un requisito sin su motivo se lee como una sugerencia, y el alcance rechazado regresa en cada ciclo de planificación. La versión para requisitos de producto tiene la misma estructura y la misma solución: registrar la restricción con el contexto que la forzó y mantenerla donde el asistente la lea.