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

Cómo evitar que Windsurf Cascade pierda el contexto (2026)

Si Cascade solía recordar tu proyecto y de repente ya no lo hace, hay una razón específica documentada que vale la pena verificar antes que cualquier otra cosa: es posible que el agente en tu nueva pestaña no sea el que tenía las memorias.

La documentación es directa al respecto. Bajo un encabezado de advertencia: "Las memorias se aplican solo al agente Cascade heredado. El agente Devin Local —el agente predeterminado para nuevas pestañas— no conserva las memorias. Migra aquellas de las que dependas a habilidades con el comando Devin: Open Cascade Migration Wizard."

Ese único párrafo resuelve una gran parte de los reportes de "Cascade lo olvidó todo", y ninguna cantidad de explicaciones repetidas servirá para solucionarlo. Este artículo analiza esa verificación, los otros cuatro lugares donde el contexto puede perderse y la configuración que sigue funcionando independientemente del agente con el que se abra una pestaña. El mecanismo detrás de este síntoma se detalla en por qué Windsurf olvida el contexto de Cascade.

Por qué Cascade dejó de recordar

Primero, la documentación se movió — y también el nombre del producto

Una nota práctica antes que nada, porque hace que las guías más antiguas sean difíciles de seguir: docs.windsurf.com ahora redirige a docs.devin.ai, y el editor está documentado como Devin Desktop. La página de memorias de Cascade se encuentra en docs.devin.ai/desktop/cascade/memories.

También verás esto reflejado en las rutas de los archivos. .devin/rules/ es ahora la ubicación preferida para las reglas del espacio de trabajo, manteniendo .windsurf/rules/ como alternativa (fallback); los documentos dicen que .devin/ "es la ubicación preferida y tiene prioridad". Si estás leyendo instrucciones que solo mencionan .windsurf/, aún funcionan, pero describen la alternativa.

Las memorias pertenecen al agente heredado

Volviendo a la causa principal. Devin Desktop tiene dos mecanismos documentados para conservar el contexto a través de las conversaciones: "Memories (memorias), que son generadas automáticamente por Cascade, y Rules (reglas), que son definidas manualmente por el usuario a nivel global, de espacio de trabajo o de sistema".

Las memorias están limitadas al agente Cascade heredado. Las nuevas pestañas se abren por defecto con el agente Devin Local, el cual, según la documentación, "no conserva las memorias". Por lo tanto, el síntoma —funcionaba ayer, vacío hoy— a menudo no se debe en absoluto a una memoria perdida. Es simplemente un agente diferente que nunca la tuvo.

El remedio documentado es el asistente de migración: el comando Devin: Open Cascade Migration Wizard mueve las memorias de las que dependes a Skills (habilidades).

Las memorias autogeneradas siempre fueron locales y limitadas al espacio de trabajo

Incluso en el agente heredado, las memorias son más limitadas de lo que la mayoría de la gente asume. Cascade "puede generar y almacenar memorias automáticamente si encuentra un contexto que considera útil recordar", y puedes pedirle que "cree una memoria de..." en cualquier momento.

Pero: están "asociadas con el espacio de trabajo en el que se crearon y se almacenan localmente en ~/.codeium/windsurf/memories/". Y explícitamente: "Las memorias generadas en un espacio de trabajo no están disponibles en otro, y no se confirman (commit) en tu repositorio". La documentación lo expresa claramente en una nota: "Las memorias autogeneradas viven solo en tu máquina".

Así que una nueva laptop, un segundo clon del repositorio o la máquina de un compañero de equipo no tendrán nada de esto. Un pequeño consuelo: "Crear y usar memorias autogeneradas NO consume créditos".

El propio consejo del proveedor es no depender de ellas

Esta es la parte que vale la pena tomar en serio, porque es su recomendación y no una opinión externa: "Para el conocimiento que deseas que Cascade reutilice de manera confiable, escríbelo como una Regla (Rule) o agrégalo a AGENTS.md en tu repositorio en lugar de depender de las memorias autogeneradas. Las reglas están controladas por versiones, se pueden compartir con tu equipo y te brindan un control explícito sobre su activación".

La tabla de características dice lo mismo en una sola línea: las memorias sirven para permitir que Cascade "recuerde datos puntuales", y "para un conocimiento duradero, prefiere Rules o AGENTS.md". Las Skills reciben una nota aún más directa: invierte aquí.

Las reglas sí se transfieren, pero solo en el modo que configures

Las reglas sobreviven a los límites de la sesión. El hecho de que lleguen a Cascade en un mensaje determinado depende completamente del campo trigger en su frontmatter:

Modotrigger:Cómo llega a CascadeCosto de contexto
Siempre activo (Always On)always_onContenido completo de la regla en el prompt del sistema en cada mensajeCada mensaje
Decisión del modelo (Model Decision)model_decisionSolo la descripción está en el prompt del sistema; Cascade lee el archivo completo cuando juzga que la descripción es relevanteDescripción siempre; contenido bajo demanda
GlobglobSe aplica cuando Cascade lee o edita un archivo que coincide con los globsSolo cuando se tocan los archivos coincidentes
ManualmanualNo está en el prompt del sistema; escribes @nombre-de-regla para activarSolo cuando se menciona con @

Una regla configurada como manual es invisible hasta que la invocas. Una regla configurada como model_decision con una descripción vaga puede que nunca se cargue. Ninguna de las dos está rota; ese es el comportamiento declarado, y es el mismo tipo de problema descrito en por qué los agentes ignoran los archivos de instrucciones que escribiste.

Dos excepciones que vale la pena memorizar: "El archivo de reglas globales (global_rules.md) y los archivos AGENTS.md a nivel de raíz no usan frontmatter; siempre están activos".

Límites de caracteres y dónde se guarda realmente una nueva regla

Límites documentados: el archivo de reglas globales en ~/.codeium/windsurf/memories/global_rules.md está "limitado a 6,000 caracteres", y las reglas del espacio de trabajo en .devin/rules/*.md están "limitadas a 12,000 caracteres por archivo". El archivo único heredado .windsurfrules en la raíz del espacio de trabajo también se sigue leyendo.

Y una trampa de alcance: la detección de reglas busca en tu espacio de trabajo, sus subdirectorios y hasta la raíz de git, pero "cuando creas una nueva regla, se guardará en el directorio .devin/rules de tu espacio de trabajo actual, no necesariamente en la raíz de git". Si abres una subcarpeta como tu espacio de trabajo, tu nueva regla estará limitada a esa subcarpeta.

Lo que la gente intenta

Volver a explicar el proyecto cada mañana. Funciona, para siempre, al mismo costo: el bucle descrito en cómo dejar de volver a explicar el contexto a la IA.

Pedirle a Cascade que "cree una memoria" de todo lo importante. Es mejor que nada en el agente heredado, y produce algo local, limitado al espacio de trabajo, no confirmado en el repositorio y no disponible para el agente predeterminado en una nueva pestaña.

Poner todo en global_rules.md. Siempre está activo y son 6,000 caracteres que se envían con cada mensaje en todos los espacios de trabajo. Eso es un presupuesto real de contexto, no un contenedor ilimitado.

Configurar cada regla como Siempre activa (Always On). Resuelve la confiabilidad pagando el costo total de contexto en cada mensaje, incluso en tareas no relacionadas.

Copiar ~/.codeium entre máquinas. Territorio no soportado, y no ayuda a un compañero de equipo que necesita el mismo conocimiento: el caso general en por qué Windsurf olvida las reglas del proyecto.

Asumir que el cambio de nombre rompió algo. Por lo general, no fue así. .windsurf/rules sigue funcionando como alternativa y .windsurfrules se sigue leyendo. Verifica el agente en tu pestaña antes de concluir que hay una regresión.

La solución: dejar de usar memorias automáticas y pasar a Rules, AGENTS.md y Skills

La recomendación del proveedor y la solución práctica son lo mismo. Haz esto una vez y las diferencias de agente a nivel de pestaña dejarán de importar.

Ejecuta el asistente de migración. Si dependías de memorias autogeneradas, usa Devin: Open Cascade Migration Wizard para moverlas a Skills, tal como indican las instrucciones. Este es el paso que la mayoría de la gente se salta y luego pasa una semana confundida.

Coloca el conocimiento duradero en AGENTS.md. A nivel de raíz siempre está activo sin frontmatter; los archivos en subdirectorios aplican un glob automático para ese directorio. Es la opción que requiere menos mantenimiento y está controlada por versiones, lo que la hace compartible.

Define el tipo de tus reglas deliberadamente. Restricciones universales: always_on. Convenciones específicas de lenguaje o ruta: glob. Guía situacional: model_decision con una descripción lo suficientemente precisa para enrutarla. Procedimientos que rara vez se necesitan: manual, y recuerda que tienes que mencionarlos con @.

Conserva global_rules.md únicamente para restricciones genuinamente globales. 6,000 caracteres, cada mensaje, cada espacio de trabajo. Trátalo como algo costoso.

Invierte en Skills para procedimientos de varios pasos. Los documentos las destacan para tareas complejas donde Cascade necesita archivos de referencia, y son el destino documentado para las memorias migradas.

Formatea para facilitar la lectura. Las mejores prácticas de Cascade: mantén las reglas simples, concisas y específicas; evita reglas genéricas como "escribir buen código", ya que estas ya están en los datos de entrenamiento; usa viñetas, listas numeradas y markdown en lugar de párrafos largos; agrupa reglas relacionadas con etiquetas XML.

Eso soluciona lo que se transfiere dentro de la herramienta. Lo que ninguno de estos contenedores guarda es el razonamiento detrás de las convenciones —por qué rechazaste un enfoque, qué restricción hace que una decisión extraña sea correcta— porque las Rules tienen límites y AGENTS.md es un archivo de convenciones, no de argumentos.

Para eso está MemoryLake: el conocimiento duradero de tu proyecto en una capa de la que leen tus herramientas, para que no sea local de una sola máquina o de un solo modo de agente. La configuración consta de tres pasos.

Step 1: Create an API key

Inicia sesión en MemoryLake y crea una clave API. Una sola credencial para todas las herramientas que conectes.

Creación de una clave API de MemoryLake para mantener el contexto de Windsurf Cascade
Creación de una clave API de MemoryLake para mantener el contexto de Windsurf Cascade

Step 2: Upload your first memories

Entradas cortas, una afirmación cada una, enfocadas en aquello para lo que un archivo de reglas no tiene la estructura adecuada:

Escribir conocimiento duradero del proyecto en MemoryLake como entradas cortas
Escribir conocimiento duradero del proyecto en MemoryLake como entradas cortas

Decisiones más la restricción que las produjo. Una regla puede decir "usa el adaptador de cola". Solo la razón evita que se vuelva a proponer la alternativa la próxima semana.

Enfoques ya descartados. Nada en el repositorio registra esto, y cada nueva conversación los sugerirá.

Conocimiento que abarca varios espacios de trabajo. Las memorias están limitadas al espacio de trabajo por diseño y las reglas son por repositorio. El vocabulario y los estándares de tu dominio no pertenecen a ninguno de los dos.

Correcciones que has repetido. Si lo has dicho dos veces, es una entrada que falta, y la razón debe ir con ella.

Step 3: Connect your AI & agents

Conecta las herramientas que utilizas. Se puede acceder a MemoryLake a través de MCP y de una API, por lo que los agentes nativos de MCP —entre ellos Claude Code, Codex y OpenClaw— se conectan apuntando al servidor MCP, mientras que otros asistentes leen la misma memoria a través de la API.

Conexión de Devin Desktop y agentes nativos de MCP a una capa de memoria compartida
Conexión de Devin Desktop y agentes nativos de MCP a una capa de memoria compartida

Tres límites honestos. MemoryLake no es un reemplazo para Rules o AGENTS.md — esos son los medios para guiar a Cascade, y aún debes configurarlos correctamente; tampoco puede migrar tus memorias autogeneradas, que es para lo que sirve el asistente. Solo contiene lo que tú o tus agentes escriben en él. Y no impone nada: las reglas son contexto, no una garantía de cumplimiento.

Qué cambia esto en la práctica

El agente que abrió la pestaña deja de decidir qué conservas. El conocimiento en AGENTS.md y en una capa de memoria no depende de una función de memorias que está limitada al agente heredado.

Una segunda máquina es solo una segunda máquina. Las memorias autogeneradas viven solo en la que las creó. Las reglas confirmadas en el repositorio y una capa de memoria externa no.

Los compañeros de equipo obtienen el mismo contexto que tú. Las memorias no se confirman en tu repositorio; las reglas y AGENTS.md sí, y el conocimiento compartido vive fuera de ambos.

El presupuesto de siempre activo vuelve a ser suficiente. 6,000 caracteres globales son más que suficientes para restricciones reales una vez que ya no cargan con tus notas de arquitectura.

Los cambios de nombre dejan de costarte nada. De Windsurf a Devin Desktop, de .windsurf/ a .devin/ — una capa de conocimiento fuera del editor es indiferente a todo esto, la estructura que se detalla en lo que realmente significa la memoria persistente.

Mejores prácticas para mantener el contexto de Cascade

Primero verifica qué agente está usando tu pestaña. Las memorias se aplican solo al agente Cascade heredado. Este es el diagnóstico de mayor rendimiento.

Prefiere AGENTS.md para el conocimiento duradero. Configuración cero, siempre activo en la raíz, con glob automático en subdirectorios y controlado por versiones.

Usa .devin/rules/ para nuevas reglas. Es la ubicación preferida y tiene prioridad; .windsurf/ sigue siendo una alternativa.

Configura el trigger a propósito. Las reglas manual no están en absoluto en el prompt del sistema. Si no era tu intención, no lo dejes así.

Escribe descripciones que se puedan enrutar. model_decision solo funciona si la descripción le indica a Cascade cuándo es relevante la regla.

Respeta los límites. 6,000 caracteres globales, 12,000 por archivo de regla de espacio de trabajo. Divide en lugar de comprimir.

Confirma dónde se guardó una regla. Las nuevas reglas se guardan en el .devin/rules del espacio de trabajo actual, no necesariamente en la raíz de git.

Mantén las razones fuera de las reglas. Las convenciones pertenecen al repositorio; el argumento detrás de ellas pertenece a un lugar recuperable — el problema general detallado en por qué RAG no es memoria.

Conclusión

Comienza con la verificación del agente. Las memorias en Devin Desktop se aplican solo al agente Cascade heredado, el agente predeterminado para nuevas pestañas no las conserva, y la solución documentada es migrar aquello de lo que dependes a Skills con el Cascade Migration Wizard. Eso por sí solo explica la mayor parte de la pérdida repentina de contexto.

Luego sigue el propio consejo del proveedor: el conocimiento duradero pertenece a Rules o AGENTS.md, no a memorias autogeneradas que viven en una sola máquina, en un solo espacio de trabajo y sin confirmar en el repositorio. Define el tipo de tus reglas para que se carguen cuando las necesites, mantén el archivo global dentro de sus 6,000 caracteres y coloca el razonamiento —decisiones, restricciones, enfoques rechazados— en una capa a la que no le importe qué agente abrió la pestaña o cómo se llama el editor este trimestre.

Preguntas frecuentes

¿Por qué Cascade dejó de recordar mi proyecto?

La causa documentada más probable es el agente. Las memorias se aplican solo al agente Cascade heredado, y el agente Devin Local —el predeterminado para nuevas pestañas— no conserva las memorias. Los documentos te indican que migres las memorias de las que dependes a Skills utilizando el comando Devin: Open Cascade Migration Wizard.

¿Dónde se almacenan las memorias de Windsurf Cascade?

Las memorias autogeneradas se almacenan localmente en ~/.codeium/windsurf/memories/ y están asociadas con el espacio de trabajo donde se crearon. Según la documentación, las memorias generadas en un espacio de trabajo no están disponibles en otro y no se confirman en tu repositorio.

¿Ahora Windsurf se llama Devin Desktop?

La documentación refleja ese cambio de nombre: docs.windsurf.com redirige a docs.devin.ai, y el editor está documentado como Devin Desktop. En las rutas de archivos, .devin/rules/ es la ubicación preferida y tiene prioridad, manteniendo .windsurf/rules/ como alternativa y el archivo heredado .windsurfrules aún se sigue leyendo.

¿Debería usar Memories o Rules?

La documentación recomienda Rules o AGENTS.md para el conocimiento que deseas reutilizar de manera confiable, señalando que están controlados por versiones, se pueden compartir con tu equipo y brindan un control explícito sobre su activación. Las Memories están pensadas para datos puntuales que Cascade capta durante una conversación.

¿Por qué no se aplica mi regla de Cascade?

Verifica el valor de trigger. Una regla manual no está en absoluto en el prompt del sistema y solo se activa cuando escribes @nombre-de-regla. Una regla model_decision solo proporciona su descripción hasta que Cascade decide que la regla es relevante, por lo que una descripción vaga significa que es posible que nunca se cargue. Las reglas glob se aplican solo cuando se toca un archivo coincidente.

¿Qué tan grandes pueden ser las reglas de Windsurf?

El archivo de reglas globales está limitado a 6,000 caracteres y los archivos de reglas del espacio de trabajo a 12,000 caracteres cada uno. Debido a que el contenido siempre activo se incluye en el prompt del sistema en cada mensaje, vale la pena mantenerse muy por debajo del límite por razones que van más allá del límite en sí.