Caso FIT · PAT-09
Desarrollo con agentes bajo controles que bloquean (DEV agéntico)
Ejecutado con un cliente; los detalles se comparten en la sesión de diagnóstico.
Contexto
Ocurre en equipos que adoptan agentes de código en varios repositorios a la vez. Con el contexto lleno, el agente olvida correr pruebas o seguir convenciones, y un control que revisa un texto escrito por el propio agente no prueba nada. Sin una regla común, cada repositorio termina con su propia versión del proceso.
El reto
El equipo quería que los agentes de código aceleraran el trabajo sin saltarse pruebas ni convenciones y sin que cada repositorio terminara con reglas distintas.
Cómo se resolvió
Cada repositorio tiene un arnés con un motor determinista. El motor lleva el estado de la especificación del ticket y exige evidencia de prueba fallida antes de implementar y aprobada después. Los controles corren en tres capas: antes de cada acción del agente, en cada commit (lo haga quien lo haga) y en la integración continua. Lo que cambia entre repositorios vive en un perfil por repositorio, no en el arnés.
Roles
- Desarrollador que trabaja el ticket
- Revisor que aprueba la integración
- Responsable técnico de las reglas del repositorio
Antes y después
Antes
Cada desarrollador aplica las reglas según su criterio
Con IA
El arnés bloquea cualquier cambio que no cumpla las reglas
Capas de control
Cómo funciona
- La especificación del ticket avanza por estados fijos, de bloqueado a aprobado, y solo el motor puede cambiarlos.
- Por cada criterio, el motor exige ver la prueba fallar antes de implementar y pasar después, y guarda una foto del código en cada momento.
- Antes de cada acción del agente, un hook impide cambiar a mano el estado de la especificación.
- En cada commit, lo haga una persona o un agente, corren lint, tipos, pruebas y reglas sobre las líneas nuevas.
- La integración continua repite los controles y rechaza especificaciones sin aprobar o sin evidencia del motor.
- Lo que cambia entre repositorios vive en un perfil, y las reglas se leen siempre desde la rama base.
Sistemas
- Repositorio de código
- Hooks de commit
- Integración continua
- Herramienta de gestión de tickets
Capacidades
- Generación y ejecución de pruebas de software
- Orquestación de agentes en tareas de varios pasos
- Automatización con aprobación humana
Quién hace qué
Criterios de éxito
| Indicador | Cómo se mide | Resultado |
|---|---|---|
| Crecimiento de las pruebas automatizadas del repositorio | Cómo se mideNúmero de pruebas automatizadas en la rama base al integrar el arnés y después. | Resultado medidoLas pruebas automatizadas pasaron de 1 archivo de pruebas a 1.729 pruebas. |
| Commits rechazados por los controles antes de llegar a revisión | Cómo se mideConteo de bloqueos registrados por los hooks de commit y la integración continua, por semana. | ResultadoSe mide en el piloto. |
| Criterios con evidencia de prueba fallida y luego aprobada | Cómo se mideCriterios con marca de rojo y de verde del motor sobre el total de criterios del ticket. | ResultadoSe mide en el piloto. |
| Cambios integrados que saltaron algún control | Cómo se mideCommits en la rama base sin evidencia del motor o con verificación omitida, según auditoría mensual. | ResultadoSe mide en el piloto. |
Lecciones
- Pedirle al agente que corra las pruebas no basta: con el contexto lleno, las instrucciones se pierden, y solo un control que bloquea se cumple siempre.
- Las reglas se leen desde la rama base, nunca desde la rama del cambio; si no, un cambio puede fijar sus propias reglas.
- Un control que siempre está en rojo entrena al equipo a ignorarlo; antes de volverlo bloqueante hay que dejar en cero lo que ya existe.
Controles clave
Gestión de cambios de prompts, herramientas y modelos · Secretos y credenciales fuera del prompt · Cadena de suministro de modelos, librerías y conectores · Aprobación humana antes de acciones con efecto externo o irreversible
Implementación de referencia: Implementado con Claude Code, husky y GitHub Actions.
Quiero revisar esto con FIT: Felipe Arentsen · felipe.arentsen@factorit.com
FIT Labs · La Fábrica de Soluciones