Caso FIT · PAT-08
Verificación independiente de criterios de aceptación (QA agéntico)
Ejecutado con un cliente; los detalles se comparten en la sesión de diagnóstico.
Contexto
Ocurre en equipos que ya usan agentes para escribir código. El mismo agente que implementa declara que terminó, con el sesgo de quien ya se convenció, y la revisión humana recibe cambios que parecen cumplir pero no cumplen. Lo que se escapa en ese punto aparece después en pruebas o en producción.
El reto
Con agentes que escriben código, el mismo agente que implementa valida su trabajo, y el equipo necesitaba saber si cada criterio de aceptación se cumplía de verdad antes de revisar el cambio.
Cómo se resolvió
Cada ticket lleva criterios de aceptación numerados. Al terminar la implementación, un agente verificador por criterio recibe solo el texto del criterio, el cambio de código y la prueba que dice cubrirlo, sin el plan ni la conversación, y su tarea es demostrar que no se cumple. Otro agente revisa el plan antes de programar, y la integración continua es la última barrera.
Roles
- Dueño de producto que aprueba los criterios
- Desarrollador responsable del ticket
- Segundo desarrollador que aprueba la integración
Antes y después
Antes
El agente que programa declara su propio trabajo terminado
Con IA
Otro agente sin contexto intenta refutar cada criterio
Quién implementa y quién verifica
Cómo funciona
- Cada ticket llega con criterios de aceptación numerados y el agente redacta un plan para cumplirlos.
- Un revisor de planes que solo ve el ticket y el plan busca criterios sin cubrir, riesgos de regresión con el archivo afectado y criterios difíciles de probar; la persona aprueba el plan.
- El agente implementa, escribe las pruebas y hace su propia revisión.
- Por cada criterio corre en paralelo un verificador que recibe solo el texto del criterio, el cambio acotado a ese criterio y el nombre de su prueba.
- El verificador responde cumple, no cumple o no verificable, y solo puede decir no cumple si describe una entrada exacta y el resultado equivocado que produce.
- Las diferencias con la autorrevisión quedan escritas en la especificación; la integración continua y la aprobación de otro desarrollador cierran el ciclo.
Sistemas
- Repositorio de código
- Integración continua
- Protección de ramas
- 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
Quién hace qué
Criterios de éxito
| Indicador | Cómo se mide | Resultado |
|---|---|---|
| Criterios refutados por el verificador antes de la revisión humana | Cómo se mideCriterios con veredicto no cumple sobre el total verificado, por ticket, según la tabla de la especificación. | Resultado medidoEn un ticket de ejemplo con 10 criterios verificados: 1 no se cumplía, en 1 la prueba no cubría el criterio y en 1 el verificador discrepó de la autorrevisión del agente que implementó. |
| Pruebas que no cubren su criterio | Cómo se mideCriterios donde el verificador mostró que la prueba pasa aunque el código no cumpla, por ticket. | ResultadoSe mide en el piloto. |
| Defectos encontrados después de la integración en cambios verificados | Cómo se mideConteo de defectos reportados en ambientes de prueba o producción que se originan en tickets ya verificados. | ResultadoSe mide en el piloto. |
| Criterios marcados como no verificables | Cómo se mideCriterios con veredicto no verificable sobre el total, como señal de tickets mal redactados. | ResultadoSe mide en el piloto. |
Lecciones
- El verificador vale porque no ve el razonamiento de quien implementó; si recibe el plan, hereda la conclusión que debía poner en duda.
- Los fallos frecuentes no son errores groseros sino cumplimientos parecidos: el caso vacío, el borde de un rango o un valor de retorno distinto al pedido.
- Un criterio ambiguo no se puede verificar; la calidad del ticket define la calidad de la revisión.
Controles clave
Set de evaluación propio antes de producción · Pruebas de regresión al cambiar modelo, prompt o datos · Ambientes separados y datos de prueba seguros · Nivel de autonomía declarado por tarea
Implementación de referencia: Implementado con subagentes y hooks de Claude Code y GitHub Actions.
Quiero revisar esto con FIT: Felipe Arentsen · felipe.arentsen@factorit.com
FIT Labs · La Fábrica de Soluciones