Descripción General
Los subagentes se crean exclusivamente a través del enfoque basado en el sistema de archivos colocando archivos markdown con frontmatter YAML en directorios designados. El SDK puede entonces invocar estos subagentes predefinidos durante la ejecución.Beneficios de Usar Subagentes
Gestión de Contexto
Los subagentes mantienen contexto separado del agente principal, previniendo la sobrecarga de información y manteniendo las interacciones enfocadas. Este aislamiento asegura que las tareas especializadas no contaminen el contexto de la conversación principal con detalles irrelevantes. Ejemplo: Un subagenteresearch-assistant
puede explorar docenas de archivos y páginas de documentación sin saturar la conversación principal con todos los resultados de búsqueda intermedios - solo devolviendo los hallazgos relevantes.
Paralelización
Múltiples subagentes pueden ejecutarse concurrentemente, acelerando dramáticamente los flujos de trabajo complejos. Ejemplo: Durante una revisión de código, puedes ejecutar subagentesstyle-checker
, security-scanner
, y test-coverage
simultáneamente, reduciendo el tiempo de revisión de minutos a segundos.
Instrucciones y Conocimiento Especializados
Cada subagente puede tener prompts del sistema personalizados con experiencia específica, mejores prácticas y restricciones. Ejemplo: Un subagentedatabase-migration
puede tener conocimiento detallado sobre mejores prácticas de SQL, estrategias de rollback y verificaciones de integridad de datos que serían ruido innecesario en las instrucciones del agente principal.
Restricciones de Herramientas
Los subagentes pueden limitarse a herramientas específicas, reduciendo el riesgo de acciones no intencionadas. Ejemplo: Un subagentedoc-reviewer
podría tener acceso solo a herramientas Read y Grep, asegurando que pueda analizar pero nunca modificar accidentalmente tus archivos de documentación.
Creando Subagentes
Los subagentes se definen como archivos markdown en directorios específicos:- Nivel de proyecto:
.claude/agents/*.md
- Disponible solo en el proyecto actual - Nivel de usuario:
~/.claude/agents/*.md
- Disponible en todos los proyectos
Formato de Archivo
Cada subagente es un archivo markdown con frontmatter YAML:Campos de Configuración
Campo | Requerido | Descripción |
---|---|---|
name | Sí | Identificador único usando letras minúsculas y guiones |
description | Sí | Descripción en lenguaje natural de cuándo usar este subagente |
tools | No | Lista separada por comas de herramientas permitidas. Si se omite, hereda todas las herramientas |
Cómo el SDK Usa Subagentes
Al usar el SDK de Claude Code, los subagentes definidos en el sistema de archivos están automáticamente disponibles. Claude Code:- Auto-detecta subagentes de directorios
.claude/agents/
- Los invoca automáticamente basado en coincidencia de tareas
- Usa sus prompts especializados y restricciones de herramientas
- Mantiene contexto separado para cada invocación de subagente
Subagentes de Ejemplo
Para ejemplos completos de subagentes incluyendo revisores de código, ejecutores de pruebas, depuradores y auditores de seguridad, consulta la guía principal de Subagentes. La guía incluye configuraciones detalladas y mejores prácticas para crear subagentes efectivos.Patrones de Integración del SDK
Invocación Automática
El SDK invocará automáticamente subagentes apropiados basado en el contexto de la tarea. Asegúrate de que el campodescription
de tu subagente indique claramente cuándo debe usarse:
Invocación Explícita
Los usuarios pueden solicitar subagentes específicos en sus prompts:Restricciones de Herramientas
Los subagentes pueden tener acceso restringido a herramientas a través del campotools
:
- Omitir el campo - El subagente hereda todas las herramientas disponibles (por defecto)
- Especificar herramientas - El subagente solo puede usar las herramientas listadas
Documentación Relacionada
- Guía Principal de Subagentes - Documentación completa de subagentes
- Guía de Configuración del SDK - Descripción general de enfoques de configuración
- Configuraciones - Referencia de archivos de configuración
- Comandos Slash - Creación de comandos personalizados