Inicio / Extender: habilidades, MCP, subagentes, hooks, plugins
Subagentes: delegar en un contexto aislado
Un subagente procesa una tarea en una ventana de contexto aislada y solo devuelve su conclusión, lo que mantiene limpia la conversación principal y permite lanzar varios en paralelo.
Un subagente ejecuta una tarea en su propia ventana de contexto, separada de la conversación principal. Cuando termina, solo su conclusión regresa al hilo que sigues: los archivos que leyó, los registros que recorrió y los callejones sin salida que exploró permanecen en su propio contexto, nunca en el tuyo. Esto es lo que permite delegar una búsqueda voluminosa sin ahogar la conversación principal bajo resultados que ya no volverás a consultar.
Lo que se carga al arrancar, y lo que no llega hasta ahí
Un subagente estándar no parte de cero: recibe su propio prompt de sistema, distinto del de Claude Code, el mensaje de delegación que escribiste, la jerarquía completa de los archivos CLAUDE.md del repositorio y una instantánea del estado de git tomada al inicio de la sesión principal, salvo para los agentes Explore y Plan, que carecen de ella, el contenido íntegro de cada skill nombrada en su campo skills, y la lista de los agentes hermanos lanzados en el mismo lote. En cambio, tres cosas no le llegan: el estilo de salida elegido para la sesión principal, la memoria automática, y el tamaño de la ventana de contexto de la conversación que lo lanzó, ya que la suya está dimensionada por su propio modelo.
Los límites de concurrencia y la red de seguridad
Una sesión no ejecuta un número ilimitado de subagentes a la vez: el límite por defecto es de veinte subagentes simultáneos, ajustable mediante CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS, y un subagente solo puede engendrar otro hasta tres niveles de profundidad por defecto bajo la conversación principal, ajustable mediante CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH. Más allá de eso, una nueva delegación falla con un mensaje de límite alcanzado en lugar de degradar la sesión en silencio.
Objetivo : listar los archivos de configuracion de un repositorio ficticio
y resumir en una linea el papel de cada uno.
Perimetro de escritura autorizado : ninguno.
Prohibicion explicita : ningun commit, ningun push, ningun comando destructivo.
Modelo : sonnet.
Una instrucción de delegación bien construida se parece a este ejemplo: un objetivo completo, un perímetro de escritura nombrado, prohibiciones explícitas, y un modelo elegido en vez de heredado por defecto. Nada debe depender de un intercambio posterior, ya que un subagente no puede volver a hacerte una pregunta a mitad de tarea.
El informe final de un subagente no lo lee tal cual el modelo principal: Claude Code lo escanea primero, porque un subagente puede haber leído un archivo, una página web o una salida de comando que tú nunca revisaste, y el texto de esa fuente puede llevar una instrucción dirigida a la conversación principal en vez de a ti. Este control se aplica a cada informe, sin excepción declarada para un subagente de confianza.
El fork, una variante que no aísla nada
Una variante distinta, el fork, invocada con /subtask, no parte de un contexto vacío: hereda toda la conversación en curso hasta el instante de la llamada. Solo su resultado final se reincorpora después al hilo principal, igual que en un subagente estándar, pero todo lo que precedía a la llamada ya era conocido por el fork desde el principio. La elección entre ambos depende de lo que la tarea necesite saber: una búsqueda autónoma no necesita ningún historial, la continuación de un razonamiento ya iniciado lo necesita todo.
La declaración explícita del modelo no es un detalle cosmético: un hook, a diferencia de un subagente, nunca decide llamar al modelo, reacciona a un evento del ciclo de vida decidido por el arnés.
El ciclo completo de una delegación
Lo que llega a un subagente al arrancar
| Lo que se carga al arrancar | Contexto de partida | Estilo de salida de la sesión | Ventana de contexto | Invocación |
|---|---|---|---|---|
| Subagente estándar | Su propio prompt de sistema, la jerarquía CLAUDE.md y el estado de git salvo para Explore y Plan, las skills nombradas | No llega al subagente | Dimensionada por su propio modelo, no por el del padre | Herramienta Agent, contexto vacío al partir |
| Fork | Toda la conversación en curso, ya iniciada en el momento de la llamada | También hereda la conversación en curso | Dimensionada por su propio modelo | Comando /subtask |
Un desarrollador delega a un subagente la lectura de una documentación publicada en una página web, con la instrucción de resumir sus puntos clave. Después recibe el resumen mostrado en pantalla y lo lee.
Escribe en una frase lo que esta situación establece, y en una frase lo que no establece.
Lo que esto establece: El resumen mostrado en pantalla superó el control que Claude Code aplica sistemáticamente a cada informe final de subagente antes de que el modelo principal lo lea.
Lo que esto no establece: No establece que la página web leída por el subagente no contuviera ningún contenido concebido para influir en la conversación principal, solo que un control tuvo la ocasión de ejercerse sobre ella.
Los tres calibrados falsos más frecuentes
- Demasiado amplio El control de Claude Code garantiza que ninguna instrucción malintencionada puede llegar jamás a la conversación principal a través de un subagente.
- Demasiado estrecho Esta situación no prueba nada, ya que solo una página web fue leída por un único subagente.
- Fuera de tema Esta situación muestra que el subagente usó menos tokens de los que habría usado si hubiera trabajado en la conversación principal.
- Un subagente aísla su propio contexto desde el arranque, no comparte nada de la conversación principal antes de que lo solicites.
- Lo que hereda es fijo: prompt de sistema propio, jerarquía CLAUDE.md, estado de git, salvo para los agentes Explore y Plan, skills nombradas, pero el estilo de salida y la memoria automática no forman parte de ello.
- Veinte subagentes por defecto pueden ejecutarse al mismo tiempo en una sesión, y una cadena de delegaciones no baja de tres niveles por defecto bajo la conversación principal, dos límites ajustables mediante variable de entorno.
- El informe final de un subagente se escanea antes de que lo lea el modelo principal, porque una fuente externa consultada por el subagente puede llevar una instrucción oculta.
- Un fork hereda toda la conversación en curso en lugar de partir de cero, y solo su resultado final se reincorpora después al hilo principal.
Elige una búsqueda sin consecuencias en un repositorio que conozcas, por ejemplo contar los archivos de más de trescientas líneas, escribe una instrucción de delegación completa siguiendo el modelo del ejemplo anterior, y lánzala como subagente para comparar su conclusión con lo que tú mismo habrías encontrado.
Cada afirmación datable de esta lección remite aquí al texto público que la respalda. Una fuente que no se abre no prueba nada.