Los desarrolladores que integran asistentes de IA en su flujo de trabajo diario comparten una frustración común: el modelo sugiere código que funciona, pero que pertenece a una versión antigua del lenguaje o framework. La explicación habitual apunta al “corte de conocimiento” (knowledge cutoff) del modelo, esa fecha límite tras la cual la IA ignora librerías, sintaxis o mejores prácticas recientes. Sin embargo, reducir el problema a una cuestión de datos de entrenamiento es pasar por alto el factor más determinante: el contexto local.
Los modelos de lenguaje grande (LLM) funcionan prediciendo el siguiente token más probable. Cuando abres un archivo en tu IDE y pides una función, el asistente no “lee” la documentación oficial de la versión 5.0 de tu framework; lee el archivo que tienes delante. Si ese archivo está escrito con patrones de la versión 3.0 —imports antiguos, class components en React, callbacks en lugar de async/await—, el modelo asume que ese es el estilo del proyecto y replica la obsolescencia. Es un efecto espejo: la IA imita la deuda técnica que ya existe en tu repositorio.
Esto tiene implicaciones directas en la productividad y la seguridad. Copiar sugerencias deprecated introduce vulnerabilidades conocidas, rompe la compatibilidad con dependencias actualizadas y obliga a refactorizaciones inmediatas que anulan el ahorro de tiempo que prometía la herramienta. En entornos enterprise, donde la gobernanza de código es estricta, una PR llena de React.createClass o var en pleno 2024 no pasa el code review.
La solución no es esperar a que el proveedor del modelo actualice sus pesos, sino inyectar el contexto correcto en la ventana de atención. Tres estrategias funcionan en la práctica:
Primero, archivos de instrucciones persistentes (.github/copilot-instructions.md, .cursorrules, AGENTS.md). Estos ficheros le dicen al asistente: “En este repo usamos TypeScript strict, React 18 con hooks, y la nueva Router API”. El modelo prioriza esa directiva sobre el código legacy que encuentra en el archivo actual.
Segundo, referenciar documentación viva. Herramientas como Cursor, Windsurf o Continue permiten adjuntar URLs de la docs oficial (ej. https://react.dev/learn) o archivos markdown del propio repo (@docs/new-patterns.md) al prompt. Esto ancla la generación a la verdad actual, no al historial del proyecto.
Tercero, limpiar el contexto inmediato. Antes de pedir una feature nueva, abre un archivo limpio o comenta bloques legacy que contaminan la predicción. Si no puedes borrarlos, añade un comentario explícito: // TODO: migrar a createRoot API. El modelo leerá esa señal y ajustará su salida.
En IAOnda hemos probado este enfoque en bases de código reales migrando de Vue 2 a 3 y de Express callbacks a async handlers. La tasa de sugerencias “modernas a la primera” subió del 35% al 82% solo añadiendo un AGENTS.md de 50 líneas y referenciando la guía de migración oficial en el chat.
El mensaje para los leads técnicos es claro: el asistente no es un oráculo estático, es un motor de completado sensible al contexto. La calidad de su salida es un reflejo directo de la higiene de tu repositorio y de la disciplina con la que le alimentas referencias actuales. Si tu código huele a 2019, tu IA escribirá como en 2019. La actualización empieza en tu README, no en los servidores de OpenAI o Anthropic.