Skip to main content

Command Palette

Search for a command to run...

Personalizar

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:

ModoComportamientoIdeal para
Primer planoBloquea la ejecución hasta que el subagente termina. Devuelve el resultado de inmediato.Tareas secuenciales que requieren la salida.
Segundo planoDevuelve 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.

SubagentePropósitoPor qué es un subagente
ExploreBusca y analiza bases de códigoLa 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.
BashEjecuta series de comandos de shellLa salida de los comandos suele ser extensa. Aislarla permite que el agente principal se centre en las decisiones, no en los registros.
BrowserControla el navegador mediante herramientas MCPLas 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 largasLa tarea tiene un único propósito (generar un registro de cambios, dar formato)
Ejecutas varios flujos de trabajo en paraleloQuieres una acción rápida y repetible
La tarea requiere experiencia especializada en varios pasosLa tarea se completa de una sola vez
Quieres una verificación independiente del trabajoNo necesitas una ventana de contexto independiente

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.

Cursor LogoTry in Cursor

Para 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

TipoUbicaciónAlcance
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

CampoTipoObligatorioPredeterminadoDescripción
namestringNoGenerado automáticamente a partir del nombre de archivoNombre para mostrar e identificador. Usa letras minúsculas y guiones.
descriptionstringNoBreve descripción que se muestra en las sugerencias de la herramienta Task. El agente la lee para decidir si delegar.
modelstringNoinheritModelo que se usará: inherit o un ID de modelo específico. Consulta la configuración del modelo.
readonlybooleanNofalseSi es true, el subagente se ejecuta con permisos de escritura restringidos (sin editar archivos ni ejecutar comandos de shell que cambien el estado).
is_backgroundbooleanNofalseSi 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:

ValorComportamiento
inheritUsa el mismo modelo que el agente principal. Es la opción predeterminada.
Un ID de modelo específicoUsa 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.

EjemploComportamiento
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 pagos

Tambié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 pago

Ejecución paralela

Inicia varios subagentes a la vez para maximizar el rendimiento:

> Revisa los cambios de la API y actualiza la documentación en paralelo

El 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 restantes

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.

Cursor LogoTry in Cursor

Este 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:

  1. Planificador analiza los requisitos y crea un plan técnico
  2. Implementador desarrolla la funcionalidad según el plan
  3. 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.

Cursor LogoTry in Cursor

Ejecutor 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 problemas

Crea 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.

Cursor LogoTry in Cursor

Mejores prácticas

  • Crea subagentes especializados — Cada subagente debe tener una única responsabilidad clara. Evita los agentes «auxiliares» genéricos.
  • Cuida las descripciones — El campo description determina 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

  • 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.

Cursor LogoTry in Cursor

Tambié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.

VentajaInconveniente
Aislamiento del contextoCoste de inicio (cada subagente recopila su propio contexto)
Ejecución paralelaMayor consumo de tokens (varios contextos se ejecutan simultáneamente)
Enfoque especializadoLatencia (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.