Subagentes - Guía de referencia completa
Los subagentes son asistentes especializados en IA a los que Claude Code puede delegar tareas. Cada subagente tiene un propósito específico, utiliza su propia ventana de contexto separada de la conversación principal y se puede configurar con herramientas específicas y un sistema personalizado.
Índice
- Introducción
- Principales beneficios
- Ubicaciones de archivos
- Configuración
- Subagentes incorporados
- Gestión de subagentes
- Uso de subagentes
- Agentes de reposición
- Subagentes de encadenamiento
- Memoria persistente para subagentes
- Subagentes de fondo
- Aislamiento de árboles de trabajo
- Subagentes forzados
- Restringir los subagentes valvibles
claude agentsComando CLI- Equipos de agentes (experimentales)
- Seguridad de los subagentes de complementos
- Arquitectura
- Gestión del contexto
- Cuándo usar los subagentes
- Mejores prácticas
- Ejemplo de subagentes en esta carpeta
- Instrucciones de instalación
- Estructura del archivo
- Conceptos relacionados
- Observabilidad
- Recursos adicionales
Introducción
Los subagentes permiten la ejecución de tareas delegadas en Claude Code por:
- Creando Ayudantes de IA aislados con ventanas de contexto separadas
- Provisión avisos personalizados del sistema de expertos especializados
- Aplicación control de acceso a la herramienta para limitar las capacidades
- Prevención contaminación del contexto de tareas complejas
- Habilitación ejecución paralela de múltiples tareas especializadas
Cada subagente opera independientemente con una pizarra limpia, recibiendo sólo el contexto específico necesario para su tarea, y luego devuelve los resultados al agente principal para la síntesis.
Inicio rápido: Pídale a Claude que cree un subagente para usted ("cree un subagente que revise la seguridad"), o agregue un .claude/agents/<name>.md archivo directamente — ver Gestión de subagentes abajo.
Nota: A partir del v2.1.198, la
/agentsel comando ya no abre un asistente de creación interactivo. Cree y administre subagentes preguntando a Claude o editando.claude/agents/archivos directamente.
Principales beneficios
| Beneficio | Descripción |
|---|---|
| Conservación del contexto | Opera en contexto separado, evitando la contaminación de la conversación principal |
| Especialidades especializadas | Afinado para dominios específicos con mayores tasas de éxito |
| Reutilizabilidad | Utilizar en diferentes proyectos y compartir con los equipos |
| Permisos flexibles | Diferentes niveles de acceso para diferentes tipos de subagentes |
| Escalabilidad | Múltiples agentes trabajan en diferentes aspectos simultáneamente |
Ubicaciones de archivos
Los archivos de subagent se pueden almacenar en múltiples ubicaciones con diferentes alcances:
| Prioridad | Tipo | Zona | Ámbito de aplicación |
|---|---|---|---|
| 1 (más alto) | Administrado | Configuración administrada | A nivel de toda la Organización |
| 2 | CLI-definido | Vía --agents bandera (JSON) |
Sesión únicamente |
| 3 | Subagentes de proyectos | .claude/agents/ |
Proyecto actual |
| 4 | Subagentes de usuario | ~/.claude/agents/ |
Todos los proyectos |
| 5 (más bajo) | Agentes de complementos | Complemento agents/ directorio |
A través de complementos |
Cuando existen nombres duplicados, las fuentes de mayor prioridad tienen prioridad.
Anidado
.claude/Precedente (v2.1.178): Cuando el mismo nombre de agente se define en múltiples anidados.claude/agents/directorios (por ejemplo, un monorepo con el nivel de paquete.claude/carpetas), la definición gana el directorio de trabajo más cercano. La misma regla de resultados más cercanos se aplica a las definiciones de flujo de trabajo y estilo de salida.
Configuración
Formato de archivo
Los subagentes se definen en YAML frontmatter seguido por el indicador del sistema en Markdown:
---
name: your-sub-agent-name
description: Description of when this subagent should be invoked
tools: tool1, tool2, tool3 # Optional - inherits all tools if omitted
disallowedTools: tool4 # Optional - explicitly disallowed tools
model: sonnet # Optional - sonnet, opus, haiku, or inherit
permissionMode: default # Optional - permission mode
maxTurns: 20 # Optional - limit agentic turns
skills: skill1, skill2 # Optional - skills to preload into context
mcpServers: server1 # Optional - MCP servers to make available
memory: user # Optional - persistent memory scope (user, project, local)
background: false # Optional - run as background task
effort: high # Optional - reasoning effort (low, medium, high, xhigh, max)
isolation: worktree # Optional - git worktree isolation
initialPrompt: "Start by analyzing the codebase" # Optional - auto-submitted first turn
experimental: # Optional - experimental settings block
cacheTtl: "1h" # Cache TTL for this subagent: "5m" or "1h" (v2.1.248+)
hooks: # Optional - component-scoped hooks
PreToolUse:
- matcher: "Bash"
hooks:
- type: command
command: "./scripts/security-check.sh"
---
Your subagent's system prompt goes here. This can be multiple paragraphs
and should clearly define the subagent's role, capabilities, and approach
to solving problems.
Campos de configuración
| Campo | Requerido | Descripción |
|---|---|---|
name |
Sí. | Identificador único (letras minúsculas y guiones). La búsqueda se normaliza (sin sensibilidad al caso y al separador — véase más abajo), pero un nombre que contiene : es rechazada a partir de v2.1.218: : está reservado para el plugin namepacing |
description |
Sí. | Descripción del propósito en lenguaje natural. Incluya "utiliza PROACTIVAMENTE" para fomentar la invocación automática |
tools |
No | Lista separada por comas de herramientas específicas. Omita heredar todas las herramientas. Agent(agent_name) sintaxis para restringir los subagentes desovables cuando el agente se ejecuta como el hilo principal con claude --agent; dentro de un subagente se ignora la lista de tipos. MCP: mcp__<server>__* concede un servidor completo (v2.1.299+: coincide sólo con el nombre exacto del servidor). |
disallowedTools |
No | Lista separada por coma de herramientas que el subagente no debe usar. Para servidores MCP cuyos nombres contengan __: mcp__reports__* aquí también retiene cada reports__v2 herramienta, por lo que lista reports herramientas uno a uno en su lugar; en tools, conceder tal servidor como mcp__reports__v2__* |
model |
No | Modelo a utilizar: sonnet, opus, haiku, ID de modelo completo, o inherit. Predeterminados al modelo de subagente configurado |
permissionMode |
No | default (Modo manual; manual aceptado como alias desde el v2.1.200), acceptEdits, dontAsk, bypassPermissions, plan, auto. A partir de v2.1.212, la herramienta de tareas mode el parámetro de invocación es obsoleto e ignorado — los subagentes heredan el modo de permiso de la sesión padre por defecto a menos que se sobreponga aquí. bypassPermissions, acceptEdits o auto, el subagente permissionMode Cuando el padre está en plan modo, el subagente se mantiene en modo de plan lo que sea permissionMode dice (a menos que se ejecute como un compañero de equipo de agente); si se establece dontAsk, el modo de plan de acciones preguntaría sobre se niegan en su lugar |
maxTurns |
No | Número máximo de giros agentes que el subagente puede tomar |
skills |
No | Lista separada por comas de skills para precargar. Inyecta contenido completo de skills en el contexto del subagente al inicio. v2.1.133+: Los subagentes también descubren skills de proyecto, usuario y plugin a través de la herramienta Habilidad — el mismo catálogo que la sesión principal, ya no se limita a su propio conjunto integrado. A lo sumo 32 skills son precargadas, cada una una; un subagente con la herramienta Habilidad puede invocar el resto (v2.1.295). |
mcpServers |
No | Servidores MCP para poner a disposición del subagente |
hooks |
No | Hooks que se ejecutan sólo mientras este subagente está activo. Todos los eventos de hook son compatibles; la mayoría de los casos son PreToolUse, PostToolUse, Stop (corre como SubagentStop) |
memory |
No | Alcance del directorio de memoria persistente: user, projecto bien local |
background |
No | Los subagentes ya se ejecutan en segundo plano por defecto (v2.1.198). Desde v2.1.302 los subagentes de la conversación principal en la aplicación de escritorio y el código VS también comienzan en segundo plano. Mientras el modo tenedor está activado (el predeterminado), Claude no puede esperar por ellos. claude -p, el agente SDK, la aplicación de escritorio y el código VS se ejecutan en primer plano por defecto. true a fuerza fondo siempre y prevenir la ejecución en línea |
effort |
No | Nivel de esfuerzo razonativo: low, medium, high, xhigho bien max. Anula el nivel de esfuerzo de la sesión; los niveles disponibles dependen del modelo. Claude también puede pasar un effort valor cuando llama a la herramienta Agente (v2.1.292). |
isolation |
No | Establecer a worktree para darle al subagente su propio git worktree |
initialPrompt |
No | Auto-presentado primer turno cuando el subagente se ejecuta como el agente principal |
color |
No | Muestra el color del subagente en la lista de tareas y la transcripción. red, blue, green, yellow, purple, orange, pinko bien cyan |
experimental |
No | Bloque de configuración experimental (v2.1.248+). experimental.cacheTtl establece la caché TTL para este subagente — "5m" o "1h" |
omitClaudeMd |
No | Establecer a true para lanzar el subagent sin los archivos CLAUDE.md locales, proyecto y usuario (v2.1.271+). Los archivos de política administrados siguen cargando, excepto los subagents gestionados. Ignorado cuando el agente se ejecuta como el agente principal de sesión a través de --agent o la agent configuración. También aceptado en --agents JSON |
autoCompactWindow |
No | Compacta automáticamente el contexto de este subagente antes de la ventana de la conversación principal (v2.1.296+; también aceptado en --agents JSON) |
Variables de entorno del modelo de subagente
Dos variables de entorno afectan al modelo en el que se ejecuta un subagente:
| Variable | Versión | Descripción |
|---|---|---|
CLAUDE_CODE_SUBAGENT_MODEL |
— | Establece el modelo utilizado para los subagentes |
CLAUDE_CODE_SUBAGENT_MODEL_FORCE |
v2.1.257+ | Establecer a 1 para forzar el modelo de subagente sobre la materia prima de un subagente model: |
Cambio de precedencia en v2.1.251: antes de esa liberación,
CLAUDE_CODE_SUBAGENT_MODELfue el primero y se sobrepasó la prioridad del agente, incluyendomodel: inherit. De v2.1.251 en adelante, el propio subagentemodel:frontmatter gana.CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1(v2.1.257+) cuando se desea que la variable de entorno vuelva a anular frontmatter, por ejemplo, para fijar una evaluación completa a un modelo.
Agente de discusión principal de Frontmatter Honrando (v2.1.117+/v2.1.119+)
Cuando un agente es invocado como el agente de hilo principal (a través claude --agent <name> o --print modo), estos campos de frontmatter son honrados:
| Campo | Versión | Notas |
|---|---|---|
mcpServers |
v2.1.117+ | Cargado cuando el agente es invocado como agente de hilo principal a través de claude --agent <name> |
permissionMode |
v2.1.119+ | Honrado para agentes incorporados a través de --agent <name> |
tools / disallowedTools |
v2.1.119+ | Honrado en --print modo (uso no interactivo/descripto) |
Ejemplo — agente con mcpServers y permissionMode:
---
name: secure-researcher
description: Research agent with scoped MCP access and restricted permissions
permissionMode: acceptEdits
mcpServers:
notion:
type: http
url: https://mcp.notion.com/mcp
github:
type: http
url: https://api.githubcopilot.com/mcp/
headers:
Authorization: "Bearer ${GITHUB_PERSONAL_ACCESS_TOKEN}"
tools: Read, Grep, Glob
---
You are a research agent. You may query Notion and GitHub through the
configured MCP servers, and read local files, but you cannot write or
execute commands outside of accepted edits.
Ejecutar con:
claude --agent secure-researcher
Opciones de configuración de la herramienta
Opción 1: Herencia de todas las herramientas (omita el campo)
---
name: full-access-agent
description: Agent with all available tools
---
Opción 2: Especificar herramientas individuales
---
name: limited-agent
description: Agent with specific tools only
tools: Read, Grep, Glob, Bash
---
Nota sobre Glob/Grep (v2.1.113+): En las construcciones nativas de macOS/Linux, Glob y Grep se proporcionan como
bfs/ugrepa través de la herramienta Bash en lugar de como herramientas separadas. Windows y npm-JS construye todavía exponerlos como herramientas independientes.allowedTools; la sustitución del motor es transparente.
Opción 3: Acceso condicional a las herramientas
---
name: conditional-agent
description: Agent with filtered tool access
tools: Read, Bash(npm:*), Bash(test:*)
---
Configuración basada en CLI
Definir subagentes para una sola sesión utilizando el --agents bandera con formato JSON:
claude --agents '{
"code-reviewer": {
"description": "Expert code reviewer. Use proactively after code changes.",
"prompt": "You are a senior code reviewer. Focus on code quality, security, and best practices.",
"tools": ["Read", "Grep", "Glob", "Bash"],
"model": "sonnet"
}
}'
Formato JSON para --agents bandera:
{
"agent-name": {
"description": "Required: when to invoke this agent",
"prompt": "Required: system prompt for the agent",
"tools": ["Optional", "array", "of", "tools"],
"model": "optional: sonnet|opus|haiku"
}
}
Nota: Desde el v2.1.243
--agentsya no ignora silenciosamente las definiciones de agente inválido JSON o no válido — Claude Code sale con un error claro, emparejando el comportamiento de--mcp-config.
Prioridad de las definiciones de agente:
Las definiciones de agente se cargan con este orden de prioridad (primer partido gana): 1. Administrado - ajustes gestionados (a nivel de toda la organización) 2. CLI-definido - --agents bandera (sólo sesión, JSON) 3. Nivel del proyecto - .claude/agents/ (proyecto actual) 4. Nivel de usuario - ~/.claude/agents/ (todos los proyectos) 5. Nivel de complemento - Complemento agents/ directorio
Esto permite que las definiciones CLI sobrepasen las definiciones de proyecto, usuario y plugin para una sola sesión; las definiciones administradas siguen teniendo prioridad.
Subagentes incorporados
Claude Code incluye varios subagentes incorporados que siempre están disponibles:
| Agente | Modelo | Finalidad |
|---|---|---|
| de uso general | Herencias | Tareas complejas y de varios pasos |
| Plan | Herencias | Investigación para el modo de plan |
| Explorar | Herencias (cumplidas en el Opus) | Exploración de base de código de solo lectura (rápida/mediana/muy completa) |
| claude | Herencias | Catch-all para tareas que no se ajustan a un agente más especializado; tiene todas las herramientas disponibles para los subagentes. También el agente por defecto para una sesión de fondo enviada |
| configuración de la línea de estado | Soneto | Se ejecuta cuando se usa /statusline para configurar su línea de estado |
| claude-código-guía | Haiku | Respuestas a preguntas sobre las características de Claude Code |
Subagente de propósito general
| Propiedad | Valor |
|---|---|
| Modelo | Herencias de los padres |
| Herramientas | Todas las herramientas |
| Finalidad | Tareas complejas de investigación, operaciones en varios pasos, modificaciones de código |
Cuando se utiliza: Tareas que requieren exploración y modificación con razonamiento complejo.
Subagente del plan
| Propiedad | Valor |
|---|---|
| Modelo | Herencias de los padres |
| Herramientas | Lee, Glob, Grep, Bash |
| Finalidad | Se utiliza automáticamente en modo de plan para investigar la base de código |
Cuando se utiliza: Cuando Claude necesita entender la base de código antes de presentar un plan.
Explorar el subagente
| Propiedad | Valor |
|---|---|
| Modelo | Herencia del modelo de sesión, rematado en el Opus (v2.1.198). model: haiku para mantenerlo rápido y barato |
| Modo | Estrictamente de lectura |
| Herramientas | Glob, Grep, Read, Bash (sólo comandos de sólo lectura) |
| Finalidad | Búsqueda y análisis rápidos de base de código |
Cuando se utiliza: Al buscar/entender código sin hacer cambios.
Niveles de agudeza - Especifique la profundidad de la exploración: - "rápido" - Búsquedas rápidas con exploración mínima, buenas para encontrar patrones específicos - "Medio" - Exploración moderada, velocidad y profundidad equilibradas, enfoque por defecto "muy minucioso" - Análisis integral en múltiples ubicaciones y convenciones de nombres, puede tomar más tiempo
Claude Subagent
| Propiedad | Valor |
|---|---|
| Modelo | Herencias de los padres |
| Herramientas | Todas las herramientas disponibles para los subagentes |
| Finalidad | Agente para tareas que no se ajustan a un agente más especializado |
Cuando se utiliza: Cuando una tarea no coincide con un agente integrado más especializado. También es el agente predeterminado para una sesión de fondo enviada; el modo de permiso en el que se inicia depende de cómo se inició esa sesión.
Subagente de configuración de la línea de estado
| Propiedad | Valor |
|---|---|
| Modelo | Soneto |
| Herramientas | Leer, escribir, Bash |
| Finalidad | Configure la pantalla de la línea de estado de Claude Code |
Cuando se utiliza: Al configurar o personalizar la línea de estado.
Subagente de guía de Claude Code (claude-code-guide)
| Propiedad | Valor |
|---|---|
| Modelo | Haiku (rápido, de baja latencia) |
| Herramientas | Solo lectura |
| Finalidad | Conteste a las preguntas sobre las características y el uso de Claude Code |
Cuando se utiliza: Cuando los usuarios hacen preguntas sobre cómo funciona Claude Code o cómo utilizar características específicas.
Gestión de subagentes
Pregunta a Claude (recomendado)
La forma más simple de crear o administrar un subagente es preguntarle directamente a Claude:
Create a subagent that reviews code for security vulnerabilities.
Claude escribe el .claude/agents/<name>.md file for you, eligiendo sensible frontmatter (herramientas, modelo, descripción). A continuación, puede refinar el archivo a mano o pedir Claude para ajustarlo.
Nota: El
/agentsel comando ya no abre un asistente de creación interactivo (eliminado en v2.1.198). Ahora le indica que debe preguntar a Claude o editar.claude/agents/archivos directamente.
Gestión directa de archivos
# Create a project subagent
mkdir -p .claude/agents
cat > .claude/agents/test-runner.md << 'EOF'
---
name: test-runner
description: Use proactively to run tests and fix failures
---
You are a test automation expert. When you see code changes, proactively
run the appropriate tests. If tests fail, analyze the failures and fix
them while preserving the original test intent.
EOF
# Create a user subagent (available in all projects)
mkdir -p ~/.claude/agents
Uso de subagentes
Delegación automática
Claude delega de forma proactiva tareas basadas en: - Descripción de tareas en su solicitud - La description campo en configuraciones de subagentes - Contexto actual y herramientas disponibles
Para fomentar el uso proactivo, incluya "usar PROACTIVAMENTE" o "USAR MÚSICA" en su description campo:
---
name: code-reviewer
description: Expert code review specialist. Use PROACTIVELY after writing or modifying code.
---
Invocación explícita
Puede solicitar explícitamente un subagente específico:
> Use the test-runner subagent to fix failing tests
> Have the code-reviewer subagent look at my recent changes
> Ask the debugger subagent to investigate this error
Insensible al caso y al separador
subagent_typeemparejamiento (v2.1.140):subagent_type(enAgentllamadas de herramientas o--agentflags) es igualado caso-sin sensibilidad e ignora el estilo separador —code-reviewer,Code Reviewer, ycode_reviewertodo resolver al mismo agente. Esto elimina una pistola de larga data donde diferencias menores de capitalización silenciosamente cayó de nuevo al agente por defecto.
@-Mention Invocation
Usar la @ se invoca el prefijo para garantizar un subagente específico (pasa automáticamente la heurística de delegación):
> @"code-reviewer (agent)" review the auth module
Agente a lo largo de la sesión
Ejecute una sesión completa usando un agente específico como el agente principal:
# Via CLI flag
claude --agent code-reviewer
# Via settings.json
{
"agent": "code-reviewer"
}
Lista de agentes disponibles
Para ver qué subagentes están configurados, pregunte a Claude o explore .claude/agents/ y ~/.claude/agents/. (claude agents no tiene relación: abre la vista de agente para las sesiones de fondo — véase CLI.)
Agentes de reposición
Los subagentes pueden continuar conversaciones anteriores con contexto completo preservado:
# Initial invocation
> Use the code-analyzer agent to start reviewing the authentication module
# Returns agentId: "abc123"
# Resume the agent later
> Resume agent abc123 and now analyze the authorization logic as well
Casos de uso: - Investigación a largo plazo en múltiples sesiones - Refinamiento iterativo sin perder contexto - Flujos de trabajo de varios pasos manteniendo el contexto
Subagentes de encadenamiento
Ejecutar múltiples subagentes en secuencia:
> First use the code-analyzer subagent to find performance issues,
then use the optimizer subagent to fix them
Esto permite flujos de trabajo complejos donde la salida de un subagente se alimenta en otro.
Memoria persistente para subagentes
Los memory El campo proporciona a los subagentes un directorio persistente que sobrevive a través de las conversaciones. Esto permite a los subagentes acumular conocimiento a lo largo del tiempo, almacenando notas, hallazgos y contexto que persisten entre sesiones.
Alcances de memoria
| Ámbito de aplicación | Directorio | Caso de uso |
|---|---|---|
user |
~/.claude/agent-memory/<name>/ |
Notas personales y preferencias en todos los proyectos |
project |
.claude/agent-memory/<name>/ |
Conocimientos específicos del proyecto compartidos con el equipo |
local |
.claude/agent-memory-local/<name>/ |
Conocimiento local del proyecto no comprometido con el control de versiones |
Cómo funciona
- Las primeras 200 líneas de
MEMORY.mden el directorio de memoria se cargan automáticamente en el sistema del subagente prompt - Los
Read,Write, yEditlas herramientas se habilitan automáticamente para que el subagente administre sus archivos de memoria - El subagente puede crear archivos adicionales en su directorio de memoria según sea necesario
Configuración del ejemplo
---
name: researcher
description: Research assistant that keeps findings in persistent memory across sessions
memory: user
---
You are a research assistant. Use your memory directory to store findings,
track progress across sessions, and build up knowledge over time.
Check your MEMORY.md file at the start of each session to recall previous context.
graph LR
A["Subagente<br/>Sesión 1"] -->|writes| M["Memory.md<br/>(persistente)"]
M -->|cargas en| B["Subagente<br/>Sesión 2"]
B -->|updates| M
M -->|cargas en| C["Subagente<br/>Sesión 3"]
style A fill:#e1f5fe,stroke:#333,color:#333
style B fill:#e1f5fe,stroke:#333,color:#333
style C fill:#e1f5fe,stroke:#333,color:#333
style M fill:#f3e5f5,stroke:#333,color:#333
Subagentes de fondo
Los subagentes se ejecutan en segundo plano por defecto (v2.1.198). Desde v2.1.302 los subagentes de la conversación principal en la aplicación de escritorio y el código VS también comienzan en segundo plano. Mientras el modo tenedor está activado (el predeterminado), Claude no puede esperar por ellos. claude -p, el agente SDK, la aplicación de escritorio y el código VS se ejecutan en primer plano por defecto. Claude sigue trabajando en la conversación principal mientras un subagente se ejecuta y se le notifica cuando termina, por lo que ya no espera a que un subagente regrese antes de continuar. En el código VS (v2.1.304+), un subagente de fondo se muestra como una línea de estado bajo su tarjeta Agent en lugar de transmitir cada paso en el chat; /tasks y haga clic en él para ver sus llamadas de la herramienta y transcripción.
Configuración
Debido a que el fondo ya es el predeterminado, background: true en la materia frontal fuerzas armadas el subagente que siempre se ejecuta en segundo plano y evita que se ejecute en línea:
---
name: long-runner
background: true
description: Performs long-running analysis tasks in the background
---
Accesos rápidos del teclado
| Acceso rápido | Medidas adoptadas |
|---|---|
Ctrl+B |
Antecedentes de una tarea de subagente en ejecución |
Ctrl+X Ctrl+K |
Detener todos los subagentes de fondo en ejecución (presione dos veces en 3 segundos para confirmar; esto reemplazado Ctrl+F) |
Desactivar tareas de fondo
Establezca la variable de entorno para desactivar completamente el soporte de tareas de fondo:
export CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1
Deja que Claude espere a un subagente
Con nada configurado, un subagente Claude desove de la conversación principal comienza en el fondo. claude -p y el agente SDK, Claude todavía puede esperar a uno en su propio juicio o cuando usted pide. En un terminal interactivo, código VS o sesión de escritorio, Claude puede esperar sólo después de que se apague el modo de horquilla (v2.1.302+):
{
"env": {
"CLAUDE_CODE_FORK_SUBAGENT": "0"
}
}
Comienzo claude de nuevo (o abrir una nueva conversación de código VS), a continuación, pregunte, por ejemplo, "ejecutar el subagente revisor y esperar a su informe". Ctrl+B todavía mueve una espera al fondo. CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1 en su lugar hace que Claude espere por cada subagente, y también desactiva los comandos de fondo.
Aislamiento de árboles de trabajo
Los isolation: worktree el ajuste da a un subagente su propio árbol de trabajo git, permitiéndole hacer cambios independientemente sin afectar al árbol de trabajo principal.
Configuración
---
name: feature-builder
isolation: worktree
description: Implements features in an isolated git worktree
tools: Read, Write, Edit, Bash, Grep, Glob
---
Cómo funciona
graph TB
Main["Árbol de trabajo principal"] -->|spawns| Sub["Subagente con<br/>Árbol de trabajo aislado"]
Sub -->|hace cambios en| WT["Git separado<br/>Worktree + Branch"]
WT -->|sin cambios| Clean["Auto-cleaned"]
WT -->|tiene cambios| Return["Devuelve worktree<br/>ruta y rama"]
style Main fill:#e1f5fe,stroke:#333,color:#333
style Sub fill:#f3e5f5,stroke:#333,color:#333
style WT fill:#e8f5e9,stroke:#333,color:#333
style Clean fill:#fff3e0,stroke:#333,color:#333
style Return fill:#fff3e0,stroke:#333,color:#333
- El subagente opera en su propio git worktree en una sucursal separada
- Si el subagente no hace cambios, el árbol de trabajo se limpia automáticamente
- Si existen cambios, la ruta de árbol de trabajo y el nombre de la rama se devuelven al agente principal para su revisión o fusión.
Subagentes forzados
Un subagente bifurcado hereda toda la conversación del padre en el momento de la bifurcación —pronto del sistema, herramientas, modelo, historial de mensajes y caché de mensajes— en lugar de comenzar con una pizarra limpia. Esto es útil para explorar rutas alternativas sin perder el trabajo realizado hasta ahora.
Disponibilidad: GA en v.2.117. Desde v2.1.232, el modo de horquilla está activado por defecto en sesiones interactivas — en cada construcción, primera o no. Ya que v2.1.302 también está activado por defecto en modo no interactivo (
claude -p), el agente SDK, la aplicación de escritorio y el código VS;claude mcp servenunca ofrece subagentes de horquilla. En Claude Code más antiguo que v2.1.232, setCLAUDE_CODE_FORK_SUBAGENT=1para encenderlo.Los subagentes de modo tenedor se ejecutan en segundo plano. Donde el modo tenedor está activado, como por defecto en todas partes, ya que v2.1.302 — Claude Code ejecuta el subagente en segundo plano, bifurcado y no forzado por igual. En un terminal interactivo, código VS o sesión de escritorio Claude entonces no puede esperar a un subagente; para dejarlo esperar, apagar el modo tenedor (ver Deja que Claude espere a un subagente).
Configuración
No se define un tenedor en un archivo de agente. Claude comienza uno a través de la herramienta de Agente con subagent_type: "fork", o empiezas uno con /subtask <task> (v2.1.212+):
/subtask Explore an alternative implementation path and report the trade-offs
Un tenedor no puede generar más tenedores. Para bloquear tenedores, agregue la regla de denegación Agent(fork):
{
"permissions": {
"deny": ["Agent(fork)"]
}
}
Nota:
context: forkes una habilidad campo de materia frontal (véase SkillsClaude Code ignora silenciosamente los campos que no reconoce en una definición de agente.
Activar el modo de horquilla explícitamente
Establecer CLAUDE_CODE_FORK_SUBAGENT=0 para apagar el modo de la horquilla en todas partes. En las versiones antes de v2.1.302, configurarlo a 1 para encender las horquillas claude -p y el agente SDK.
export CLAUDE_CODE_FORK_SUBAGENT=0
claude
Cuándo usar tenedor frente a contexto limpio
| Escenario | Fork (subagent_type: "fork") |
Contexto limpio (por defecto) |
|---|---|---|
| Explorar implementaciones alternativas | Sí. | No (perdería el contexto) |
| Investigación a largo plazo con el contexto existente | Sí. | No |
| Tareas especializadas independientes | No | Sí. |
| Evitar la contaminación contextual | No | Sí. |
Restringir los subagentes valvibles
Puede controlar qué subagentes ejecuta un agente como hilo principal con claude --agent se permite desovar utilizando el Agent(agent_type) sintaxis en la ventana tools campo. Esto proporciona una manera de permitir listar subagentes específicos para la delegación. En una definición de subagente, cualquier lista de tipo dentro de los paréntesis se ignora.
Nota: En el apartado 2.1.63, la
Taskse cambió el nombre de la herramientaAgent2. ExistentesTask(...)las referencias todavía funcionan como alias.
Ejemplo
---
name: coordinator
description: Coordinates work between specialized agents
tools: Agent(worker, researcher), Read, Bash
---
You are a coordinator agent. You can delegate work to the "worker" and
"researcher" subagents only. Use Read and Bash for your own exploration.
En este ejemplo, cuando se ejecuta claude --agent coordinator, el hilo principal sólo puede desovar la worker y researcher subagentes. No puede desovar ningún otro subagente, incluso si se definen en otra parte. Si coordinator se ejecuta como un subagente en su lugar, la lista de tipos se ignora.
claude agents Comando CLI
claude agents abre vista de agente (v2.1.139+): una lista completa de sus sesiones de fondo agrupadas por estado. No lista definiciones de subagentes configuradas; use claude agents --json a script contra estado de sesión.
claude agents
claude agents --json
Los subagentes configurados viven en .claude/agents/ (proyecto) y ~/.claude/agents/ (usuario).
Equipos de agentes (experimentales)
Los equipos de agentes coordinan múltiples instancias de Claude Code trabajando juntos en tareas complejas. A diferencia de los subagentes (que son subtareas delegadas que devuelven resultados), los compañeros de equipo trabajan independientemente con sus propias ventanas de contexto y pueden comunicarse directamente a través de un sistema de buzón compartido.
Documentación oficial: code.claude.com/docs/en/agent-teams
Nota: Agent Teams es experimental y está desactivado por defecto. Requiere Claude Code v2.1.32+. Habilitarlo antes de su uso.
Equipos de subagentes contra agentes
| Aspecto | Subagentes | Equipo de Agentes |
|---|---|---|
| Modelo de delegación | Los padres delegados subtarea, espera el resultado | Coordenadas del equipo de trabajo, compañeros de equipo ejecutar independientemente |
| Contexto | Contexto fresco por subtarea, resultados destilados | Cada compañero mantiene su propia ventana de contexto persistente |
| Coordinación | Secuencial o paralelo, gestionado por el padre | Lista de tareas compartida con gestión automática de dependencias |
| Comunicación | Resultados devueltos al padre solamente (sin mensajería inter-agente) | Los compañeros de equipo pueden comunicarse directamente a través del buzón |
| Continuación del período de sesiones | Apoyados | No se admite con compañeros de equipo durante el proceso |
| Lo mejor para | Subtareas bien definidas y enfocadas | Trabajos complejos que requieren comunicación entre agentes y ejecución paralela |
Equipos de agentes habilitados
Establezca la variable de entorno o añádala a su settings.json:
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
O en settings.json:
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
}
Iniciando un equipo
Una vez habilitado, pídale a Claude que trabaje con sus compañeros de equipo en su solicitud:
User: Build the authentication module. Use a team — one teammate for the API endpoints,
one for the database schema, and one for the test suite.
Claude creará el equipo, asignará tareas y coordinará el trabajo automáticamente.
Modos de visualización
Controle cómo se muestra la actividad de los compañeros de equipo:
| Modo | Bandera | Descripción |
|---|---|---|
| Auto | --teammate-mode auto |
Elige automáticamente el mejor modo de visualización para su terminal |
| En proceso (por defecto) | --teammate-mode in-process |
Muestra la salida del compañero de equipo en línea en el terminal actual |
| Cañales divididos | --teammate-mode tmux |
Abre cada compañero de equipo en un panel tmux o iTerm2 separado |
| iTerm2 | --teammate-mode iterm2 |
(v2.1.186+) Compañeros de equipo Spawns en paneles iTerm2 dedicados. Requiere la it2 CLI; modo automático advierte cuando no se puede encontrar |
claude --teammate-mode tmux
También puede configurar el modo de visualización en settings.json:
{
"teammateMode": "tmux"
}
Nota: El modo Split-pane requiere tmux o iTerm2. No está disponible en terminal de código VS, terminal de Windows o Ghostty.
Navegación
Para moverse entre compañeros de equipo, utilice las teclas de flecha hacia arriba y hacia abajo en el panel de agentes y pulse Intro (modo en proceso), o haga clic en el panel de un compañero de equipo (modo split-pane).
Configuración del equipo
Las configuraciones de equipo se almacenan en ~/.claude/teams/{team-name}/config.json.
Selección de modelos de compañeros de equipo
A partir de v2.1.234, el "modelo de compañero de equipo predeterminado" /config Los compañeros de equipo ahora heredan el modelo del líder del equipo por defecto, a menos que la llamada de desove especifique un modelo diferente explícitamente.
Arquitectura
graph TB
Lead["Jefe de equipo<br/>(Coordinador)"]
TaskList["Lista de tareas compartida<br/>(Dependencias)"]
Mailbox["Buzón<br/>(Mensajes)"]
T1["Compañero de equipo 1<br/>(Contexto propio)"]
T2["Compañero de equipo 2<br/>(Contexto propio)"]
T3["Compañero de equipo 3<br/>(Contexto propio)"]
Lead -->|asigna tareas| TaskList
Lead -->|envía mensajes| Mailbox
TaskList -->|recoge el trabajo| T1
TaskList -->|recoge el trabajo| T2
TaskList -->|recoge el trabajo| T3
T1 -->|reads/writes| Mailbox
T2 -->|reads/writes| Mailbox
T3 -->|reads/writes| Mailbox
T1 -->|estado de las actualizaciones| TaskList
T2 -->|estado de las actualizaciones| TaskList
T3 -->|estado de las actualizaciones| TaskList
style Lead fill:#e1f5fe,stroke:#333,color:#333
style TaskList fill:#fff9c4,stroke:#333,color:#333
style Mailbox fill:#f3e5f5,stroke:#333,color:#333
style T1 fill:#e8f5e9,stroke:#333,color:#333
style T2 fill:#e8f5e9,stroke:#333,color:#333
style T3 fill:#e8f5e9,stroke:#333,color:#333
Componentes principales:
- Jefe de equipo: La sesión principal de Claude Code que crea el equipo, asigna tareas y coordina
- Lista de tareas compartida: Una lista sincronizada de tareas con seguimiento automático de dependencias
- Buzón: Un sistema de mensajería inter-agente para que los compañeros de equipo comuniquen el estado y coordinen
- Compañeros: Casos de Claude Code independiente, cada uno con su propia ventana de contexto
Asignación de tareas y mensajería
El líder del equipo rompe el trabajo en tareas y las asigna a compañeros de equipo. La lista de tareas compartidas maneja:
- Gestión automática de las dependencias — las tareas esperan a que se completen sus dependencias
- Seguimiento de la situación — los compañeros de equipo actualizan el estado de la tarea mientras trabajan
- Mensajería entre agentes — los compañeros de equipo envían mensajes a través del buzón para la coordinación (por ejemplo, "el esquema de base de datos está listo, puede empezar a escribir consultas")
Flujo de trabajo de aprobación del plan
Para tareas complejas o riesgosas, cambie el lead al modo plan antes de preguntar por un compañero de equipo: un compañero de equipo engendró mientras el lead está en el modo plan funciona sólo lectura hasta que su plan esté listo, luego envía una solicitud de aprobación del plan al lead. Si no ha cambiado el modo de permiso de ese compañero de equipo desde que se generó, Claude Code aprueba el plan tan pronto como llega la petición (no se le pide), y las ediciones y comandos del compañero de equipo siguen pasando por las indicaciones de permisos normales. Shift+Tab, el director revisa ese plan en su lugar.
Eventos de hook para equipos
Equipos de Agentes introducen dos adicionales eventos de hook:
| Evento | Incendios cuando | Caso de uso |
|---|---|---|
TeammateIdle |
Un compañero de equipo termina su tarea actual y no tiene trabajo pendiente | Activar notificaciones, asignar tareas de seguimiento |
TaskCompleted |
Una tarea en la lista de tareas compartida está marcada completa | Ejecutar validación, actualizar tableros, trabajo dependiente de la cadena |
Prácticas óptimas
- Tamaño del equipo: Mantenga equipos a 3-5 compañeros de equipo para una coordinación óptima
- Tamaño de tareas: Romper el trabajo en tareas que tardan 5-15 minutos cada una — lo suficientemente pequeño para paralelizar, lo suficientemente grande como para ser significativo
- Evitar conflictos de archivos: Asignar diferentes archivos o directorios a diferentes compañeros de equipo para evitar conflictos de fusión
- Inicio simple: Utilice el modo en proceso para su primer equipo; cambie a paneles separados una vez que sea cómodo
- Descripción clara de las tareas: Proporcionar descripciones de tareas específicas y accionables para que los compañeros de equipo puedan trabajar de forma independiente
Limitaciones
- Experimental: El comportamiento de las características puede cambiar en futuras versiones
- Continuación del período de sesiones: Los compañeros en proceso no pueden reanudarse después de que finalice una sesión
- Un equipo por sesión: No se pueden crear equipos anidados o múltiples equipos en una sola sesión
- Liderazgo fijo: El papel principal del equipo no puede transferirse a un compañero de equipo
- Restricciones del panel de división: tmux/iTerm2 requerido; no disponible en terminal de código VS, terminal de Windows o Ghostty
- Permisos de panel dividido: un compañero de equipo de dos paneles comienza con la ventaja
--disallowedToolsy--tools(v2.1.309+) pero no--allowedTools; para pre-aprobar las acciones allí, iniciar el plomo conclaude --settings '{"permissions":{"allow":["Bash(npm *)"]}}'. Los compañeros de equipo en proceso usan las reglas vivas del líder - No hay equipos entre períodos de sesiones: Los compañeros de equipo sólo existen en el actual período de sesiones
Aviso: Agent Teams es experimental. Prueba con trabajo no crítico primero y monitoriza la coordinación de compañeros de equipo para un comportamiento inesperado.
Seguridad de los subagentes de complementos
Los subagentes provistos de complementos tienen capacidades de frontmatter restringidas para la seguridad. no permitido en las definiciones de subagentes del complemento:
hooks- No se pueden definir los hooks del ciclo de vidamcpServers- No se pueden configurar los servidores MCPpermissionMode- No se puede anular la configuración del permiso
Esto evita que los plugins aumenten los privilegios o ejecuten comandos arbitrarios a través de hooks de subagente.
Escaneo de salida de subagente (v2.1.210+)
A partir de v2.1.210, Claude Code escanea el informe final de cada subagente en busca de texto que imita el propio formato de salida del arnés — falso <system-reminder>-etiquetas de estilo, fabricadas Human:/Assistant: se convierte, o menciona banderas de bypass de permisos y rutas de configuración de archivos. Esto se defiende contra la inyección rápida llevada en salida de subagente, como un subagente que obtuvo una página web maliciosa que contiene fichas de control falsas diseñadas para manipular la sesión padre.
Cuando el escaneo marca algo, Claude Code lo neutraliza — insertando una barra inversa o un marcador en línea como [harness: subagent output matched instruction-shaped pattern(s): ...] nombre lo que desencadenó el escaneo — y se espera que la sesión padre trate el texto marcado como un hallazgo para transmitir, no una instrucción a seguir. El escaneo está activado por defecto sin opt-out documentado. Se equivoca hacia el etiquetado: un informe legítimo de subagente que cita un nombre de bandera real (por ejemplo, --dangerously-skip-permissions) literal puede desencadenar un marcador a pesar de que no ocurrió nada malicioso — un falso positivo es preferible a una inyección perdida.
Condición de subagente y límites de profundidad
La tapa de desove por sesión se ha ido. Claude Code tapa los subagentes desove a 200 por sesión de v2.1.212, pero v2.1.224 retirar ese tapón — las sesiones de larga duración ya no rechazan nuevos agentes, y la referencia oficial a los subagentes ahora indica claramente que no hay límite en el número total de subagentes que Claude puede desovar durante una sesión.
CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSIONVariable que se sobrepone se ha ido con él.
Todavía se aplican dos límites al ventilador de subagent, ambos establecidos por variable de entorno:
CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS(v2.1.217) - Número máximo de subagentes en ejecución simultáneamente Predeterminado: 20.CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH(v2.1.217) - Máximo profundidad de anidación para los subagentes que desoven sus propios subagentes. Predeterminado: 3 desde v2.1.219 (fue 1 en v2.1.217–v2.1.218).1para desactivar la anidación (ver Comportamientos clave).
export CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS=20
export CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=5
Arquitectura
Arquitectura de alto nivel
graph TB
User["User"]
Main["Agente principal<br/>(Coordinador)"]
Reviewer["Revisor de códigos<br/>Subagente"]
Tester["Ingeniero de pruebas<br/>Subagente"]
Docs["Documentación<br/>Subagente"]
User -->|asks| Main
Main -->|delegates| Reviewer
Main -->|delegates| Tester
Main -->|delegates| Docs
Reviewer -->|devuelve el resultado| Main
Tester -->|devuelve el resultado| Main
Docs -->|devuelve el resultado| Main
Main -->|synthesizes| User
Ciclo de vida del subagente
sequenceDiagram
participant User
participant MainAgent as Main Agent
participant CodeReviewer as Code Reviewer<br/>Subagent
participant Context as Separate<br/>Context Window
User->>MainAgent: "Construir nueva característica de autenticación"
MainAgent->>MainAgent: Analyze task
MainAgent->>CodeReviewer: "Revise este código"
CodeReviewer->>Context: Initialize clean context
Context->>CodeReviewer: Load reviewer instructions
CodeReviewer->>CodeReviewer: Perform review
CodeReviewer-->>MainAgent: Return findings
MainAgent->>MainAgent: Incorporate results
MainAgent-->>User: Provide synthesis
Gestión del contexto
graph TB
A["Contexto del agente principal<br/>50.000 fichas"]
B["Contexto del subagente 1<br/>20.000 fichas"]
C["Contexto del subagente 2<br/>20.000 fichas"]
D["Contexto del subagente 3<br/>20.000 fichas"]
A -->|Limpiar pizarra| B
A -->|Limpiar pizarra| C
A -->|Limpiar pizarra| D
B -->|Sólo resultados| A
C -->|Sólo resultados| A
D -->|Sólo resultados| A
style A fill:#e1f5fe
style B fill:#fff9c4
style C fill:#fff9c4
style D fill:#fff9c4
Puntos clave
- Cada subagente obtiene un ventana de contexto fresca sin la historia principal de la conversación
- Sólo el contexto pertinente se pasa al subagente para su tarea específica
- Resultados destilados volver al agente principal
- Esto previene agotamiento de la muestra de contexto sobre proyectos de larga duración
Consideraciones sobre el desempeño
- Eficiencia del contexto - Los agentes preservan el contexto principal, permitiendo sesiones más largas
- Latencia - Los subagentes comienzan con pizarra limpia y pueden agregar contexto inicial de recolección de latencia
Comportamientos clave
- Desove anidado por defecto, profundidad 3 (v2.1.219) - Los subagentes pueden generar sus propios subagentes hasta tres capas debajo de la conversación principal.
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTHpara cambiar el límite, o1En el límite de profundidad, Claude Code retiene laAgent(Historia: v2.1.172–v2.1.216 anidado de forma predeterminada hasta 5 capas sin ninguna forma de cambiarlo; v2.1.217 hizo anidar opt-in en profundidad 1; v2.1.219 estableció el valor predeterminado a 3.) Utilice la herramientaAgent(agent_type)sintaxis de restricción (ver Restringir los subagentes valvibles) para controlar qué subagentes un agente de hilo principal (claude --agent) puede desovar; dentro de un subagente se ignora la lista de tipos - Permisos de fondo - Cuando un subagente de fondo necesita un permiso que no está pre-aprobado, el prompt aparece en su sesión principal y nombra al subagente que está pidiendo
- Antecedentes - Prensa
Ctrl+Bpara preparar una tarea en curso - Transcripción - Las transcripciones de los subagentes se almacenan en
~/.claude/projects/{project}/{sessionId}/subagents/agent-{agentId}.jsonl - Autocompactación - Contexto de subagente autocompacta a una capacidad de ~95% (sobrecargar con
CLAUDE_AUTOCOMPACT_PCT_OVERRIDEvariable de entorno) - Pensamiento extendido heredado (v.2.198) - Los subagentes y la compactación del contexto ahora heredan la configuración de pensamiento extendido de la sesión (anteriormente siempre deshabilitada).
Controles adicionales
- Desactivar agentes de exploración/planificación integrados - Set
CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS=1para eliminar los agentes de exploración y planificación integrados (v2.1.198) - Añadir a cada indicador de subagente - En no-interactivo /
--printmodo,--append-subagent-system-prompt "<text>"añade texto al prompt de cada subagente del sistema (v2.1.205) - Añadir desde un archivo -
--append-subagent-system-prompt-file ./subagent-rules.txtlee el mismo texto adjunto de un archivo, para indicaciones demasiado largas para pasar en la línea de comandos.-p-sólo, y no se puede combinar con--append-subagent-system-prompt(v2.1.261)
Cuándo usar los subagentes
| Escenario | Usar subagente | Por qué |
|---|---|---|
| Características complejas con muchos pasos | Sí. | Preocupaciones separadas, prevenir la contaminación del contexto |
| Revisión rápida del código | No | Gastos generales innecesarios |
| Ejecución de tareas paralelas | Sí. | Cada subagente tiene su propio contexto |
| Se necesitan conocimientos especializados | Sí. | Prompts del sistema personalizado |
| Análisis a largo plazo | Sí. | Previene el agotamiento del contexto principal |
| Una sola tarea | No | Añade latencia innecesariamente |
Mejores prácticas
Principios de diseño
Hacer: - Comenzar con agentes generados por Claude - Generar subagente inicial con Claude, luego iterar para personalizar - Diseñar subagentes enfocados - Responsabilidades simples y claras en lugar de hacer todo - Escribir indicaciones detalladas - Incluir instrucciones específicas, ejemplos y restricciones - Limitar el acceso a herramientas - Conceder solo las herramientas necesarias para el propósito del subagente - Control de versiones - Revisar los subagentes del proyecto en el control de versiones para la colaboración del equipo
No: - Crear subagentes superpuestos con los mismos roles - Dar acceso innecesario a las herramientas de subagents - Usar subagents para tareas simples de un solo paso - Mezclar preocupaciones en el prompt de un subagent - Olvidar pasar el contexto necesario
Mejores prácticas del sistema rápido
-
Sea específico sobre el papel
You are an expert code reviewer specializing in [specific areas] -
Definir claramente las prioridades • Revisar las prioridades (en orden):
- Cuestiones de seguridad
- Problemas de rendimiento
-
Calidad del código •
-
Especificar el formato de salida
For each issue provide: Severity, Category, Location, Description, Fix, Impact -
Incluir medidas de acción • Cuando se invoque:
- Ejecute git diff para ver los cambios recientes
- Centrarse en los archivos modificados
- Comenzar la revisión de inmediato
Estrategia de acceso a las herramientas
- Iniciar Restrictivo: Comience con sólo herramientas esenciales
- Expandir sólo cuando se necesite: Añadir herramientas como demanda de requisitos
- Sólo lectura cuando sea posible: Usar Read/Grep para agentes de análisis
- Ejecución arenosa: Limite los comandos de Bash a patrones específicos
Ejemplo de subagentes en esta carpeta
Esta carpeta contiene subagentes de ejemplo listos para usar:
1. Revisor de códigos (code-reviewer.md)
Finalidad: Análisis integral de la calidad y mantenimiento del código
Herramientas: Lee, Grep, Glob, Bash
Especialización: - Detección de vulnerabilidad de seguridad - Identificación de optimización de rendimiento - Evaluación de mantenimiento de código - Análisis de la cobertura de pruebas
Usar cuando: Usted necesita revisiones de código automatizadas con enfoque en la calidad y seguridad
2. Ingeniero de pruebas (test-engineer.md)
Finalidad: Estrategia de prueba, análisis de cobertura y pruebas automatizadas
Herramientas: leer, escribir, Bash, Grep
Especialización: - Creación de pruebas de unidad - Diseño de pruebas de integración - Identificación de casos de borde - Análisis de cobertura (objetivo > 80%)
Usar cuando: Usted necesita creación completa de la suite de pruebas o análisis de cobertura
3. Escritor de documentación (documentation-writer.md)
Finalidad: Documentación técnica, documentos API y guías de usuario
Herramientas: Leer, Escribir, Grep
Especialización: - Documentación de endpoint API - Creación de guías de usuario - Documentación de arquitectura - Mejora de comentarios de código
Usar cuando: Necesita crear o actualizar la documentación del proyecto
4. Revisor seguro (secure-reviewer.md)
Finalidad: Revisión de código centrada en la seguridad con permisos mínimos
Herramientas: Lee, Grep
Especialización: - Detección de vulnerabilidad de seguridad - Autenticación/autorización de problemas - Riesgos de exposición a los datos - Identificación de ataques por inyección
Usar cuando: Usted necesita auditorías de seguridad sin capacidades de modificación
5. Agente encargado de la aplicación (implementation-agent.md)
Finalidad: Capacidad de implementación plena para el desarrollo de características
Herramientas: Leer, Escribir, Editar, Bash, Grep, Glob
Especialización: - Implementación de funciones - Generación de código - Ejecución de construcción y prueba - Modificación de base de código
Usar cuando: Necesita un subagente para implementar características de extremo a extremo
6. Depurador (debugger.md)
Finalidad: Especialista en depuración de errores, fallas de pruebas y comportamiento inesperado
Herramientas: Leer, Editar, Bash, Grep, Glob
Especialización: - Análisis de la causa raíz - Investigación de errores - Resolución de fallas de prueba - Implementación de corrección mínima
Usar cuando: Usted encuentra errores, errores, o comportamiento inesperado
7. Científico de datos (data-scientist.md)
Finalidad: Experto en análisis de datos para consultas SQL e información de datos
Herramientas: Bash, leer, escribir
Especialización: - Optimización de consultas SQL - Operaciones BigQuery - Análisis y visualización de datos - Perspectivas estadísticas
Usar cuando: Necesita análisis de datos, consultas SQL o operaciones BigQuery
8. Revisor de código limpio (clean-code-reviewer.md)
Finalidad: Revisión de legibilidad y mantenibilidad contra principios de código limpio
Herramientas: Lee, Grep, Glob, Bash
Especialización: - Nombre, longitud de la función, y el recuento de argumentos - Duplicación y código muerto - Calidad e intención de comentario - claridad estructural sobre la inteligencia
Usar cuando: Usted quiere un estilo y la mantenibilidad pasan diferente de la revisión de corrección
9. Optimizador del rendimiento (performance-optimizer.md)
Finalidad: Identificar y remediar los cuellos de botella de rendimiento
Herramientas: Leer, Editar, Bash, Grep, Glob
Especialización: - Complejidad algorítmica y rutas calientes - Asignación de memoria y fugas - Caché y optimización de consultas - Condition y E/S
Usar cuando: El código es mensurablemente lento y usted necesita optimización dirigida
Instrucciones de instalación
Método 1: Pregunte a Claude (recomendado)
Describa el subagente que desea y deje que Claude cree el archivo:
Create a project-level subagent that runs tests and fixes failures.
Give it access to Bash, Read, Edit, and Grep.
Claude escribe .claude/agents/<name>.md con frontmatter apropiado. Revise el archivo generado, luego utilícelo. /agents El asistente de creación interactiva fue eliminado en v2.1.198 — pregunte a Claude o edite el archivo directamente.)
Método 2: Copiar al proyecto
Copiar los archivos del agente a su proyecto .claude/agents/ directorio:
# Navigate to your project
cd /path/to/your/project
# Create agents directory if it doesn't exist
mkdir -p .claude/agents
# Copy all agent files from this folder
cp /path/to/04-subagents/*.md .claude/agents/
# Remove the README (not needed in .claude/agents)
rm .claude/agents/README.md
Método 3: Copiar al directorio de usuario
Para los agentes disponibles en todos sus proyectos:
# Create user agents directory
mkdir -p ~/.claude/agents
# Copy agents
cp /path/to/04-subagents/code-reviewer.md ~/.claude/agents/
cp /path/to/04-subagents/debugger.md ~/.claude/agents/
# ... copy others as needed
Verificación
Después de la instalación, verifique que los agentes son reconocidos al enumerar el directorio:
ls .claude/agents/
También puede preguntar a Claude qué subagentes están disponibles en la sesión actual, y se informará de los agentes incorporados y personalizados a los que puede delegar.
Estructura del archivo
project/
├── .claude/
│ └── agents/
│ ├── code-reviewer.md
│ ├── test-engineer.md
│ ├── documentation-writer.md
│ ├── secure-reviewer.md
│ ├── implementation-agent.md
│ ├── debugger.md
│ ├── data-scientist.md
│ ├── clean-code-reviewer.md
│ └── performance-optimizer.md
└── ...
Conceptos relacionados
Características relacionadas
- Comandos de barra - Accesos directos rápidos por encargo del usuario
- Memoria - Contexto persistente entre períodos de sesiones
- Skills - Capacidades autónomas reutilizables
- Protocolo MCP - Acceso externo a datos en tiempo real
- Hooks - Automatización de comandos de shell impulsada por eventos
- Plugins - Paquetes de extensión agrupados
Comparación con otras características
| Característica | Invocado por el usuario | Invocado automáticamente | Persistente | Acceso externo | Contexto aislado |
|---|---|---|---|---|---|
| Comandos de barra | Sí. | No | No | No | No |
| Subagentes | Sí. | Sí. | No | No | Sí. |
| Memoria | Auto | Auto | Sí. | No | No |
| MCP | Auto | Sí. | No | Sí. | No |
| Skills | Sí. | Sí. | No | No | No |
Patrón de integración
graph TD
User["Solicitud del usuario"] --> Main["Agente principal"]
Main -->|Uses| Memory["Memoria<br/>(Contexto)"]
Main -->|Queries| MCP["MCP<br/>(Datos vivos)"]
Main -->|Invokes| Skills["Skills<br/>(Herramientas automáticas)"]
Main -->|Delegates| Subagents["Subagentes<br/>(Especialistas)"]
Subagents -->|Use| Memory
Subagents -->|Query| MCP
Subagents -->|Isolated| Context["Contexto limpio<br/>Ventana"]
Observabilidad
Añadido en v2.1.139.
Las solicitudes de API procedentes de un subagente llevan dos encabezados HTTP adicionales para que los rastros y registros se puedan correlacionar con la sesión de envío:
| Encabezado | Descripción |
|---|---|
x-claude-code-agent-id |
UUID del subagente que realiza la solicitud. |
x-claude-code-parent-agent-id |
UUID del agente que envió este subagente (el agente principal, o un subagente de nivel superior en una cadena). |
Los mismos identificadores están expuestos en claude_code.llm_request OpenTelemetry se extiende como los atributos claude.code.agent.id y claude.code.agent.parent_id. Úsalos para:
- Atribuir gasto API a un tipo de subagente específico en lugar de la sesión padre
- Reconstruir una cadena de invocaciones de agentes después del hecho (parent_id forma un árbol)
- Alerta sobre subagentes fugitivos (por ejemplo, uno
agent.id> 50% de los gastos de sesión)
Vea la sección de OpenTelemetría en Características avanzadas → Telemetría para la instalación de exportador de extremo a extremo.
Recursos adicionales
- Documentación de los subagentes oficiales
- Referencia de la CLI -
--agentsbandera y otras opciones CLI - Guía de complementos - Para mezclar agentes con otras características
- Guía de skills - Para capacidades de auto-invocación
- Guía de memoria - Por contexto persistente
- Guía de hooks - Para la automatización basada en eventos
Última actualización: 26 de octubre de 2026 Versión de Claude Code: 2.1.310 Fuentes: - https://code.claude.com/docs/en/sub-agents - https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md - https://code.claude.com/docs/en/cli-reference - https://code.claude.com/docs/en/agent-teams - https://code.claude.com/docs/en/changelog#2-1-172 - https://code.claude.com/docs/en/changelog - https://github.com/anthropics/claude-code/releases/tag/v2.1.117 - https://github.com/anthropics/claude-code/releases/tag/v2.1.131 - https://github.com/anthropics/claude-code/releases/tag/v2.1.138 - https://github.com/anthropics/claude-code/releases/tag/v2.1.139 - https://github.com/anthropics/claude-code/releases/tag/v2.1.140 - https://code.claude.com/docs/en/model-config - https://code.claude.com/docs/en/interactive-mode - https://github.com/anthropics/claude-code/releases/tag/v2.1.296 - https://code.claude.com/docs/en/hooks - https://code.claude.com/docs/en/agent-view - https://code.claude.com/docs/en/sub-agents#permission-modes - https://code.claude.com/docs/en/sub-agents#available-tools - https://code.claude.com/docs/en/mcp - https://code.claude.com/docs/en/changelog#2-1-302 - https://code.claude.com/docs/en/sub-agents#turn-fork-mode-on-or-off - https://code.claude.com/docs/en/sub-agents#which-subagents-run-in-the-background - https://code.claude.com/docs/en/agent-teams#have-teammates-plan-before-implementing - https://code.claude.com/docs/en/sub-agents#let-claude-wait-for-a-subagent - https://code.claude.com/docs/en/sub-agents#mcp-server-names-that-contain-a-double-underscore - https://code.claude.com/docs/en/agent-teams#permissions - https://code.claude.com/docs/en/changelog#2-1-309 - https://code.claude.com/docs/en/changelog#2-1-304 - https://code.claude.com/docs/en/vs-code#see-a-background-subagents-tool-calls Modelos compatibles: Claude Fable 5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.8, Claude Haiku 4.5