Saltar al contenido
🟠 Builder

Tool limiting strategies: el control invisible que separa demo de producción

Tool limiting es la capa 2 del Harness Stack aplicada con método. Cinco estrategias específicas, con matriz de decisión sobre cuál usar cuándo.

Agente en demo recibe acceso a 50 tools “para mostrar potencial”. Agente en producción recibe acceso a 5-10 tools, con scope quirúrgico. La diferencia no es técnica — es stewardship.

Tool limiting es la capa 2 del Harness Stack. Cinco estrategias con tradeoffs.

Estrategia 1 · Allowlist explícita

Lista hardcoded de tools que el agente puede llamar. Default deny.

tools:
  - read_user_profile
  - search_kb
  - create_ticket
  # Nada más es accesible.

Cuándo usar: agente en producción con scope definido. Default para cualquier agent live en 2026.

Tradeoff: rígido. Agregar tool nueva exige deploy.

Estrategia 2 · Capability-based + RBAC

Tool puede ser llamada si: agente tiene capability “X” AND usuario tiene role “Y”.

tools:
  delete_account:
    requires_agent_capability: dangerous_action
    requires_user_role: admin
    requires_durable_pause: true

Cuándo usar: SaaS multi-tenant donde el mismo agente sirve users con permisos diferentes.

Tradeoff: complejidad de policy. Vale para sistema con >5 tools sensibles.

Estrategia 3 · Scope per channel

Misma tool, scope diferente por canal. WhatsApp tiene reversibility menor que Telegram interno, entonces constraint aprieta.

tools:
  send_email:
    whatsapp_channel: { requires_human: true }
    telegram_internal: { requires_confirmation: false }
    discord_public: { blocked: true }

Cuándo usar: agente multi-canal (ex.: gateway multi-canal open-source).

Tradeoff: tests necesitan cubrir cada canal.

Estrategia 4 · Time-boxed grants

Capability concedida por ventana corta. Después de N minutos, revoca.

agent.grant_tool('transfer_funds', expires_in=300)  # 5 minutos
# Después de expirar, agente pierde acceso. Necesita renovar vía humano.

Cuándo usar: action sensible con flujo de trabajo específico (transferencia aprobada para esa transacción).

Tradeoff: state management. No trivial en sistema stateless.

Estrategia 5 · Budget-based limits

Tool tiene presupuesto (calls/día, $/día, volumen procesado). Cuando estoura, bloquea.

tools:
  expensive_llm_call:
    daily_budget_usd: 50
    daily_call_limit: 1000
    hourly_burst: 100

Cuándo usar: tools con costo directo (vendor API caro, cuota externa).

Tradeoff: estimar límites realistas. Muy apretado → agente se traba en horario pico.

Matriz de decisión

EscenarioEstrategia primaria
Agente single-user, tools pocasAllowlist
SaaS multi-tenant, RBAC existenteCapability + RBAC
Agente multi-canalScope per channel
Flujo workflow con escalationTime-boxed grants
Vendor API con cuotaBudget-based

Combinaciones son comunes. Allowlist + budget es el padrão para la mayoría de los agentes en producción 2026.

Lo que NO hacer

Anti-pattern 1 · “Implícito en el prompt”

System prompt: “No borres dato sin confirmar”. Constraint vía prompt es frágil — prompt injection (vector 1 de la Prompt Infection Taxonomy) bypassa.

Tool limiting es código, no esperanza.

Anti-pattern 2 · “Liberar todo y auditar”

“Deja que el agente haga, auditoría pesca cuando errar”. En acción irreversible, auditoría después es solo informe de incidente. Constraint antes de la acción es el punto.

Anti-pattern 3 · “Mismo scope para todos los ambientes”

Dev, staging, prod necesitan constraints diferentes. Dev puede tener más. Prod tiene menos. No inventes: tool limiting es por ambiente.

Integración con el Trust Stack

Tool limiting alimenta dimensiones del Agent Trust Stack:

  • Reversibility: tools de write escapan de “totalmente reversible”.
  • Blast radius: tools que tocan infra compartida vs sandbox.
  • Auditability: cada tool call logueada con input + output + actor.

Dónde profundizar

Harness Stack hub para el framework completo. Prompt Infection Taxonomy para los vectores que tool limiting bloquea.