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ón | Score | Por qué |
|---|---|---|
| Reversibility | 0 | Read-only, nada cambia |
| Blast radius | 0 | Local solamente |
| Auditability | 0 | Comando logueado |
| Cost | 0 | Trivial |
| Time | 0 | <1s |
| Suma | 0 | Autonomía total |
Claude Code corre sin preguntar.
Ejemplo 2 · Claude Code corriendo git push --force-with-lease
| Dimensión | Score | Por qué |
|---|---|---|
| Reversibility | 2 | Recuperable vía reflog, pero personas del equipo pueden haber hecho pull |
| Blast radius | 2 | Branch compartido |
| Auditability | 1 | Comando logueado pero historial puede confundir |
| Cost | 0 | Trivial |
| Time | 0 | <1s |
| Suma | 5 | Borderline. En la práctica, durable pause. |
Claude Code pregunta antes.
Ejemplo 3 · Agente Cowork enviando email a cliente externo
| Dimensión | Score | Por qué |
|---|---|---|
| Reversibility | 3 | Email enviado es enviado. Sin deshacer |
| Blast radius | 3 | Cliente externo afectado |
| Auditability | 1 | Email log existe |
| Cost | 0 | Centavos |
| Time | 0 | Instantáneo |
| Suma | 7 | Durable pause obligatorio |
Aún agente confiable, exige confirmación humana.
Ejemplo 4 · Agente automatizando transferencia bancaria
| Dimensión | Score | Por qué |
|---|---|---|
| Reversibility | 3 | Transfer banking es irreversible |
| Blast radius | 3 | Cuenta corporativa, vendor real |
| Auditability | 2 | Log existe pero integración crítica |
| Cost | 3 | Valor monetario directo |
| Time | 0 | Instantáneo |
| Suma | 11 | Bloqueo — 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.