claudio.cool
CCAR-PLecciones

CCAR-P · Modelos, prompts e ingeniería de contexto

El contexto como presupuesto, caché de prompts, prompts modulares y Skills

⏱ 4 min de lecturaBorrador

Tres equipos, tres síntomas. Un agente de soporte se olvida a mitad de la conversación lo que el cliente pidió al principio. Un asistente de seguros activó la caché y el costo subió. Cinco equipos de un banco tienen copiado el mismo procedimiento de contracargos y dos siguen con la versión vieja. Los tres problemas se resuelven pensando el contexto como un presupuesto, no como un depósito.

Más contexto no es mejor contexto

La ventana de contexto (context window) es finita y, además, cuanto más se llena, peor recuerda el modelo lo importante. Si una herramienta devuelve el historial completo de pedidos (miles de tokens) cada vez que se la llama, el agente termina contradiciéndose.

  • Que las herramientas devuelvan solo los campos útiles: los últimos pedidos con estado, fecha y artículos, no el JSON entero.
  • Limpiá los resultados viejos de herramientas del historial. En la API, la edición de contexto (context editing) reemplaza los resultados más antiguos cuando el contexto pasa un umbral; para conversaciones muy largas, la compactación resume el historial.

Truncar a ciegas (quedarse con los primeros N tokens) pierde lo necesario. Una ventana más grande deja entrar más ruido y cuesta más.

Caché de prompts: el orden lo es todo

La caché de prompts (prompt caching) reutiliza un prefijo (prefix) idéntico entre pedidos: baja el costo de esos tokens y el tiempo hasta el primer token. Las reglas que el examen usa:

  1. El prefijo se arma en este orden: herramientas, system, mensajes. Cambiar algo en un nivel invalida ese nivel y todo lo que viene después.
  2. La coincidencia es exacta. Una fecha con segundos al principio del system prompt cambia el prefijo en cada pedido: cero lecturas, una escritura por pedido, y como escribir en caché cuesta algo más que no usarla, el costo sube.
  3. Lo variable (la fecha, el ID del usuario, la pregunta) va después del último bloque fijo; el punto de corte (breakpoint) va en el último bloque que se repite igual.
  4. Por debajo de un largo mínimo, el prompt no se cachea y la API no avisa. Confirmalo mirando las lecturas y escrituras de caché en el uso de cada respuesta.
  5. La entrada dura unos minutos y se renueva con cada uso; hay una duración de una hora, más cara, para tráfico espaciado. Pero si el prefijo cambia en cada pedido, ninguna duración sirve.

Truncar el documento de políticas para ahorrar es la trampa clásica: pierde contenido necesario cuando la caché resolvía costo y latencia sin sacar nada.

Prompts modulares y Skills

Cuando varios equipos copian los mismos bloques en sus prompts, las copias se desincronizan. Dos niveles de solución:

  • Prompts modulares: los bloques comunes (tono, políticas, formato) en un solo lugar versionado, que cada plantilla incluye.
  • Skills: cada procedimiento empaquetado como una Skill. Funciona por divulgación progresiva (progressive disclosure): al inicio solo se cargan su nombre y su descripción; el cuerpo y los archivos se leen cuando la tarea los necesita. En la API, las Skills personalizadas se comparten en todo el workspace.

Si cada pedido usa uno de quince procedimientos, la Skill resuelve los dos problemas: fuente única y contexto con solo lo que se usa. La caché sola abarata el prompt gigante, pero deja el contexto lleno de procedimientos irrelevantes (que el modelo puede confundir) y las copias desincronizadas.

Las trampas típicas

  • Truncar contenido necesario para ahorrar tokens.
  • Poner lo variable antes de lo fijo y después culpar a la caché.
  • Responder a una caché que no pega con más breakpoints o una duración más larga.
  • Pasar a un modelo con más contexto para que “entre todo”.
  • Quince agentes, uno por procedimiento, con un ruteo delante.

En el examen

Si el escenario dice que el mismo bloque largo se manda en cada pedido y preocupan costo y latencia, buscá “lo fijo primero y caché”. Si la caché está activa y no hay lecturas, buscá qué cambia al principio del prefijo. Si el agente se degrada en conversaciones largas, la respuesta es recortar lo que entra (resultados más chicos, limpiar los viejos), no agrandar la ventana. Y si hay procedimientos copiados entre equipos y cada pedido usa uno, buscá las Skills.

Pregunta rápida

Una pregunta del simulacro sobre este dominio. Cuenta para tu progreso.

A retailer's support agent uses a tool that returns the customer's complete order history as JSON, often 15,000 to 20,000 tokens, every time it is called. In long conversations the agent calls it several times, and quality reviewers notice that after a while it forgets constraints the customer stated earlier and contradicts its own previous answers.

The agent typically needs only the last few orders and their status, delivery date and items. An engineer proposes truncating the conversation to its first 8,000 tokens, and another suggests moving to a model with a larger context window.

Which change best addresses the problem?

Practicá este dominio en el simulacro →