Subagentes
Los subagentes son asistentes de IA especializados a los que el agente de Cursor puede delegar tareas. Cada subagente opera en su propia ventana de contexto, se encarga de tipos de trabajo específicos y devuelve el resultado al agente principal. Usa subagentes para dividir tareas complejas, trabajar en paralelo y conservar el contexto en la conversación principal.
Puedes usar subagentes en el Editor, la CLI y los agentes en la nube.
Aislamiento de contexto
Cada subagente tiene su propia ventana de contexto. Las tareas largas de investigación o exploración no ocupan espacio en tu conversación principal.
Ejecución en paralelo
Inicia varios subagentes simultáneamente. Trabaja en distintas partes de tu base de código sin esperar a que terminen secuencialmente.
Experiencia especializada
Configura subagentes con instrucciones personalizadas, acceso a herramientas y modelos para tareas específicas de un dominio.
Reutilización
Define subagentes personalizados y úsalos en distintos proyectos.
Cómo funcionan los subagentes
Cuando el agente de programación se enfrenta a una tarea compleja, puede iniciar automáticamente un subagente. El subagente recibe una instrucción con todo el contexto necesario, trabaja de forma autónoma y devuelve un mensaje final con los resultados.
Los subagentes comienzan con un contexto limpio. El agente de programación principal incluye la información relevante en la instrucción, ya que los subagentes no tienen acceso al historial de conversaciones previo.
Primer plano vs. segundo plano
Los subagentes se ejecutan en uno de estos dos modos:
| Modo | Comportamiento | Ideal para |
|---|---|---|
| Primer plano | Bloquea la ejecución hasta que el subagente termina. Devuelve el resultado de inmediato. | Tareas secuenciales que requieren la salida. |
| Segundo plano | Devuelve el resultado de inmediato. El subagente trabaja de forma independiente. | Tareas de larga duración o flujos de trabajo paralelos. |
Subagentes integrados
Cursor incluye tres subagentes integrados que gestionan automáticamente operaciones que requieren mucho contexto. Estos subagentes se diseñaron a partir del análisis de conversaciones con agentes de programación en las que se alcanzaron los límites de la ventana de contexto.
| Subagente | Propósito | Por qué es un subagente |
|---|---|---|
| Explore | Busca y analiza bases de código | La exploración de la base de código genera una gran cantidad de salida intermedia que saturaría el contexto principal. Usa un modelo más rápido para realizar muchas búsquedas en paralelo. |
| Bash | Ejecuta series de comandos de shell | La salida de los comandos suele ser extensa. Aislarla permite que el agente principal se centre en las decisiones, no en los registros. |
| Browser | Controla el navegador mediante herramientas MCP | Las interacciones con el navegador generan instantáneas del DOM y capturas de pantalla con mucho ruido. El subagente filtra esta información para mostrar resultados relevantes. |
Por qué existen estos subagentes
Estas tres operaciones comparten rasgos: generan una salida intermedia ruidosa, se benefician de instrucciones y herramientas especializadas y pueden consumir mucho contexto. Ejecutarlas como subagentes resuelve varios problemas:
- Aislamiento del contexto — La salida intermedia se mantiene en el subagente. El agente principal solo ve el resumen final.
- Flexibilidad del modelo — El subagente de exploración usa un modelo más rápido de forma predeterminada. Esto permite ejecutar 10 búsquedas en paralelo en el tiempo que tardaría una sola búsqueda del agente principal.
- Configuración especializada — Cada subagente tiene instrucciones y acceso a herramientas adaptados a su tarea específica.
- Eficiencia de costes — Los modelos más rápidos cuestan menos. Aislar en subagentes el trabajo que consume muchos tokens, con modelos adecuados, reduce el coste total.
No necesitas configurar estos subagentes. Agent los usa automáticamente cuando es apropiado.
Cuándo usar subagentes
| Usa subagentes cuando... | Usa skills cuando... |
|---|---|
| Necesitas aislamiento del contexto para tareas de investigación largas | La tarea tiene un único propósito (generar un registro de cambios, dar formato) |
| Ejecutas varios flujos de trabajo en paralelo | Quieres una acción rápida y repetible |
| La tarea requiere experiencia especializada en varios pasos | La tarea se completa de una sola vez |
| Quieres una verificación independiente del trabajo | No necesitas una ventana de contexto independiente |
Si vas a crear un subagente para una tarea sencilla de un solo propósito, como "generar un registro de cambios" o "dar formato a las importaciones", considera usar una skill.
Inicio rápido
El agente de programación usa subagentes automáticamente cuando corresponde. También puedes crear un subagente personalizado pidiéndoselo al agente de programación:
Crea un archivo de subagente en .cursor/agents/verifier.md con frontmatter YAML (nombre, descripción) seguido de la instrucción. El subagente verificador debe validar el trabajo completado, comprobar que las implementaciones funcionen, ejecutar pruebas e informar de qué se completó y qué falta.
Try in CursorPara tener mayor control, crea subagentes personalizados manualmente en el directorio de tu proyecto o en tu directorio de usuario.
Subagentes personalizados
Define subagentes personalizados para incorporar conocimientos especializados, aplicar los estándares del equipo o automatizar flujos de trabajo repetitivos.
Ubicaciones de archivos
| Tipo | Ubicación | Alcance |
|---|---|---|
| Subagentes del proyecto | .cursor/agents/ | Solo en el proyecto actual |
.claude/agents/ | Solo en el proyecto actual (compatibilidad con Claude) | |
.codex/agents/ | Solo en el proyecto actual (compatibilidad con Codex) | |
| Subagentes del usuario | ~/.cursor/agents/ | Todos los proyectos del usuario actual |
~/.claude/agents/ | Todos los proyectos del usuario actual (compatibilidad con Claude) | |
~/.codex/agents/ | Todos los proyectos del usuario actual (compatibilidad con Codex) |
Los subagentes del proyecto tienen prioridad si hay nombres en conflicto. Cuando varias ubicaciones contienen subagentes con el mismo nombre, .cursor/ tiene prioridad sobre .claude/ y .codex/.
Formato del archivo
Cada subagente es un archivo markdown con frontmatter YAML:
---name: security-auditordescription: Security specialist. Use when implementing auth, payments, or handling sensitive data.model: inheritreadonly: true---You are a security expert auditing code for vulnerabilities.When invoked:1. Identify security-sensitive code paths2. Check for common vulnerabilities (injection, XSS, auth bypass)3. Verify secrets are not hardcoded4. Review input validation and sanitizationReport findings by severity:- Critical (must fix before deploy)- High (fix soon)- Medium (address when possible)Campos de configuración
| Campo | Tipo | Obligatorio | Predeterminado | Descripción |
|---|---|---|---|---|
name | string | No | Generado automáticamente a partir del nombre de archivo | Nombre para mostrar e identificador. Usa letras minúsculas y guiones. |
description | string | No | — | Breve descripción que se muestra en las sugerencias de la herramienta Task. El agente la lee para decidir si delegar. |
model | string | No | inherit | Modelo que se usará: inherit o un ID de modelo específico. Consulta la configuración del modelo. |
readonly | boolean | No | false | Si es true, el subagente se ejecuta con permisos de escritura restringidos (sin editar archivos ni ejecutar comandos de shell que cambien el estado). |
is_background | boolean | No | false | Si es true, el subagente se ejecuta en segundo plano sin bloquear al agente principal. |
Configuración del modelo
El campo model determina qué modelo usa un subagente. Hay dos opciones:
| Valor | Comportamiento |
|---|---|
inherit | Usa el mismo modelo que el agente principal. Es la opción predeterminada. |
| Un ID de modelo específico | Usa el modelo exacto que especifiques, como composer-2 o gpt-5.6-sol. Consulta la referencia de modelos para ver los ID disponibles. |
Elige inherit cuando el subagente necesite la misma capacidad de razonamiento que el agente principal. Usa un ID de modelo específico cuando necesites las capacidades de un modelo concreto, independientemente del modelo que use el agente principal.
Parámetros del modelo
Añade corchetes a un ID de modelo para establecer opciones específicas, como velocidad, esfuerzo de razonamiento y ventana de contexto. Escribe las opciones como pares id=value y separa varias opciones con comas.
| Ejemplo | Comportamiento |
|---|---|
composer-2.5[] | Fija el modelo base. Los corchetes vacíos seleccionan la variante estándar en lugar de la rápida. |
composer-2.5[fast=false] | Selecciona explícitamente la variante estándar (no rápida). |
claude-opus-5[effort=high] | Establece el esfuerzo de razonamiento en high. |
claude-opus-5[context=300k] | Establece la ventana de contexto en 300k tokens. |
claude-opus-5[effort=high,context=300k] | Combina opciones. |
Las opciones disponibles dependen del modelo y usan los mismos pares id=value que los parámetros del modelo del SDK.
---name: plannerdescription: Plans complex changes before implementation.model: claude-opus-5[effort=high]---Break the task into a clear, ordered implementation plan.Cuándo no se utilizará el modelo configurado
Cursor respeta el campo model del frontmatter de tu subagente, salvo que se cumpla alguna de estas condiciones:
- Restricciones del administrador del equipo — El administrador de tu organización ha bloqueado el modelo especificado.
- Ajuste heredado de Max Mode — En un plan heredado basado en solicitudes, el modelo requiere Max Mode y no lo tienes activado.
- Limitaciones del plan — El modelo no está disponible en tu plan actual.
En estos casos, Cursor usa un modelo compatible. Si el modelo se comporta de forma inesperada, revisa tu plan y la configuración del modelo.
---name: code-reviewerdescription: Reviews code for correctness and style.model: inherit---Review the code changes for bugs, style issues, and edge cases.---name: search-agentdescription: Searches the codebase for relevant files and symbols.model: inherit---Search the codebase and return relevant file paths and code snippets.---name: reasoning-agentdescription: Handles complex architectural decisions.model: gpt-5.6-sol---Analyze the architecture and recommend changes with detailed reasoning.Uso de subagentes
Delegación automática
El Agent delega tareas de forma proactiva según:
- La complejidad y el alcance de la tarea
- Las descripciones personalizadas de los subagentes de tu proyecto
- El contexto actual y las herramientas disponibles
Incluye expresiones como "usar de forma proactiva" o "usar siempre para" en el campo de descripción para fomentar la delegación automática.
Invocación explícita
Solicita un subagente específico mediante la sintaxis /name en tu instrucción:
> /verifier confirma que el flujo de autenticación está completo> /debugger investiga este error> /security-auditor revisa el módulo de pagosTambién puedes invocar subagentes mencionándolos de forma natural:
> Usa el subagente verificador para confirmar que el flujo de autenticación está completo> Pide al subagente depurador que investigue este error> Ejecuta el subagente auditor de seguridad en el módulo de pagoEjecución paralela
Inicia varios subagentes a la vez para maximizar el rendimiento:
> Revisa los cambios de la API y actualiza la documentación en paraleloEl agente realiza varias llamadas a la herramienta Task en un mismo mensaje, por lo que los subagentes se ejecutan simultáneamente.
Subagentes en la nube
Desde una sesión de agente local, puedes delegar trabajo a un subagente en la nube que se ejecuta en su propia VM y rama. Tu espacio de trabajo local se mantiene limpio y ágil mientras las tareas de larga duración o en paralelo se ejecutan en la nube. El agente principal sigue ejecutándose de forma local o en la nube sin interrupciones. Los subagentes en la nube se ejecutan desde la ventana de agente de programación en la aplicación de escritorio de Cursor.
Inicia un subagente en la nube con /in-cloud
Escribe /in-cloud y la siguiente tarea que envíes se ejecutará como un subagente en la nube. Este iniciará su propia VM y rama para trabajar en ella.
Es útil para aislar tareas de larga duración o en paralelo, como solucionar problemas de CI, investigar un problema o explorar una base de código mientras sigues trabajando localmente.
Supervisa una PR con /babysit
Pide a un subagente en la nube que supervise una solicitud de extracción con /babysit o haciendo clic en el botón de acción rápida. El agente en la nube itera de forma remota para preparar la PR para fusionarla sin ocupar tu sesión local.
Los subagentes en la nube usan el entorno configurado para tu repositorio y siguen las mismas reglas de modelo y funcionalidad que otros agentes en la nube. Como se ejecutan en una VM en la nube, sus servidores MCP provienen de la configuración de tu equipo en cursor.com/agents, no de tu sesión local.
Reanudar subagentes
Puedes reanudar subagentes para continuar conversaciones anteriores. Esto resulta útil para tareas de larga duración que abarcan varias invocaciones.
Cada ejecución de un subagente devuelve un ID de agente. Proporciona este ID para reanudar el subagente conservando todo el contexto:
> Reanuda el agente abc123 y analiza los fallos de las pruebas restantesLos subagentes en segundo plano guardan su estado mientras se ejecutan. Puedes reanudar un subagente cuando finalice para continuar la conversación con el contexto conservado.
Patrones comunes
Agente de verificación
Un agente de verificación valida de forma independiente si el trabajo declarado se completó realmente. Esto resuelve un problema común: la IA marca las tareas como completadas, pero las implementaciones son incompletas o no funcionan.
---name: verifierdescription: Valida el trabajo completado. Úsalo después de marcar las tareas como terminadas para confirmar que las implementaciones funcionan.---Eres un validador escéptico. Tu tarea es verificar que el trabajo que se declara completo realmente funciona.Cuando se te invoque:1. Identifica qué se declaró como completado2. Comprueba que la implementación existe y funciona3. Ejecuta los tests o pasos de verificación relevantes4. Busca casos límite que se hayan podido pasar por altoSé riguroso y escéptico. Informa de:- Qué se verificó y superó las comprobaciones- Qué se declaró como hecho pero está incompleto o roto- Problemas concretos que hay que resolverNo des por buenas las afirmaciones sin más. Pruébalo todo.Crea un archivo de subagente en .cursor/agents/verifier.md con frontmatter YAML que incluya un nombre y una descripción. La descripción debe ser 'Valida el trabajo completado. Úsalo después de marcar las tareas como completadas para confirmar que las implementaciones funcionan.' El cuerpo de la instrucción debe indicarle que sea escéptico, verifique que las implementaciones funcionen realmente ejecutando pruebas y busque casos límite.
Try in CursorEste patrón es útil para:
- Validar que las funcionalidades funcionen de principio a fin antes de marcar los tickets como completados
- Detectar funcionalidades implementadas parcialmente
- Garantizar que las pruebas realmente se superen (no solo que existan archivos de prueba)
Patrón de orquestación
Para flujos de trabajo complejos, un agente principal puede coordinar varios subagentes especializados en secuencia:
- Planificador analiza los requisitos y crea un plan técnico
- Implementador desarrolla la funcionalidad según el plan
- Verificador confirma que la implementación cumple los requisitos
Cada transferencia incluye una salida estructurada para que el siguiente agente disponga de un contexto claro.
Ejemplos de subagentes
Depurador
---name: debuggerdescription: Debugging specialist for errors and test failures. Use when encountering issues.---You are an expert debugger specializing in root cause analysis.When invoked:1. Capture error message and stack trace2. Identify reproduction steps3. Isolate the failure location4. Implement minimal fix5. Verify solution worksFor each issue, provide:- Root cause explanation- Evidence supporting the diagnosis- Specific code fix- Testing approachFocus on fixing the underlying issue, not symptoms.Crea un archivo de subagente en .cursor/agents/debugger.md con frontmatter YAML que incluya un nombre y una descripción. El subagente de depuración debe especializarse en el análisis de la causa raíz: capturar trazas de pila, identificar pasos para reproducir el problema, aislar fallos, implementar soluciones mínimas y verificarlas.
Try in CursorEjecutor de pruebas
---name: test-runnerdescription: Experto en automatización de tests. Usar de forma proactiva para ejecutar tests y solucionar fallos.---Eres un experto en automatización de tests.Cuando veas cambios de código, ejecuta de forma proactiva los tests adecuados.Si los tests fallan:1. Analiza la salida del fallo2. Identifica la causa raíz3. Soluciona el problema sin alterar la intención del test4. Vuelve a ejecutarlos para verificarInforma de los resultados de los tests indicando:- Número de tests superados/fallidos- Resumen de los fallos- Cambios realizados para solucionar los problemasCrea un archivo de subagente en .cursor/agents/test-runner.md con frontmatter YAML que incluya un nombre y una descripción (donde se mencione «Usar de forma proactiva»). El subagente test-runner debe ejecutar pruebas de forma proactiva cuando detecte cambios en el código, analizar los fallos, resolver problemas sin alterar la intención de las pruebas e informar de los resultados.
Try in CursorMejores prácticas
- Crea subagentes especializados — Cada subagente debe tener una única responsabilidad clara. Evita los agentes «auxiliares» genéricos.
- Cuida las descripciones — El campo
descriptiondetermina cuándo Agent delega en tu subagente. Dedica tiempo a perfeccionarlo. Prueba con instrucciones y comprueba si se activa el subagente adecuado. - Mantén las instrucciones concisas — Las instrucciones largas y divagantes diluyen el enfoque. Sé específico y directo.
- Añade subagentes al control de versiones — Incluye
.cursor/agents/en tu repositorio para que el equipo se beneficie. - Empieza con agentes generados por Agent — Deja que Agent te ayude a redactar la configuración inicial y, después, personalízala.
- Usa hooks para generar archivos de salida — Si necesitas que los subagentes generen archivos de salida estructurados, considera usar hooks para procesar y guardar sus resultados de forma coherente.
Antipatrones que se deben evitar
No cree decenas de subagentes genéricos. Tener más de 50 subagentes con instrucciones vagas como "ayuda con la programación" no es eficaz. El agente de programación no sabrá cuándo usarlos y perderá tiempo en mantenerlos.
- Descripciones vagas — "Usar para tareas generales" no le indica al agente de programación cuándo delegar. Sea específico: "Usar al implementar flujos de autenticación con proveedores de OAuth".
- Instrucciones demasiado largas — Una instrucción de 2000 palabras no hace que un subagente sea más inteligente. Lo hace más lento y difícil de mantener.
- Duplicar comandos con barra — Si una tarea tiene un único propósito y no necesita aislamiento de contexto, use una skill o un comando.
- Demasiados subagentes — Empiece con 2-3 subagentes especializados. Añada más solo cuando tenga casos de uso claros y distintos.
Gestión de subagentes
Crear subagentes
La forma más sencilla de crear un subagente es pedirle a Agent que lo cree por ti:
Crea un archivo de subagente en .cursor/agents/security-reviewer.md con frontmatter YAML que incluya un nombre y una descripción. El subagente security-reviewer debe comprobar el código para detectar vulnerabilidades comunes, como inyecciones, XSS y secretos codificados de forma rígida.
Try in CursorTambién puedes crear subagentes manualmente añadiendo archivos Markdown a .cursor/agents/ (proyecto) o ~/.cursor/agents/ (usuario).
Consultar subagentes
El agente incluye todos los subagentes personalizados entre las herramientas disponibles. Puedes consultar qué subagentes están configurados en el directorio .cursor/agents/ de tu proyecto.
Rendimiento y coste
Los subagentes tienen ventajas e inconvenientes. Comprenderlos te ayuda a decidir cuándo utilizarlos.
| Ventaja | Inconveniente |
|---|---|
| Aislamiento del contexto | Coste de inicio (cada subagente recopila su propio contexto) |
| Ejecución paralela | Mayor consumo de tokens (varios contextos se ejecutan simultáneamente) |
| Enfoque especializado | Latencia (puede ser más lento que el agente principal en tareas sencillas) |
Consideraciones sobre tokens y coste
- Los subagentes consumen tokens de forma independiente — Cada subagente tiene su propia ventana de contexto y su propio consumo de tokens. Ejecutar cinco subagentes en paralelo consume aproximadamente cinco veces más tokens que un único agente de programación.
- Evalúa la sobrecarga — Para tareas rápidas y sencillas, el agente de programación principal suele ser más rápido. Los subagentes destacan en tareas complejas, de larga duración o que se ejecutan en paralelo.
- Los subagentes pueden ser más lentos — El beneficio es el aislamiento del contexto, no la velocidad. Un subagente que realiza una tarea sencilla puede ser más lento que el agente de programación principal porque parte desde cero.
Preguntas frecuentes
Cursor incluye tres subagentes integrados: explore para buscar en la base de código, bash para ejecutar comandos de shell y browser para automatizar el navegador mediante MCP. Se encargan automáticamente de operaciones que requieren mucho contexto. No necesitas configurarlos.
Sí, dentro de un límite de anidamiento. Desde Cursor 2.5, los subagentes pueden iniciar subagentes secundarios para crear un árbol de trabajo coordinado. El agente principal y sus subagentes directos pueden iniciar subagentes, pero un subagente iniciado por otro subagente no puede iniciar otros. Los inicios anidados también requieren acceso a la herramienta Task en el modo actual, y los hooks o las políticas de herramientas pueden bloquear su creación.
Los subagentes en segundo plano escriben su salida en ~/.cursor/subagents/. El agente principal puede leer estos archivos para comprobar el progreso.
El subagente devuelve un estado de error al agente principal. El agente principal puede volver a intentarlo, reanudarlo con contexto adicional o gestionar el fallo de otra forma.
Sí. Los subagentes heredan todas las herramientas del agente principal, incluidas las herramientas MCP de los servidores configurados. Los subagentes en la nube son la excepción: se ejecutan en una VM en la nube y usan los servidores MCP configurados para tu equipo en cursor.com/agents, no los servidores de tu sesión local.
Comprueba la descripción y el prompt del subagente. Asegúrate de que las instrucciones sean específicas e inequívocas. También puedes probar el subagente invocándolo explícitamente con una tarea sencilla.
Cursor anula el modelo configurado cuando el administrador de tu equipo lo bloquea, tu plan no lo incluye o un plan heredado basado en solicitudes requiere Max Mode y no lo tienes activado. En los planes heredados basados en solicitudes sin Max Mode, los subagentes se ejecutan con Composer independientemente de la configuración de model. Si el administrador de tu equipo ha bloqueado Composer, los subagentes solo pueden ejecutarse cuando Max Mode está activado. En los planes basados en uso y los planes heredados basados en solicitudes con Max Mode, los subagentes usan de forma predeterminada el modelo del agente principal. Consulta la configuración del modelo para obtener más detalles.