Saltar al contenido
🟠 Builder

Agent Trust Stack: cuándo confiar qué agente con qué tarea

Versión extendida del Agent Trust Stack — las 5 dimensiones aplicadas con ejemplos prácticos de Claude Code, Cowork y producción, con matriz de decisión completa.

El Agent Trust Stack define 5 dimensiones para decidir lo que un agente puede hacer autónomamente. Este post extiende con ejemplos prácticos aplicados a Claude Code, Cowork y producción en general.

La matriz aplicada

Puntuación de 0-3 en cada dimensión, suma de 0-15. Bandas:

  • 0-5: autonomía total.
  • 6-10: autonomía con durable pause en acciones específicas.
  • 11-15: bloqueo — exige humano en el loop.

Ejemplo 1 · Claude Code corriendo git status

DimensiónScorePor qué
Reversibility0Read-only, nada cambia
Blast radius0Local solamente
Auditability0Comando logueado
Cost0Trivial
Time0<1s
Suma0Autonomía total

Claude Code corre sin preguntar.

Ejemplo 2 · Claude Code corriendo git push --force-with-lease

DimensiónScorePor qué
Reversibility2Recuperable vía reflog, pero personas del equipo pueden haber hecho pull
Blast radius2Branch compartido
Auditability1Comando logueado pero historial puede confundir
Cost0Trivial
Time0<1s
Suma5Borderline. En la práctica, durable pause.

Claude Code pregunta antes.

Ejemplo 3 · Agente Cowork enviando email a cliente externo

DimensiónScorePor qué
Reversibility3Email enviado es enviado. Sin deshacer
Blast radius3Cliente externo afectado
Auditability1Email log existe
Cost0Centavos
Time0Instantáneo
Suma7Durable pause obligatorio

Aún agente confiable, exige confirmación humana.

Ejemplo 4 · Agente automatizando transferencia bancaria

DimensiónScorePor qué
Reversibility3Transfer banking es irreversible
Blast radius3Cuenta corporativa, vendor real
Auditability2Log existe pero integración crítica
Cost3Valor monetario directo
Time0Instantáneo
Suma11Bloqueo — humano en el loop siempre

No importa cuán “bueno” sea el agente. La política bloquea.

La trampa del score igual con causa diferente

Dos flujos con suma 7 pueden necesitar policies diferentes. Email (R3, B3) vs crear ticket público (R2, B3, A2) tiene el mismo score, pero:

  • Email: reversibility es el dolor. Durable pause antes del envío.
  • Ticket: auditability es el dolor. Logging detallado + permiso de auditor.

La suma es screening; la descomposición es design.

Cómo aplicar en código

function evaluateTrust(task: Task): TrustDecision {
  const score = task.reversibility + task.blastRadius + 
                task.auditability + task.cost + task.time;
  
  if (score <= 5) return { autonomy: 'full', requireGate: false };
  if (score <= 10) return { 
    autonomy: 'partial', 
    requireGate: true,
    gateType: chooseGate(task),
  };
  return { autonomy: 'blocked', requireHuman: true };
}

En la práctica, scoring viene de policy file editable (YAML/JSON), no hardcoded. Permite ajuste sin deploy.

La integración con Harness Stack

Trust Stack presupone Harness Stack presente. Sin Harness, las dimensiones caen:

  • Sin Verification (capa 3) → Reversibility empeora (cualquier action puede salir mal).
  • Sin Failure corpus (capa 9) → Auditability empeora (no hay trace usable).
  • Sin Durable pause (capa 7) → el gate de la banda 6-10 no existe operacionalmente.

Construye Harness primero. Aplica Trust Stack como capa de decisión por encima.

Dónde profundizar

Agent Trust Stack hub para el framework canónico. Harness Stack introducción para la infra que destraba las decisiones.