\
CONTEXT/academy
Lección 04 · ≈ 12 min

Delegar: automático vs explícito y limitar tools

Cómo se dispara la delegación y cómo restringir lo que un subagente puede hacer.

Delegar: automático vs explícito y limitar tools

Ya tienes un subagente. Esta lección es sobre controlarlo: cuándo lo lanza Claude solo, cuándo lo pides tú, y cómo acotar lo que puede hacer para que delegar sea seguro.

Automático vs explícito

  • Automático: Claude lee la description de tus subagentes y delega cuando una tarea encaja. Por eso la description se escribe pensando en los disparadores ("úsalo después de modificar código").
  • Explícito: se lo pides tú directamente — "usa el subagente code-reviewer para esto" — o lo lanzas/gestionas desde /agents.

Patrones típicos que verás y crearás: un reviewer (revisa tras cada cambio), un explorer (mapea zonas del repo sin tocarlas), un db-reader (solo consultas de lectura). Cada uno con tools acotadas a su función.

Limitar tools: el verdadero control de seguridad

Un subagente no tiene por qué poder hacer de todo. Dos campos del frontmatter:

  • tools — allowlist: solo estas tools. El resto, fuera.
  • disallowedTools — denylist: todas menos estas.

Un investigador que no puede escribir nada:

---
name: safe-researcher
description: Investiga el repo con capacidades restringidas.
tools: Read, Grep, Glob, Bash
---

Al no incluir Edit/Write ni tools MCP, ese subagente no puede modificar ficheros aunque quisiera. Es la idea de mínimo privilegio del curso de permisos, aplicada a un trabajador concreto: delegas tranquilo porque sabes que solo puede leer.

Permisos sobre subagentes

Igual que con cualquier tool, puedes gobernar qué subagentes se usan con reglas Agent(...). Para impedir que se use uno:

{
  "permissions": {
    "deny": ["Agent(Explore)", "Agent(mi-subagente)"]
  }
}

Agent(nombre) casa por nombre. Es útil, por ejemplo, para desactivar un subagente que no quieres en cierto repo.

Una nota sobre permisos heredados

El subagente trabaja dentro de tu sesión: si la sesión está en acceptEdits o bypassPermissions, eso manda y el subagente no lo puede ablandar. Y en modo auto, las acciones del subagente pasan por el mismo clasificador que la sesión principal. En resumen: un subagente nunca tiene más mano libre que tu sesión, solo menos si lo acotas.

Qué llevas hasta aquí

  • La delegación es automática (vía description) o explícita (tú o /agents).
  • Acotas con tools (allowlist) o disallowedTools (denylist): mínimo privilegio por trabajador.
  • Gobiernas su uso con reglas Agent(nombre); un subagente nunca excede los permisos de tu sesión.

En la última lección, darle memoria propia y las buenas prácticas para que delegar salga a cuenta.

Fuente oficial: Subagents

¿Quieres llevar la cuenta de las lecciones que has terminado?

Entrar para guardar progreso