Human-in-the-Loop Architecture: Cuando humanos validan decisiones del agente

Una capa arquitectonica gobernada que pasa acciones riesgosas a modo de aprobacion humana antes de la ejecucion real.
En esta página
  1. Idea en 30 segundos
  2. Problema
  3. Solucion
  4. Como funciona Human-in-the-Loop Architecture
  5. En codigo se ve asi
  6. Como se ve durante la ejecucion
  7. Cuando encaja - y cuando no
  8. Encaja
  9. No encaja
  10. Problemas y fallos tipicos
  11. Como se combina con otros patrones
  12. En que se diferencia de Supervisor Agent
  13. Resumen
  14. FAQ
  15. Que Sigue

Idea en 30 segundos

Human-in-the-Loop Architecture es un esquema gobernado donde el sistema involucra a una persona antes de ejecutar una accion riesgosa.

El agente puede proponer una action, pero la decision final para pasos criticos la toma una persona: approve, reject o revise.

No es control manual de cada paso. La persona participa solo donde el riesgo es realmente alto.

Cuando se necesita: cuando las acciones del agente pueden cambiar estado, gastar dinero, tocar datos sensibles o crear riesgo legal.

El LLM no debe ejecutar por si solo side effects criticos (cambios de estado). Solo propone una accion y el sistema la pasa a un proceso controlado de aprobacion.


Problema

Sin Human-in-the-Loop, el sistema cae a menudo en uno de dos extremos:

  • o el agente actua con demasiada autonomia;
  • o el equipo revisa manualmente casi todo y pierde velocidad.

Fallos tipicos sin una capa HITL clara:

  • una accion riesgosa se ejecuta sin aprobacion;
  • no se ve quien aprobo la accion ni por que;
  • es dificil revertir o explicar consecuencias de un error;
  • el proceso de escalacion difiere entre equipos y se vuelve caotico.

En production, esto se convierte en incidentes, releases lentos o auditoria debil.

Solucion

Agregar Human-in-the-Loop Architecture como limite explicito de aprobacion (approval boundary) entre la decision del agente y la ejecucion real de la accion.

Esta capa define:

  • que acciones van sin aprobacion;
  • que acciones requieren confirmacion humana;
  • como manejar approve, reject, revise y timeout.

Analogia: como doble firma en operaciones financieras.

El sistema puede preparar un pago, pero para un monto grande se necesita confirmacion de una persona responsable.

Human-in-the-Loop funciona igual: los pasos importantes no se ejecutan automaticamente.

Como funciona Human-in-the-Loop Architecture

Human-in-the-Loop Architecture es una capa gobernada entre Agent Runtime y la ejecucion de acciones que mueve pasos criticos a modo de aprobacion humana.

Diagram
Descripcion del flujo completo: Detect → Escalate → Review → Enforce → Resume

Detect
Runtime o la capa policy determina que la accion es riesgosa y requiere aprobacion.

Escalate
El sistema forma una solicitud de aprobacion: que quiere hacer el agente, por que, que riesgos hay y cual es el contexto.

Review
Una persona toma una decision: approve, reject o revise (aprobar con cambios).

Enforce
Tras esa decision, el sistema ejecuta la accion por Tool Execution Layer o devuelve reject/revise a Runtime.

Resume
Runtime continua el ciclo con el resultado de aprobacion y registra la razon en auditoria.

Este ciclo permite mantener velocidad de automatizacion y control sobre acciones criticas.

En codigo se ve asi

PYTHON
class HumanInTheLoopArchitecture:
    def __init__(self, policy, approval_queue, tool_execution):
        self.policy = policy
        self.approval_queue = approval_queue
        self.tool_execution = tool_execution

    def execute_action(self, action, context):
        decision = self.policy.check(action=action, context=context)
        mode = decision.get("mode")

        if mode == "allow":
            return self.tool_execution.execute(action=action, context=context)

        if mode == "require_approval":
            ticket_id = self.approval_queue.create(
                action=action,
                context=context,
                reason_code=decision.get("reason_code", "approval_required"),
            )

            # Simplified synchronous example for illustration.
            review = self.approval_queue.wait(ticket_id=ticket_id, timeout_s=300)
            if review is None:
                return {"ok": False, "reason_code": "approval_timeout"}

            status = review.get("status")
            if status == "approved":
                approved_action = review.get("action_override", action)
                return self.tool_execution.execute(action=approved_action, context=context)

            if status == "revise":
                return {
                    "ok": False,
                    "reason_code": "approval_revision_required",
                    "feedback": review.get("feedback", ""),
                }

            return {"ok": False, "reason_code": "approval_rejected"}

        return {"ok": False, "reason_code": decision.get("reason_code", "policy_denied")}

En este ejemplo, wait(..., timeout_s=300) se muestra por claridad.
En production, HITL suele ser asincrono: el sistema crea un approval ticket, termina el run actual con estado pending_approval y luego reanuda tras la decision humana.

Como se ve durante la ejecucion

TEXT
Solicitud: "Exporta la base de clientes a un CRM externo y envia un correo a todos los contactos"

Step 1
Agent Runtime: forma action -> export_customers + send_campaign_email
HITL Gate: classify -> require_approval (high_risk_data_export)

Step 2
El sistema crea approval ticket con contexto y motivo
Human: revise -> permitir solo el segmento "active_customers", sin envio masivo

Step 3
Tool Execution Layer: ejecuta solo la accion aprobada
Runtime: devuelve resultado + reason_code a la traza

Human-in-the-Loop no bloquea toda la automatizacion. Agrega control en puntos de riesgo real.

Cuando encaja - y cuando no

Human-in-the-Loop Architecture es util donde el costo del error es alto y se necesita una persona responsable en pasos criticos.

Encaja

SituacionPor que Human-in-the-Loop Architecture encaja
Hay acciones irreversibles o costosas (eliminacion, cobro, exportacion)El sistema no ejecuta un paso critico hasta que una persona confirme la decision.
Se requieren compliance y auditoria responsable de decisionesHay traza explicita: quien aprobo, que aprobo, con que razon y resultado.
Hay que dar autonomia al agente, pero dentro de gates de riesgoLos pasos de bajo riesgo se automatizan, los de alto riesgo pasan por una persona.

No encaja

SituacionPor que Human-in-the-Loop Architecture no encaja
Escenario one-shot read-only sin cambios de estado y sin alto riesgoUn gate de aprobacion agrega latencia y complejidad sin valor practico.
El sistema debe responder en segundos y no puede esperar a una personaLa aprobacion humana asincrona puede romper requisitos de tiempo de respuesta.

En esos casos, policy-gates sin aprobacion manual suelen ser suficientes:

PYTHON
decision = policy.check(action, context)
if decision["mode"] == "allow":
    execute(action)

Problemas y fallos tipicos

ProblemaQue pasaComo prevenir
Cola de aprobacionesLa cola de aprobaciones crece y los runs se quedan bloqueadosReglas risk-tier, SLA de revision, cola de prioridad y proceso fallback
Aprobacion ciegaEl revisor aprueba acciones sin verificacion realreason_code obligatorio, checklist corto y post-audit selectivo
Approval fatigueLos revisores pulsan approve de forma mecanica por exceso de solicitudesMejor risk-tiering, batching de casos low-risk y quality thresholds antes de escalar
Contexto incompleto en la solicitudLa persona no ve riesgos y toma una decision aleatoriaapproval payload estandarizado: actor, action, resource, risk, budget, diff
Bloqueo tras timeoutEl sistema espera aprobacion demasiado tiempoTimeout explicito + accion por defecto: deny o safe_fallback
Decisiones inconsistentes entre revisoresCasos iguales se manejan de forma distintaPlaybook, plantillas de decision y calibracion de politicas basada en logs

Una capa HITL estable requiere mas que un boton "Approve"; requiere disciplina operativa clara.

Como se combina con otros patrones

Human-in-the-Loop Architecture funciona como capa de control gobernada sobre mecanismos base de ejecucion.

En otras palabras:

  • Policy Boundaries definen que es riesgoso
  • Human-in-the-Loop Architecture define como exactamente una persona confirma o bloquea esa accion

En que se diferencia de Supervisor Agent

Supervisor AgentHuman-in-the-Loop Architecture
Quien toma la decision criticaPrincipalmente el propio supervisor-agent segun reglasRevisor humano en puntos require_approval
NivelPatron de comportamiento del agenteCapa de control arquitectonica del proceso de ejecucion
Que aportaSupervision policy automatizada entre pasosConfirmacion humana formal para acciones riesgosas
Riesgo tipicoError de modelo en evaluacion de policyRetraso operativo por cola de aprobaciones

Supervisor Agent y HITL se pueden combinar: el supervisor hace filtro previo y una persona aprueba solo los pasos de mayor riesgo.

Resumen

En resumen

Human-in-the-Loop Architecture:

  • coloca a una persona en puntos criticos de ejecucion
  • bloquea acciones peligrosas hasta aprobacion explicita
  • registra decision, razon y resultado en auditoria
  • equilibra automatizacion y responsabilidad en production

FAQ

Q: HITL significa que cada accion debe ser aprobada por una persona?
A: No. Enfoque practico: solo acciones high-risk van a aprobacion, el resto se ejecuta automaticamente.

Q: Que es mejor para fail-safe: timeout = allow o timeout = deny?
A: Para acciones write riesgosas, normalmente se usa fail-closed: timeout => deny o fallback seguro.

Q: En HITL, se puede no solo aprobar sino tambien cambiar una accion?
A: Si. El modo revise permite a una persona aprobar una accion con restricciones (monto, segmento, scope).

Q: Cuando conviene elegir Supervisor Agent en lugar de HITL?
A: Cuando se necesita control automatizado rapido de politicas sin intervencion manual en cada paso riesgoso.

Que Sigue

Human-in-the-loop reduce riesgo. El siguiente paso es ver como esto se conecta con los limites tecnicos del sistema:

⏱️ 9 min de lecturaActualizado 8 de marzo de 2026Dificultad: ★★★
Integrado: control en producciónOnceOnly
Guardrails para agentes con tool-calling
Lleva este patrón a producción con gobernanza:
  • Presupuestos (pasos / topes de gasto)
  • Permisos de herramientas (allowlist / blocklist)
  • Kill switch y parada por incidente
  • Idempotencia y dedupe
  • Audit logs y trazabilidad
Mención integrada: OnceOnly es una capa de control para sistemas de agentes en producción.
Autor

Esta documentación está curada y mantenida por ingenieros que despliegan agentes de IA en producción.

El contenido es asistido por IA, con responsabilidad editorial humana sobre la exactitud, la claridad y la relevancia en producción.

Los patrones y las recomendaciones se basan en post-mortems, modos de fallo e incidentes operativos en sistemas desplegados, incluido durante el desarrollo y la operación de infraestructura de gobernanza para agentes en OnceOnly.