4 de septiembre de 2026

No todos los agentes tienen que ser los más caros

No todos los agentes tienen que ser los más caros

Una habilidad de revisión y reparación de todo el código base que reparte el trabajo por una escalera de agentes escalonados por coste — y se niega a dar nada por terminado si no coincide con el SHA final exacto.

Pasé la última etapa construyendo una habilidad de Codex que revisa un repositorio entero y corrige lo que encuentra. La parte de revisar fue lo fácil. Lo difícil fue impedir que me dijera que había terminado cuando no era así.

Tres cosas definieron cómo acabó siendo.

Enumerar no es juzgar. No pagues lo mismo por ambas cosas.

Listar archivos rastreados, construir un manifiesto de cobertura, ejecutar un comando y devolver el resultado — eso es trabajo administrativo. En una auditoría de todo el repositorio, es la mayor parte de los tokens y casi nada del pensamiento, y enviarlo al modelo de gama alta es la forma más rápida que conozco de gastar dinero de verdad para generar un listado de archivos.

Así que la habilidad divide el trabajo en una escalera:

  • ENUMERATEbarato. Lista todo lo que existe. Archivos, módulos, cobertura de tests, el diff contra main, el manifiesto de lo que tocaremos. Sin opiniones. Sin juicios.
  • REVIEWmedio. Recorre el manifiesto. Agrupa los hallazgos. Para cada grupo, redacta el parche mínimo y una justificación de un párrafo que nombre el modo de fallo que evita.
  • JUDGEsolo gama alta. Vuelve a leer cada parche propuesto frente al código que toca. Autorízalo, recházalo o devuélvelo para otra pasada de enumeración. Aquí es donde equivocarse resulta caro, así que aquí es donde el modelo caro se gana el sueldo: rutas de autorización, concurrencia y cancelación, seguridad de transacciones y migraciones, contratos que abarcan varios archivos.

El bucle discontinuo del diagrama no es decorativo. Un rechazo del juez no termina la ejecución — devuelve el trabajo al enumerador con un alcance más ajustado. repetir hasta que la pasada vuelva limpia es el contrato real.

Los sub-agentes de Codex comparten un sistema de archivos.

Esta fue la parte que me sorprendió. No hay copias aisladas. No hay paso de fusión. Una escritura de cualquier agente es visible al instante para todos los demás agentes — incluido el siguiente que se vaya a lanzar.

Eso cambia cómo hay que diseñar el flujo. No tiene sentido tener tres revisores clonando cada uno el repositorio y produciendo su propio diff; quien escribe el último gana, y el trabajo de los demás simplemente se evapora. En su lugar, la habilidad trata el árbol de trabajo como una pizarra compartida: enumerar escribe el manifiesto, revisar lo lee y añade un archivo de parche por grupo, juez lee los parches, aplica los que autoriza y vuelve a ejecutar la build. El paso de verificación es lo que cierra el bucle.

La otra consecuencia: la habilidad no puede fiarse de sus propios marcadores de progreso. «He aplicado 14 parches» no significa nada si el siguiente agente los sobrescribe. Así que, en lugar de fiarse de contadores o de flags de «completado», la habilidad condiciona la finalización a lo único que realmente sobrevive: el SHA final exacto del árbol de trabajo. Cuando el juez da el visto bueno, la ejecución registra ese SHA, y la siguiente invocación comprueba el árbol contra él antes de reanudar. Si el SHA no coincide con lo que dejó la última pasada limpia, la ejecución empieza de nuevo desde la enumeración — no porque el trabajo estuviera mal, sino porque el soporte se movió bajo él.

Las insignias de estado no son corazonadas. Son el SHA.

  • LISTO PARA MEZCLAR — el SHA registrado coincide con el SHA actual del árbol, la build pasa y el juez ha autorizado cada parche.
  • INCOMPLETO — se aplicó trabajo, pero o bien el árbol se ha desviado desde la última pasada limpia, o bien el juez rechazó uno o varios grupos y los devolvió para re-enumeración.
  • BLOQUEADO — el bucle se ejecutó y falló; un grupo que el juez sigue rechazando, o una build que no se pone verde. Una persona lo mira.

La idea central de la escalera era mantener barata la gama barata, reservar la gama cara para los lugares donde se la gana, y dejar que el veredicto viniera de algo que el sistema de archivos no puede falsificar.