Cómo verificar que una automatización de IA terminó bien
Que un flujo termine solo acredita la ejecución; el resultado se comprueba en el sistema que conserva el estado del proceso.

Una automatización termina bien cuando el resultado previsto puede comprobarse en la fuente o el conjunto de fuentes que conservan el estado final. Que el orquestador —el sistema que coordina los pasos— muestre todos los pasos en verde demuestra que ejecutó un recorrido sin registrar un error. No demuestra que el proceso externo completara el trabajo.
La diferencia importa más cuando interviene un agente de IA. El agente puede describir con mucha seguridad lo que cree haber hecho. Sin embargo, puede haber recibido una confirmación parcial, interpretado mal una respuesta o actuado sobre el objeto equivocado. La verificación tiene que apoyarse en una postcondición observable: un hecho que debe ser verdadero al terminar. No puede depender del relato que produce el mismo componente que ejecutó la acción.
Qué respalda este enfoque y qué sigue abierto
Las tres fuentes revisadas no ofrecen un estándar único para cerrar una automatización de IA. Coinciden en una idea que después hay que convertir en diseño: delegar una acción y verificar su resultado son problemas distintos.
| Evidencia revisada | Qué aporta | Qué no resuelve |
|---|---|---|
| GraphFlow (preprint, arXiv 2605.14968) | Especifica contratos de precondición, postcondición y composición | Su núcleo verificable sigue en desarrollo y no formó parte del piloto; sirve como referencia de diseño, no como validación empírica |
| Delegation and Verification Under AI (arXiv 2603.02961; ICML 2026) | Relaciona la calidad de la delegación con la fiabilidad de quien verifica | No entrega un contrato técnico listo para integrar |
| AWS Prescriptive Guidance, Understanding agentic AI economics on AWS | Vincula autonomía, características de la tarea y tolerancia al riesgo | No define una máquina de estados ni la evidencia mínima |
El contrato que propongo más abajo es una síntesis operativa de esas piezas y de los fallos conocidos de los procesos asíncronos. No se trata de un estándar publicado ni de un resultado experimental propio. Su valor depende de que permita definir una postcondición, demostrarla y recuperar una excepción sin repetir la acción a ciegas.
Un paso verde solo acredita que ese paso terminó
Pensemos en un caso hipotético. Una automatización recibe la baja de una persona externa y debe retirar su acceso. Para ello, el flujo localiza la cuenta, pide al proveedor de identidad que la desactive y recibe una respuesta aceptada. Con esa respuesta, marca el ticket como resuelto.
Todos los pasos pueden aparecer en verde y, aun así, la cuenta seguir activa. Puede ocurrir que el proveedor procese la baja de forma asíncrona y la rechace más tarde. También puede suceder que la petición haya apuntado a otra cuenta con un identificador parecido. Una integración secundaria podría conservar una sesión; si se pierde la confirmación, además, el proceso puede quedar en un estado que nadie revisa.
Aunque el flujo terminó y la acción fue aceptada, el acceso no quedó retirado. Los tres hechos deben distinguirse.
El error de diseño está en usar la ausencia de excepciones como condición de
éxito. Una llamada técnica solo puede afirmar lo que su contrato garantiza.
Según RFC 9110, secciones 15.3.1 y 15.3.3, 200 OK indica que la petición ha tenido éxito según la semántica de la
operación y, tras un POST, puede representar el estado o el resultado de la
acción. No demuestra por sí solo que un proceso asíncrono posterior haya
terminado. Un 202 Accepted afirma que la petición se ha recibido para su
procesamiento. Si el efecto ocurre después, el proceso necesita observarlo.
Ejecución, aceptación y resultado son estados distintos
Separaría la finalización en tres niveles:
| Nivel | Pregunta | Evidencia posible | Quién puede afirmarlo |
|---|---|---|---|
| Ejecución | ¿Terminó el flujo sin un error no tratado? | Registro del sistema coordinador, estado de tareas | El orquestador |
| Aceptación | ¿Recibió el sistema externo la acción? | Respuesta de API, identificador de operación, evento de recepción | El sistema receptor |
| Resultado | ¿Se cumple ya la postcondición prevista? | Estado leído del sistema de registro, evento final, consulta independiente | La fuente que conserva el efecto |
El cierre exige una postcondición observable en la fuente que conserva el efecto.

Los tres niveles no siempre necesitan esperas distintas. Una operación síncrona puede aceptar y completar dentro de la misma respuesta. Aun así, conviene conservar la distinción: obliga a comprobar qué promete realmente el contrato y evita convertir cualquier código HTTP de éxito en una prueba de negocio.
En procesos asíncronos la separación debe aparecer en el modelo de estados. Una acción aceptada pasa a «pendiente de comprobar». Desde ahí puede llegar a «resultado verificado», «resultado rechazado», «plazo agotado» o «requiere intervención». Si solo existen éxito y error, cualquier estado intermedio acabará escondido dentro de un registro o de una cola.
El resultado se define antes de automatizar
La herramienta no debería ser la primera decisión. Antes escribiría un contrato de resultado con la información mínima que permite saber cuándo ha terminado el trabajo, sin convertirlo en un documento jurídico ni en una especificación extensa.
| Campo | Pregunta que resuelve | Ejemplo de baja de acceso |
|---|---|---|
| Estado previo y autorización | ¿Qué autoriza la acción y sobre qué objeto se revalida? | Contrato finalizado, identidad canónica y pertenencia al entorno verificadas, cuenta activa y baja aún autorizada |
| Operación lógica | ¿Qué identidad comparten ejecución y reintentos? | Una clave de baja estable, distinta del identificador de cada intento |
| Postcondiciones | ¿Qué debe ser verdad al terminar? | Identidad desactivada; emisión de credenciales denegada; sesiones y tokens activos revocados o con expiración aceptada; accesos dependientes reconciliados |
| Fuentes de prueba | ¿Qué sistema demuestra cada condición? | Directorio autoritativo, servicio de tokens, registro de sesiones y sistemas dependientes |
| Vigencia de la lectura | ¿De qué instante o versión debe ser la lectura? | Lecturas posteriores a la operación y consistentes dentro del plazo acordado |
| Evidencia | ¿Qué dato mínimo se conserva para explicarlo? | Identidad canónica, condición, versión o instante, resultado y operación correlacionada, sin secretos |
| Plazo | ¿Cuánto puede tardar antes de ser excepción? | Reloj iniciado al aceptar la baja; objetivo y escalado acordados con Seguridad y Operaciones |
| Reversibilidad y criticidad | ¿Puede deshacerse o compensarse y qué daño produciría? | Retirada de acceso crítica; recuperación hacia delante y doble control para excepciones |
| Responsable | ¿Quién decide cuando el resultado no llega? | Operaciones de identidad, con el permiso mínimo para corregir o escalar |
El estado previo impide automatizar una acción que todavía no está autorizada, mientras que definir el efecto evita expresiones como «gestionar la baja», que no dicen qué cambia. Al identificar la fuente de prueba también aparece el propietario del estado; el plazo convierte una espera indefinida en una excepción, y el responsable evita que acabe en una bandeja sin dueño.
Una automatización queda terminada cuando una evidencia independiente y consultable demuestra el resultado dentro de las garantías y tolerancias acordadas. Si nadie puede leer esa prueba, el proceso puede estar automatizado, pero no puede considerarse verificado ni cerrarse de forma defendible.
El relato del agente no demuestra el resultado
Un agente puede devolver «cuenta desactivada» porque llamó a la herramienta correcta y recibió una respuesta que interpretó como éxito. Sin embargo, esa frase solo es una salida narrativa. La evidencia procede de una lectura posterior del estado de la cuenta o de un evento final emitido por el sistema que la gestiona.
La verificación debería usar un canal distinto siempre que el riesgo lo justifique. La acción puede ejecutarse mediante una orden y comprobarse con una consulta de estado. La independencia tiene varias capas: fuente autoritativa, ruta de código, credenciales y momento de la lectura. Si acción y consulta pasan por el mismo adaptador, comparten algunos modos de fallo y esa limitación debe quedar explícita.
Para reconstruir lo ocurrido conservaría solo la evidencia necesaria, no la respuesta completa sin filtrar: puede contener datos personales, tokens o secretos. La evidencia se depura o enmascara, se cifra, se limita por permisos y se elimina según una política de retención. El identificador de correlación enlaza registros; la clave de idempotencia evita duplicados solo si el receptor o nuestra propia tabla de operaciones la hacen cumplir.
Tampoco basta con pedir al agente que «revise su trabajo» usando el mismo texto que acaba de generar. Esa segunda respuesta puede repetir el supuesto inicial. La comprobación gana fuerza cuando cambia la evidencia: leer el sistema de registro, ejecutar una prueba, validar una regla o pedir a una persona que resuelva una discrepancia concreta.
El coste de la comprobación debe ajustarse al daño posible, sin desconfiar por defecto de toda salida. Para ordenar notas internas puede bastar una revisión por muestreo. Para retirar accesos, emitir un pago o publicar una calificación, la postcondición debe quedar demostrada antes de cerrar el proceso.
El éxito técnico puede ocultar fallos posteriores
Cuando la ejecución y el resultado se mezclan, los fallos posteriores se descubren por una queja o una auditoría. El contrato permite anticiparlos:
| Fallo | Qué parece haber ocurrido | Señal que lo descubre | Recuperación |
|---|---|---|---|
| Aceptación asíncrona rechazada | La petición terminó bien | Estado final rechazado o evento de fallo | Corregir la causa y volver a emitir con la misma operación lógica |
| Efecto parcial | Una parte cambió | Comprobación de todas las postcondiciones | Completar, compensar o escalar según el contrato |
| Duplicado | El reintento parece otro éxito | Dos efectos con la misma clave de negocio | Deduplicar o compensar el segundo |
| Lectura obsoleta | La consulta confirma el estado anterior | Versión, instante o lectura consistente | Esperar dentro del plazo y consultar la fuente adecuada |
| Confirmación perdida | El efecto existe, pero el flujo espera | Estado final presente sin evento local | Reconciliar antes de reintentar |
| Objeto equivocado | La acción se ejecutó correctamente | Identidad o clave de negocio no coincide | Detener, revertir si es posible y revisar la resolución de identidad |
La recuperación depende de la naturaleza de la acción. Una acción reversible puede deshacerse tras verificar el estado; una compensable exige otra operación que deje evidencia; una que solo admite recuperación hacia delante debe completarse; una irreversible se detiene antes y requiere una autoridad mayor. «Compensar» no sirve como respuesta genérica para pagos, publicaciones, correos o decisiones legales.
Reintentar sin conocer el estado final es especialmente peligroso. Si la primera acción tuvo efecto y solo se perdió la respuesta, el segundo intento puede duplicarlo. Antes de repetir, consultaría la postcondición o reconciliaría mediante una clave estable de la operación de negocio.
Una clave basada en el número de intento no sirve para deduplicar. Cada reintento produciría una clave distinta. La identidad debe pertenecer al trabajo que se quiere completar, no a la ejecución técnica que intenta completarlo.
El reintento tampoco sale directamente de «plazo agotado». Primero pasa por reconciliación; solo vuelve a emitir la misma operación lógica cuando no existe evidencia del efecto y el receptor admite idempotencia. Así se evita que una lectura obsoleta convierta un éxito tardío en una segunda acción destructiva.
La revisión humana necesita autoridad y contexto
Añadir un paso de aprobación humana no resuelve por sí solo la verificación. La persona necesita saber qué se pidió, qué respondió cada sistema, qué postcondición falta y cuánto tiempo queda. También necesita autoridad para aceptar, rechazar, corregir o escalar.
Una bandeja que solo muestra «el agente no está seguro» traslada la investigación entera a operaciones. Una excepción útil llega con el objeto afectado, la regla incumplida, la evidencia disponible, el historial de intentos y las acciones permitidas. El trabajo humano se concentra entonces en la decisión que no puede automatizarse.
La intervención responde a tres motivos: una discrepancia, cuando el sistema devuelve un estado distinto del esperado; la falta de prueba dentro del plazo, o un riesgo que exige autorización aunque la acción sea técnicamente posible. Mezclarlos en una sola cola impide priorizar y medir.
La cola necesita límites operativos (prioridad por daño y antigüedad, responsable suplente, capacidad máxima y escalado antes de saturarse) y métricas sobre la edad de los pendientes, las discrepancias, los duplicados, los reintentos agotados, el tiempo hasta el resultado y la carga de revisión humana.
La autoridad también importa. Si quien revisa no puede corregir el dato ni detener el proceso, su aprobación es decorativa. La automatización necesita un propietario de la excepción con acceso al sistema y una política clara de escalado.
La productividad se calcula después de verificar
La estimación habitual compara minutos manuales con segundos de ejecución. Deja fuera el diseño del flujo, la vigilancia, las revisiones, las excepciones y la recuperación. Con ese cálculo casi cualquier automatización parece rentable.
Usaría una medida de tiempo neto liberado, no un ROI completo:
tiempo evitado de trabajo manual
− diseño y mantenimiento prorrateados
− supervisión y comprobación
− tratamiento de excepciones
− retrabajo y recuperación
= tiempo neto liberado
La medida se apoya en resultados verificados. Si el flujo procesa cien bajas y diez quedan pendientes sin que nadie lo sepa, no ha completado cien casos. Si las diez excepciones requieren veinte minutos de investigación, ese coste forma parte del proceso.
También mediría el tiempo hasta el resultado, no solo el tiempo de ejecución. Una automatización que responde en segundos y tarda dos días en resolver sus excepciones puede ser peor que un proceso más lento con un estado final fiable. La pieza sobre productividad del desarrollo con IA aplica la misma idea al cambio de software validado y estable.
Una automatización termina cuando la evidencia demuestra el resultado
El contrato de resultado cambia el orden del trabajo. Primero se define qué debe cambiar, quién conserva ese estado, cómo se demostrará, cuánto puede tardar y quién resuelve la excepción. Después se elige el orquestador, el agente o la integración.
Esta secuencia evita usar el panel técnico como evidencia de un proceso externo que no observa. El orquestador acredita la ejecución, el sistema receptor acredita la aceptación y la fuente de registro acredita el resultado. Cuando esas tres pruebas coinciden, el flujo puede cerrarse con una razón que una persona y otra máquina pueden comprobar.
Ese es el umbral que utilizaré para el resto del clúster de automatización. La siguiente pregunta será qué procesos merecen automatizarse según su variabilidad, reversibilidad, coste del error y prueba disponible. Sin una postcondición verificable, la respuesta será sencilla: todavía no.
Última revisión: 27 de julio de 2026.
Alberto Lara Hernández trabaja en dirección técnica, arquitectura de software, inteligencia artificial aplicada y plataformas de aprendizaje.
Más de 22 años construyendo y evolucionando plataformas de aprendizaje que tienen que operar de verdad.
Seguir leyendo
- Loop Engineering: tres formas de aprobar tus propios fallos
Tres falsos verdes encontrados al automatizar un ciclo editorial con agentes: integrar tus propios cambios, recortar la auditoría y probar el registro en lugar del defecto.
- Deuda técnica en IA generativa: RAG, agentes y código generado
La deuda técnica de la IA generativa se acumula en fuentes, índices, agentes y código. El análisis propone controles para RAG, agentes, código generado y desarrollo dirigido por especificaciones.
- Qué decisiones de arquitectura deja abiertas una spec
Una especificación reduce ambigüedad, pero no elige por sí sola la arquitectura. Un caso de concurrencia muestra qué debe decidir todavía el equipo.