¿Qué es la ingeniería de contexto? Una guía para programar con IA (2026)
La ingeniería de contexto es la disciplina de diseñar y gestionar todo el conjunto de tokens que un modelo ve en cada inferencia - prompt del sistema, herramientas, código, historial de la conversación y memoria - para que la IA produzca la salida correcta. A diferencia de la ingeniería de prompts (que solo ajusta la redacción de una única instrucción), gestiona toda la "ventana" de información. Para programar con IA, la calidad de la salida depende más del contexto que del modelo. Cuatro estrategias fundamentales: Write, Select, Compress, Isolate.
¿Qué es la ingeniería de contexto?
La ingeniería de contexto es la disciplina de diseñar, curar y gestionar todo el conjunto de tokens que un modelo de lenguaje ve en cada llamada de inferencia, para que tenga suficiente - y solo lo suficiente - de la información que necesita para terminar la tarea. Ese conjunto de tokens tiene varias capas: el prompt del sistema, las descripciones de las herramientas, los archivos de código que le entregas, el historial de la conversación, los resultados de las herramientas y la memoria a largo plazo (por ejemplo, un archivo CLAUDE.md).
Dicho de forma sencilla: la ingeniería de prompts pregunta "¿cómo redacto bien esta instrucción?", mientras que la ingeniería de contexto pregunta "¿qué cargo exactamente en la ventana de contexto, en qué momento, y qué dejo fuera?". Anthropic lo describe como una progresión natural una vez que los agentes ejecutan muchos bucles y acumulan cada vez más datos (consulta Effective context engineering for AI agents, publicado el 2025-09-29).
Para programar con IA, aquí está el quid: mismo modelo, misma petición, pero si cargas los archivos equivocados, dejas que el historial se hinche u olvidas las convenciones de tu proyecto, el código generado se desvía de la especificación. La calidad de la salida de un agente de programación depende más del contexto que del modelo. Por eso una desarrolladora que sabe curar el contexto suele sacarle más partido a la misma herramienta que un compañero de equipo ya está usando.
Ingeniería de contexto vs ingeniería de prompts
Mucha gente usa estos dos términos como sinónimos. La ingeniería de prompts no está obsoleta - pero ahora es una capa dentro de la ingeniería de contexto. Un prompt es cómo redactas una instrucción concreta; el contexto es todo el entorno de información que rodea esa instrucción.
| Criterio | Ingeniería de prompts | Ingeniería de contexto |
|---|---|---|
| Pregunta central | ¿Cómo redacto esta instrucción de forma eficaz? | ¿Qué cargo en la ventana de contexto, cuándo, y qué descarto? |
| Alcance | Una instrucción / un turno | Todo el conjunto de tokens a lo largo de muchos turnos y bucles del agente |
| Persistencia | Normalmente puntual | Duradera: memoria y convenciones aplicadas a cada petición |
| Coste de equivocarse | Una mala respuesta | Un impuesto sobre cada petición, durante meses |
| Ejemplo en programación | "Refactoriza esta función para que sea más corta" | Estructurar el CLAUDE.md, elegir qué archivos cargar, comprimir el historial, separar un subagente |
Esta frase merece quedar clavada en la pared: un mal prompt te cuesta una mala respuesta; una mala línea en el CLAUDE.md es un impuesto sobre CADA petición durante meses. Justo por eso la ingeniería de contexto tiene mucho más apalancamiento - arreglas un solo punto y miles de sesiones posteriores se benefician. Si quieres escribir bien el archivo de convenciones de tu proyecto, consulta la guía sobre cómo escribir un CLAUDE.md sólido para Claude Code.
Por qué importa el contexto al programar con IA (ventana de contexto y presupuesto de tokens)
Todo modelo tiene una ventana de contexto - un límite de cuántos tokens puede "ver" a la vez. Los modelos Claude que se usan actualmente en Claude Code tienen una ventana de aproximadamente , equivalente a unos cientos de páginas de texto. Suena a mucho, pero en el trabajo real se agota más rápido de lo que esperarías.
Dos fenómenos explican por qué una "ventana grande" no significa "buena memoria":
- El presupuesto de atención se agota: cada token que añades diluye la atención del modelo. Cuanto más metes, más difícil le resulta al modelo mantenerse fijo en los detalles que importan. El contexto es un recurso escaso, no un almacén ilimitado.
- Deterioro del contexto / "perdido en el medio": la información que está en el medio de una conversación larga es más fácil de pasar por alto para el modelo que la que está al principio o al final. Por eso un agente de programación tan a menudo "olvida" algo que dijiste docenas de turnos atrás, o responde mal después de una sesión larga.
Un número que puedes medir tú misma: si la configuración "siempre activa" (prompt del sistema, definiciones de herramientas, memoria) ya ocupa un ~10-20% de la ventana, el resto es lo que queda para el código, el historial y la salida de las herramientas. En cuanto el uso total supera la mayor parte de la ventana, la calidad empieza a resbalar - ahí es cuando necesitas comprimir o reiniciar. Curar el contexto es precisamente el trabajo de mantener dentro del presupuesto lo que de verdad importa.
Un modelo mental práctico: trata la ventana de contexto como un escritorio, no como un archivador. Por ancho que sea el escritorio, al final se llena, y en cuanto amontonas todo encima, encontrar el único documento que necesitas se vuelve más lento. El modelo funciona igual - no "lee cada token con cuidado y de forma pareja", reparte la atención. Por eso una sesión enfocada, con solo los pocos archivos que de verdad necesitas, suele producir código de mayor calidad que una sesión de "vuelca todo el repositorio y pregunta". Para programar con IA, la disciplina de mantener el escritorio ordenado importa tanto como elegir el modelo correcto.
Las 4 estrategias de ingeniería de contexto (Write, Select, Compress, Isolate)
La comunidad (LangChain, LlamaIndex y muchos otros) ha convergido en un marco mental compacto de cuatro estrategias. Es el conjunto más fácil de recordar al aplicar la ingeniería de contexto a tu flujo de trabajo de programación del día a día.
Write - descargar hacia fuera
En lugar de meter todo en el contexto, empuja la información hacia fuera: escribe planes, notas y decisiones en un archivo (por ejemplo NOTES.md, un borrador, o una memoria duradera como CLAUDE.md). El contexto solo guarda un puntero a la información y la vuelve a cargar cuando hace falta.
Select - traer solo lo que necesitas
Trata el contexto como algo escaso: carga solo los archivos o fragmentos exactos que necesita la tarea actual, en lugar de volcar el repositorio entero. Ese es el espíritu de la recuperación (RAG), de la sintaxis @file y de la recuperación just-in-time - traer el dato en el momento en que lo necesitas, en vez de precargarlo.
Compress - resumir
Resume el historial largo de la conversación y la salida de las herramientas antes de conservarlos. Anthropic llama a esta técnica compaction: cuando el contexto está a punto de llenarse, condensa lo que has hecho en un resumen corto y continúa, en vez de arrastrar toda la cola de la conversación.
Isolate - separar
Mueve una tarea secundaria (investigación, revisión, consulta) a un subagent aparte, con su propio contexto limpio. El subagent termina y devuelve solo un resumen ajustado al agente orquestador - los detalles desordenados nunca contaminan el contexto principal. Ejemplo: cuando necesitas aprender una biblioteca desconocida, entrégasela a un subagent para que lea la documentación y devuelva "las 3 funciones que usar y cómo llamarlas", en vez de arrastrar toda la página de documentación a tu contexto principal.
Estas cuatro estrategias no son mutuamente excluyentes - en una sesión real sueles usar las cuatro: escribes el plan en NOTES.md (Write), cargas solo el archivo que estás editando (Select), comprimes cuando el historial se alarga (Compress) y descargas la investigación en un subagente (Isolate). Una vez que interiorizas este marco, empiezas a ver cada función de Claude Code a través de la lente de "¿a qué estrategia de contexto sirve esto?".
| Estrategia | Idea | Técnica correspondiente en Claude Code |
|---|---|---|
| Write | Descargar hacia fuera, mantener el contexto ligero | CLAUDE.md, NOTES.md, modo plan |
| Select | Cargar exactamente lo necesario | @file, MCP, recuperación just-in-time |
| Compress | Comprimir historial / salida | /compact |
| Isolate | Separar el trabajo, devolver un resumen | Subagentes |
Técnicas de ingeniería de contexto en la práctica con Claude Code
Esta es la parte más importante: mapear las cuatro estrategias anteriores a las herramientas que usas cada día en Claude Code. La fuerza de Claude Code es que cada función remite a una estrategia de contexto - así que, en lugar de memorizar comandos, aprende a preguntar "¿qué problema de contexto resuelve este comando?".
CLAUDE.md= memoria duradera (Write). Este archivo guarda las convenciones del proyecto, la estructura del repositorio, lo que se debe y no se debe hacer. Se carga en cada sesión, así que aquí es donde vive el mayor apalancamiento - escríbelo bien una vez y disfruta del beneficio en cada petición./compacty/clear(Compress + reinicio). Cuando el contexto está casi lleno,/compactcomprime el historial en un resumen;/clearlo borra por completo para empezar de cero cuando pasas a una tarea completamente nueva./context(medición). Este comando muestra un desglose de los tokens en uso - solo puedes optimizar lo que consume tokens una vez que puedes verlo.- Subagentes (Isolate). Entrega el trabajo de investigación/revisión a subagentes para que "quemen" su propio contexto y devuelvan solo el resultado. Consulta la guía para usar subagentes en Claude Code.
- MCP y
@file(Select). Carga datos just-in-time desde fuentes externas en lugar de precargarlos. Si MCP te resulta nuevo, lee qué es MCP. - Modo plan / un borrador
NOTES.md(Write). Mantén el plan largo fuera del contexto; el agente solo lo consulta cuando hace falta.
Un ejemplo corto y pragmático de CLAUDE.md - lo suficiente para mantener al agente dentro de la especificación sin quemar demasiados tokens:
# CLAUDE.md
## Project
Booking API, Node.js + Fastify + PostgreSQL (Prisma).
## Structure
- src/routes - endpoint definitions
- src/services - business logic
- src/db - Prisma schema & migrations
## Conventions (DO)
- Validate input with zod at the route layer
- Every query goes through a service; never call Prisma directly in a route
- Commit with Conventional Commits
## Avoid (DON'T)
- Do not add a new dependency without asking first
- Do not edit a migration file that has already been merged
- Do not log user data to the console
Gestionar el presupuesto de tokens: medir y optimizar
La ingeniería de contexto no es una actividad de intuición - es un bucle de medir-y-optimizar:
- Lee
/contextpara ver dónde se asignan los tokens: sistema, herramientas, mensajes, archivos, salida. - Detecta los devoradores de tokens: normalmente una salida larga de herramientas (logs, resultados de tests), un archivo grande cargado entero, o un historial de conversación inflado.
- Trata la causa: comprime (
/compact) cuando el historial es largo; carga de forma selectiva (@fileen vez de un directorio entero) cuando un archivo es grande; separa un subagente cuando una tarea secundaria hace demasiado ruido. - Sabe cuándo abrir una nueva sesión: cuando de verdad cambias de tarea, un
/clearo una sesión nueva es mejor que arrastrar el contexto viejo de un lado a otro.
Un hábito probado en el terreno: acostúmbrate a echar un vistazo a /context al principio y a la mitad de cada sesión larga, sobre todo justo después de un comando que devuelve mucha salida (build, tests, logs). Muy a menudo el devorador de tokens no es el código que estás editando, sino un montón de logs pegados de una ejecución anterior. Píllalo pronto y un solo /compact o una sesión nueva libera de vuelta la mayor parte del presupuesto.
¿Por qué merece la pena? Los tokens son dinero y latencia. Cuanto más ligero sea tu contexto, menor será el coste por turno y más rápida la respuesta - e, igual de importante, la calidad de la respuesta mejora porque el modelo no se distrae. Si te importa el lado del coste, consulta el artículo sobre coste de Claude Code y optimización de tokens para conectar el número de tokens con tu factura real.
Errores comunes de ingeniería de contexto
Sinceramente, la mayoría de los errores "tontos" de un agente de programación vienen de un contexto roto, no de un modelo flojo. Reconocer el tipo de fallo te ayuda a arreglarlo rápido en vez de culpar a la herramienta. Cuatro patrones comunes:
- Envenenamiento de contexto (context poisoning): una información equivocada (una suposición falsa, una decisión antigua que desde entonces cambió) se queda atascada en el contexto y sigue desviando al agente del rumbo. Prevención: corrígelo o da
/clearen cuanto lo notes, no dejes que el agente siga "confiado sobre una base mala". - Distracción de contexto (context distraction): demasiada información irrelevante diluye la atención del modelo. Prevención: carga de forma selectiva, mantén el contexto mínimo y suficiente.
- Choque de contexto (context clash): conviven dos instrucciones que se contradicen (por ejemplo, el
CLAUDE.mddice que uses la biblioteca A mientras la conversación pide B). Prevención: mantén coherente la fuente de las convenciones, actualiza la memoria cuando cambies de dirección. - Deterioro de contexto (context rot): la calidad se degrada a medida que la conversación se alarga demasiado. Prevención: da
/compacten el momento justo, fija los resultados en un archivo y luego refresca la sesión.
Herramientas y kits que apoyan la ingeniería de contexto
La mayoría de las técnicas anteriores puedes hacerlas enteramente a mano: escribir el CLAUDE.md, teclear /compact, levantar un subagente. No necesitas comprar nada para empezar. Más allá de eso, existen paquetes prefabricados de skills/subagentes que empaquetan estos patrones - memoria, compaction, isolate - para que no tengas que construirlos desde cero, por ejemplo el paquete AgentKit (20% de descuento por el enlace) para Claude Code (la CLI ak; ten en cuenta que este es un producto distinto del AgentKit de OpenAI). Si tienes curiosidad por cómo estos kits empaquetan patrones de contexto, lee la reseña de AgentKit. Y si quieres profundizar específicamente en memoria y contexto, consulta gestionar contexto y memoria en Claude Code.
Preguntas frecuentes (FAQ)
¿En qué se diferencia la ingeniería de contexto de la ingeniería de prompts?
La ingeniería de prompts afina una instrucción concreta para un único turno. La ingeniería de contexto gestiona todo el conjunto de tokens a lo largo de muchos turnos - prompt del sistema, herramientas, código, historial, memoria. La ingeniería de prompts es ahora una capa dentro de la ingeniería de contexto.
¿Necesito saber programar para aprender ingeniería de contexto?
No para el concepto, pero muchísimo si quieres aplicarla a la programación con IA. Las técnicas más eficaces (escribir el CLAUDE.md, elegir qué archivos cargar, comprimir el historial, separar subagentes) están todas ligadas a un flujo de trabajo de programación real.
¿Cuántos tokens tiene la ventana de contexto de Claude Code?
Los modelos Claude en Claude Code tienen una ventana de aproximadamente unos cientos de miles de tokens (verifica el número exacto en la documentación oficial de Claude Code antes de confiar en él, ya que los límites y los modelos cambian rápido). Más importante que el número es saber medir con /context y mantener dentro del presupuesto lo que importa.
¿Cuándo debo usar /compact?
Cuando el historial de la conversación se ha alargado y el contexto está casi lleno, pero aún quieres continuar la misma tarea. /compact comprime la conversación en un resumen para conservar tu hilo de trabajo. Si vas a cambiar a una tarea totalmente distinta, usa /clear o abre una nueva sesión en lugar de comprimir.
¿El CLAUDE.md es ingeniería de contexto?
Sí, es un ejemplo de manual de la estrategia Write: registras las convenciones del proyecto en un archivo duradero para cargarlas en cada sesión, en vez de repetir la instrucción cada vez. Escribir un buen CLAUDE.md es una de las jugadas de contexto de mayor apalancamiento que hay.
¿La ingeniería de contexto reemplaza al RAG?
No - el RAG (recuperación) es en sí mismo parte de la estrategia Select dentro de la ingeniería de contexto. La ingeniería de contexto es el marco más amplio, mientras que el RAG es una técnica concreta para cargar la información correcta en el contexto.
Conclusión + próximos pasos
La ingeniería de contexto es la habilidad fundamental para programar con IA de forma eficaz: no va de "qué modelo es el más fuerte", sino de "qué tan bien curas el contexto". Domina las cuatro estrategias - Write, Select, Compress, Isolate - mide con /context y detecta pronto los cuatro tipos de fallo de contexto: así es como conviertes un agente de programación de "olvidadizo" en confiable. Sigue leyendo con gestionar contexto y memoria en Claude Code para profundizar en técnicas de memoria, y coste de Claude Code y optimización de tokens para conectar contexto con coste. Si apenas estás empezando a trabajar junto a la IA, echa un vistazo a qué es el vibe coding y cómo evitar el AI slop.