Cuando el contexto empieza a jugar en contra

Una hora de Grill.me sobre un sistema de permisos. Dejé al agente trabajar y volví a una implementación a medias: el contexto de esa conversación se había hinchado y el plan original ya no cabía. Lo bajé a un archivo por fases, una conversación nueva por fase, y ahí sí cerró.

Estaba en el sistema de permisos de un producto que mantengo. No era un incendio. Tenía sentido reestructurar un par de piezas y, de paso, ajustar algunas tablas. El trabajo, en principio, era sencillo.

Tomé Grill.me. Hace unas semanas hablé de esto: puedes ir y darle una hojeada. Me senté con el agente. Una hora respondiendo preguntas. El mapa se fue armando. Cuando se sintió suficiente, lo dejé trabajar.

Cuando volví a revisar la implementación, una parte puntual estaba bien. El resto, a medias. No porque el código estuviera mal. Porque se había perdido la visión del principio.

El problema no era el agente. Era el contexto.

La conversación había crecido sola. Respondí una pregunta. El agente leyó tres archivos. Falló un test. Reintentó. Me pidió otra aclaración. Cada turno suma. En algún momento esa pila dejó de entrar en lo que el modelo ve.

El contexto de una conversación no es el disco. Es una ventana. Entra lo reciente. Sale lo de atrás. No tengo del todo claro cómo recortan estas herramientas por dentro. Estuve leyendo un rato. La sensación fue concreta. El agente ya no cargaba el plan original. Resolvía lo que tenía delante. Lo demás se caía.

Eso no es un detalle de cuánto texto cabe. Es el modelo de trabajo. Si la sesión es la memoria, cuando se llena, la memoria se recorta. Y lo que se recorta primero no es el último archivo. Es el acuerdo del principio.

No era el dump de Anti-Cliché: el código promedio que igual compila. Era perder el mapa.

Más contexto no es mejor contexto

Meter más información en la misma conversación parece el movimiento obvio. Acabas de pasar una hora dejando el mapa explícito. ¿Por qué no dejar que el agente siga ahí?

Porque te quedas en el hilo que se va a recortar. Grill.me sirve para descubrir. No sirve como memoria de una implementación de tres horas. Si la misma conversación carga el descubrimiento y el cierre, el segundo se come al primero. El agente no se vuelve tonto. Se vuelve local.

El otro reflejo es no querer tirar la hora. Las respuestas están en ese hilo. Abrir otra conversación se siente como empezar de cero. Entonces no abres. La hora no se ahorra. Se diluye.

El mapa ya no vive en el chat

La salida fue frustrante. También fue la que funcionó. Tomé lo que Grill.me había sacado y lo bajé a un plan en Markdown: un archivo de texto con fases y pasos, fuera del chat.

markdown
# Permisos

## Fase 1: la base
1. Quién pertenece al proyecto
2. Qué puede hacer cada rol

## Fase 2: la consola
3. Las acciones que dicen que no
4. Las lecturas que ocultan lo que no puedes ver

## Fase 3: el resto
5. Claves de API
6. Tareas internas

Eso no es el plan entero. El mío terminó en tres fases y veinticinco, veintisiete pasos. El bloque es el sello: el mapa ya no vive en la conversación. Vive en un archivo.

A partir de ahí abrí conversaciones de agente en paralelo y le asigné a cada una una fase. Cada una cargaba el Markdown y su fragmento. Ninguna tenía que arrastrar la hora de preguntas, ni los reintentos de la de al lado. Después de un par de iteraciones, la integración cerró.

El protocolo, en corto

Grill.me primero. El plan por escrito después. Una fase por agente. No recargar la historia entera en cada conversación. Si una fase depende de otra, que lo diga el Markdown, no el chat anterior.

Lo que le escribes a cada conversación nueva es corto. El archivo del plan. El número de fase. Y el borde:

text
Lee permisos-plan.md.
Eres la fase 2. No toques la fase 1 ni la 3.
Si algo de otra fase bloquea, párate y escríbelo.

Eso cambia lo que haces el día que el trabajo “sencillo” empieza a crecer. No le pides al mismo hilo que recuerde la hora uno. Le das a cada agente un objetivo concreto y un archivo que no se comprime.

Lo que no resuelve

No sustituye a Grill.me. Sin la hora de preguntas, el Markdown habría sido una lista vacía. El descubrimiento sigue siendo el descubrimiento. Lo que no puede ser es la memoria de la implementación.

Y no prueba todavía los AI loops: dejar que el agente siga solo, a intervalos, sobre una tarea larga. Lo voy a probar. Me interesa si de verdad sostiene consistencia y dirección cuando el trabajo crece, o si solo alarga la misma conversación hasta que se vuelve a recortar.

Cierre

Más contexto no necesariamente da mejores resultados. En determinado momento, la misma conversación que te sirvió para descubrir es la que te impide cerrar.

Hasta que los loops demuestren otra cosa, el movimiento es ese: separar el trabajo, escribir las etapas, darle a cada agente un objetivo concreto. El mapa sale de Grill.me. El cierre no cabe en el mismo hilo.

Más notas sobre Ingeniería de IA.