← iniciojavierdiaz.ai
GenAI

El prompt perfecto ya no basta: esto es context engineering

Javier Díaz·26 de julio de 2026·8 min de lectura
El prompt perfecto ya no basta: esto es context engineering

La primera vez que un agente mío empezó a portarse peor, hice lo que haría cualquiera: le agregué más instrucciones al prompt. Más reglas, más ejemplos, más "y acuérdate de esto". Y empeoró.

Me tomó un tiempo entender por qué. No era el prompt. Era todo lo demás que le estaba metiendo al modelo sin darme cuenta. Anthropic le puso nombre a eso en un paper buenísimo, y cambió cómo construyo agentes. Te lo cuento.

Prompt engineering vs context engineering
Prompt engineering (una sola pregunta) frente a context engineering (curar todo lo que entra al modelo, en bucle). Basado en el diagrama de Anthropic.

El cambio que casi nadie nota

Cuando usas ChatGPT para una pregunta suelta, tu trabajo es prompt engineering: escribir bien esa instrucción. Un turno, una respuesta.

Pero un agente no es un turno. Es un bucle: piensa, llama una herramienta, observa el resultado, vuelve a pensar… decenas de veces. Y en cada vuelta, alguien decide qué información se le pasa al modelo: el system prompt, las herramientas, documentos, memoria, el historial, los resultados de cada tool.

Prompt engineering es escribir una instrucción. Context engineering es curar todo lo que entra a la ventana de contexto, en cada paso.

Esa es la definición de Anthropic: el conjunto de estrategias para curar y mantener el conjunto óptimo de tokens durante la inferencia. Y ojo con la palabra clave: curar. No es escribir más. Es elegir mejor.

Anthropic lo resume en un diagrama que vale la pena mirar de cerca:

Diagrama de Anthropic: a la izquierda, un system prompt y un mensaje entran a la ventana en un solo turno; a la derecha, de un gran pool de contexto posible (docs, tools, memoria, historial) solo un subconjunto pasa por la curación hacia la ventana de contexto, con el bucle de tool call y tool result
Fuente: Anthropic«Effective context engineering for AI agents». Izquierda: prompt engineering, una entrada y un turno. Derecha: context engineering — un pool de contexto posible del que solo entra a la ventana lo curado, con el bucle que se realimenta en cada tool result.

Míralo con calma, porque ahí está todo. A la derecha hay un pool enorme de contexto posible —docs, herramientas, memoria, historial, instrucciones— y en cada paso solo un subconjunto, tras la curación, entra a la ventana. Ese filtro, no el prompt, es el trabajo. El salto no es de grado: es pasar de redactar un texto a gestionar un sistema de información.

El bucle base de un agente: la ventana de contexto alimenta al LLM, que decide una acción; la herramienta la ejecuta y la observación vuelve a la ventana
Paso 1 — el bucle base. Un agente no es un turno: en cada vuelta, la ventana de contexto se re-arma con la nueva observación.

La idea que lo cambia todo: el contexto es finito

Aquí está el "aha". Solemos pensar que la ventana de contexto es una bolsa: mientras más grande, mejor, mete todo. Falso.

Los modelos sufren lo que Anthropic llama context rot: mientras más tokens metes, peor recuerda el modelo lo que hay dentro. No es un capricho; es la arquitectura. Un Transformer hace que cada token "mire" a todos los demás — con muchos tokens, esa atención se estira demasiado.

La analogía que a mí me funcionó: el modelo tiene un attention budget, como tu memoria de trabajo. Es un escritorio. Si apilas cada papel "por si acaso", no es que tengas más orden: es que ya no encuentras nada.

El contexto es un recurso finito con retornos decrecientes. Cada token que agregas "de más" te cuesta atención sobre lo que sí importa.

Por eso el agente empeoraba cuando yo le echaba más. Le estaba llenando el escritorio.

Cuatro formas de curar bien el contexto

Anthropic aterriza esto en principios concretos. Estos son los cuatro que más me sirvieron.

Curación del contexto: las fuentes (system prompt, tools, ejemplos, historial, memoria) pasan por un filtro que deja solo lo de alta señal antes de entrar a la ventana
Paso 2 — la curación. Entre las fuentes y la ventana hay un filtro: entra el mínimo de alta señal, el ruido se descarta.

1. System prompt: la "altitud" correcta. Ni un guion rígido lleno de if/else (frágil, se rompe), ni instrucciones vagas de alto nivel (no guían nada). El punto medio: específico para dirigir el comportamiento, pero flexible para dejar heurísticas fuertes. Organízalo en secciones claras (## Instrucciones, ## Herramientas) y busca el conjunto mínimo que describa por completo lo que esperas (mínimo ≠ corto).

2. Herramientas mínimas y sin solaparse. Si tú, como ingeniero, no sabrías con certeza cuál tool usar, el agente tampoco. Un catálogo inflado de herramientas ambiguas es una de las fallas más comunes. Pocas, claras, que devuelvan resultados token-eficientes.

3. Ejemplos curados, no una lista de casos extremos. Un buen ejemplo vale mil reglas. Pero no metas 30 casos borde intentando cubrir todo: elige unos pocos ejemplos canónicos y diversos que muestren el comportamiento esperado.

4. Contexto just-in-time, no todo por adelantado. Este es el más potente. En vez de precargar todos los documentos, le das al agente referencias ligeras (rutas de archivo, queries, links) y herramientas para traer lo que necesite en el momento. Igual que tú: no te memorizas la biblioteca entera, usas el índice y vas por el libro cuando lo necesitas. Claude Code hace justo esto — lee un CLAUDE.md base y usa grep/glob para explorar el resto bajo demanda.

Contexto just-in-time: la ventana guarda referencias ligeras (rutas, queries, links) y el LLM usa una tool de retrieval para traer datos de archivos, base de datos, KB/RAG o web bajo demanda
Paso 3 — just-in-time. En la ventana viven referencias ligeras; los datos se cargan cuando hacen falta, no antes.

Cuando la tarea es larga (horas, no minutos)

¿Y si la tarea es tan larga que el historial ya no cabe en la ventana? Tres técnicas, y elegir depende del caso:

  • Compaction (compactar): cuando te acercas al límite, resumes la conversación y arrancas una ventana nueva con ese resumen. Preservas decisiones y detalles críticos, y tiras lo redundante (los resultados viejos de tools son lo primero que se puede limpiar). Ideal para tareas conversacionales largas.
  • Structured note-taking (memoria agéntica): el agente escribe notas fuera de la ventana (un NOTES.md, un to-do list) y las vuelve a leer cuando las necesita. Claude jugando Pokémon mantenía así el conteo a través de miles de pasos. Ideal para trabajo iterativo con hitos.
  • Sub-agentes: en vez de un agente cargando todo el proyecto, subagentes con ventanas limpias hacen el trabajo profundo y devuelven solo un resumen destilado (1.000–2.000 tokens). El agente líder sintetiza. Ideal para investigación y análisis complejos.
Arquitectura completa: el bucle base (ventana, LLM, herramienta) más tres extensiones para horizonte largo — compaction, notas NOTES.md y sub-agentes
Paso 4 — la arquitectura completa. El bucle base + las tres extensiones que lo hacen aguantar horas: compaction, notas y sub-agentes.

La regla de oro que resume todo el paper: encuentra el conjunto más pequeño de tokens de alta señal que maximice la probabilidad del resultado que buscas.

Esto ya lo vivimos en data (y por eso es mi juego)

Cuando leí el paper, me sonó a casa. Llevo años en el mundo de la data —volumetría, calidad, orquestación— y context engineering es, básicamente, esas mismas disciplinas apuntadas a la ventana de contexto del modelo. Mira los paralelos:

  • Volumetría. En data aprendes rápido que no escaneas la tabla entera "por si acaso": filtras temprano y proyectas solo las columnas que necesitas. El attention budget es idéntico — no le des al modelo toda la tabla, dale la fila que importa.
  • Calidad de datos. Garbage in, garbage out. Años cuidando calidad y gobierno (DAMA) me enseñaron que el problema casi nunca es "falta data": es "sobra ruido". Los high-signal tokens de Anthropic son, literalmente, calidad de datos aplicada al contexto.
  • El momento exacto. En un pipeline decides cuándo se mueve cada dato: batch, streaming, on-demand. El contexto just-in-time es exactamente eso — traer el dato en el instante justo, no antes ni de más. Es orquestación, no acumulación.

Fíjate en el giro que viene: los modelos son cada vez más inteligentes, así que necesitan menos ingeniería prescriptiva. El trabajo no desaparece — se mueve. Deja de ser "escribir el prompt perfecto" y pasa a ser gobernar la capa de contexto: qué datos entran, cuándo, desde dónde, con qué calidad y qué gobierno.

Y ahí es donde quien viene de data tiene una ventaja injusta. Esto no es un truco de prompting: es gobierno de datos —volumetría, calidad, latencia, linaje— apuntado a la atención del modelo. Es, palabra por palabra, lo que hago como Data & AI Manager, pero para agentes. La capa de contexto de un agente necesita un dueño, y ese perfil no sale de saber prompts: sale de saber datos.

Si estás construyendo con LLMs, cambia la pregunta: de "¿cómo escribo mejor el prompt?" a "¿qué es lo mínimo de alta señal que este paso necesita ver?". Ese cambio lo cambia todo.

Sigue la serie: "cómo se arma un agente, sin humo"

  • Function calling — cómo el modelo pide herramientas (el "actuar" del agente). (publicado)
  • ReAct — el bucle pensar → actuar → observar. (próximo)
  • Memoria de agentes — corto plazo, largo plazo y el NOTES.md. (próximo)
  • RAG — recuperación just-in-time de conocimiento. (próximo)

Referencias