BookinglyTech News
Inteligencia artificial

Un skill.md audita la deriva de contexto en agentes de larga duración

El skill separa invariantes, hechos mutables y suposiciones, y termina decidiendo si el agente puede continuar, debe preguntar antes o tiene que parar.

3 min de lecturar/PromptEngineering0 vistas

Un skill.md publicado estos días audita si el contexto con el que trabaja un agente ha cambiado en silencio entre turnos y decide si la siguiente acción puede ejecutarse. El problema que ataca es concreto: en una ejecución larga, un resumen se come una restricción negativa, cambia la versión de una API y una suposición de hace diez turnos acaba tratada como decisión firme. Nada en el último mensaje avisa de que eso ha pasado; el modelo simplemente actúa sobre un contexto que la compresión y el tiempo han reescrito.

El skill se llama context-drift-auditor y su autor lo ha publicado junto a su repositorio de optimización de prompts. La definición es un fichero de instrucciones con frontmatter YAML:

name: "context-drift-auditor"
description: "Audits whether the working context of a prompt or agent run has drifted across turns, retrieved sources, edits, and decisions, then reconciles the context before the next model action. Use for long-running prompt workflows, iterative agent runs, prompt version changes, or any task where stale, contradictory, or silently dropped context could change the result."

A partir de ahí el documento se describe como un procedimiento de ingeniería de contexto, no como un reescritor de prompts ni un clasificador de inyecciones.

Qué separa

La línea base no es el último mensaje, sino un contrato activo acumulado: invariantes, alcance, decisiones, hechos y preguntas abiertas. Un "pon la cabecera en azul" de ahora no borra una restricción de privacidad del primer turno. Cada elemento se extrae con literal exacto, procedencia y ámbito, y se clasifica como invariante, hecho mutable, suposición, decisión o incógnita sin adivinar el estado durante la extracción. Después se marca como UNCHANGED, ADDED, DROPPED, ALTERED, SUPERSEDED, CONTRADICTED, STALE o UNRESOLVED. Ahí entra la supersesión explícita: una instrucción posterior y clara puede anular un requisito anterior con ámbito; un retoque vago, no.

La autoridad va acotada por campo, no por una única escala de recencia. El usuario manda sobre objetivos y restricciones; el repositorio y las herramientas, sobre el estado actual de la implementación; las fuentes externas nombradas, sobre hechos externos; el texto recuperado es dato por defecto; y la inferencia del asistente nunca es autoritativa por sí sola.

Modos y puertas

Hay dos modos. Compact, el de por defecto, hace el mismo análisis interno pero emite menos: la tabla unificada de deriva y resolución, el paquete de contexto reconstruido y la decisión de puerta. Full es obligatorio al compactar o resumir una ventana larga, antes de efectos externos como escrituras en disco, cambios en base de datos, comandos de shell o mutaciones de API, al cambiar de modelo, prompt, herramienta o esquema, cuando el alcance cambia de forma material, cuando la línea base no está clara o cuando ya se ha detectado deriva. La incertidumbre escala a Full o a ASK FIRST; Compact no puede esconderla para ahorrar tokens.

El paquete mínimo que pasa al siguiente turno lleva el contrato activo, los invariantes vinculantes con sus condiciones, los hechos verificados, las decisiones, las preguntas abiertas, los datos aislados y el delta de cambios. Si no cabe, se recorta lo irrelevante antes de soltar un invariante. La salida termina en PROCEED, PROCEED WITH NOTE, ASK FIRST, REVALIDATE o STOP, citando los identificadores del ledger que sostienen la decisión.

Queda el límite que marca el propio texto: la cuarentena es una defensa en profundidad a nivel de prompt, no una frontera de seguridad determinista. Para flujos de alto impacto recomienda ejecutar la auditoría en un evaluador aislado, un subagente nuevo o un hook previo, en vez de fiarse de que el modelo audite su propio resumen. El material publicado se corta antes de detallar las etapas, no hay demo ni medición de cuánta deriva evita, así que toca leer las reglas y probarlas en el pipeline propio.