---
title: Gestión de subagentes
description: Comprende y gestiona los subagentes en Verdent
---

Los subagentes son agentes de IA especializados que operan con su propio prompt de sistema personalizado, una ventana de contexto separada y un entorno de ejecución aislado. Se encargan de tareas específicas delegadas por el agente principal sin contaminar el contexto de la conversación principal.

**Características clave:**

- **Ventanas de contexto aisladas:** Cada subagente mantiene su propia ventana de contexto separada. Solo los resultados finales que devuelven los subagentes consumen espacio en el contexto del agente principal, no el procesamiento intermedio.
- **Prompts de sistema personalizados:** Cada subagente tiene un prompt de sistema dedicado que define su comportamiento, su personalidad y su forma de interpretar las tareas.
- **Delegación automática de tareas:** El agente principal invoca automáticamente a los subagentes cuando detecta los tipos de tarea apropiados, de forma similar a la selección automática de herramientas.
- **Invocación manual:** Puedes referenciar explícitamente a los subagentes mediante menciones con @ (`@Verifier`, `@Explorer`, `@Code-reviewer`).

**Dos categorías:**
- **Subagentes predeterminados:** Integrados (Verifier, Explorer, Code-reviewer): disponibles de inmediato y preconfigurados
- **Subagentes personalizados:** Creados por ti, almacenados en `~/.verdent/subagents/`, adaptados a las necesidades específicas del proyecto

---

## Comprender los subagentes predeterminados

Verdent for VS Code incluye tres subagentes predeterminados integrados que están preconfigurados, disponibles de inmediato y no requieren configuración ni ajustes.

<Tabs>
  <Tab title="@Verifier">
    **Especialización:** Comprobaciones y validación rápidas de código

    **Capacidades:**
    - Valida la lógica del código
    - Verifica la corrección de la sintaxis
    - Comprueba la implementación frente a los requisitos

    **Uso:**
    Referénciarlo durante las tareas de codificación:
    ```
    @Verifier check this authentication logic
    ```

    **Ideal para:** Validación rápida sin la carga de una revisión de código completa
  </Tab>

  <Tab title="@Explorer">
    **Especialización:** Exploración y navegación rápidas de la base de código

    **Capacidades:**
    - Encuentra archivos por patrón o nombre
    - Busca palabras clave o funciones en el código
    - Responde preguntas sobre la arquitectura
    - Identifica dónde está implementada cada funcionalidad

    **Uso:**
    Se invoca automáticamente para preguntas sobre la base de código o cuando se solicita explícitamente:
    ```
    @Explorer find all API endpoints
    ```

    **Ideal para:**
    - Comprender bases de código desconocidas
    - Localizar implementaciones específicas
    - Análisis de arquitectura

    **Rendimiento:** Eficiente en uso de tokens; puede ejecutar varias instancias en paralelo para búsquedas complejas
  </Tab>

  <Tab title="@Code-reviewer">
    **Especialización:** Evaluación de la calidad del código

    **Capacidades:**
    - Analiza de forma proactiva el código nuevo y modificado en busca de vulnerabilidades de seguridad
    - Identifica problemas de mantenibilidad
    - Detecta problemas de rendimiento

    **Uso:**
    Referénciarlo para comprobaciones de calidad:
    ```
    @Code-reviewer review this authentication flow
    ```

    **Ideal para:**
    - Revisiones previas a la confirmación
    - Identificar problemas antes de la integración
    - Garantizar el cumplimiento de los estándares de calidad del código
  </Tab>
</Tabs>

---

### Invocación automática frente a manual

**Desencadenantes de selección automática:**

El agente principal selecciona automáticamente los subagentes según el reconocimiento de patrones de la tarea:

**Subagente Explorer:**
- Preguntas sobre la estructura de la base de código ("¿Cuál es la arquitectura?", "¿Dónde está implementado X?")
- Solicitudes de búsqueda de archivos ("Encuentra todos los archivos que...", "Muéstrame los componentes relacionados con...")
- Consultas de navegación por el código ("¿Cómo funciona la autenticación?", "¿Qué llama a esta función?")

**Subagente Code-reviewer:**
- Solicitudes de revisión de seguridad ("Revisa las vulnerabilidades de seguridad", "Comprueba los riesgos de inyección SQL")
- Prompts de evaluación de la calidad del código ("Analiza la calidad del código", "Identifica problemas de mantenibilidad")
- Escenarios de revisión previa a la confirmación (de forma implícita cuando se presentan cambios de código)

**Subagente Verifier:**
- Solicitudes de validación ("Verifica esta lógica", "Comprueba si esta implementación es correcta")
- Comprobaciones de sintaxis y corrección ("¿Funciona este código?", "Valida el flujo de autenticación")

**Especificación manual:**

Puedes anular el enrutamiento automático mediante menciones con @:

```
@Explorer find all authentication-related files
@Code-reviewer review the security of login flow
@Verifier check validation logic in middleware
```

**Botón Add Subagent:**
Selecciona el botón **Add Subagent** en el cuadro de entrada para:
- Elegir entre los subagentes disponibles (predeterminados y personalizados)
- Delegar explícitamente la tarea al subagente elegido
- Anular las decisiones de enrutamiento automático

**Ventajas de la especificación manual:**
- **Precisión:** Garantiza que el subagente exacto se encargue de la tarea
- **Anulación:** Elige un subagente específico cuando podrían aplicarse varios
- **Pruebas:** Valida explícitamente el comportamiento de un subagente personalizado
- **Consistencia:** Repite tareas con el mismo subagente para obtener resultados coherentes

<Info>
Los subagentes personalizados pueden invocarse automáticamente según las pautas de "Cuándo usarlo" definidas en la política de invocación del prompt de sistema del subagente. Los detalles sobre la configuración de patrones desencadenantes están actualmente en desarrollo.
</Info>

---

## Crear subagentes personalizados

Los subagentes personalizados te permiten crear agentes especializados adaptados a las necesidades específicas de tu proyecto, tu experiencia en un dominio o los flujos de trabajo de tu equipo.

### Métodos de creación

<Tabs>
  <Tab title="Menú de configuración">
    **Recomendado para principiantes**

    1. Selecciona **Settings** → **Subagents**
    2. Selecciona "Create new subagent"
    3. Define el nombre, la descripción y el prompt de sistema del subagente
    4. Configura la política de invocación y las pautas de uso
    5. Guárdalo en el directorio `~/.verdent/subagents/`

    Este método ofrece una interfaz guiada para crear subagentes con validación y prompts útiles.
  </Tab>

  <Tab title="Creación directa de archivos">
    **Recomendado para usuarios avanzados**

    1. Ve a `~/.verdent/subagents/`
    2. Crea un archivo Markdown (por ejemplo, `security-reviewer.md`)
    3. Añade el frontmatter de YAML con `name` y `description`
    4. Escribe el prompt de sistema que define el comportamiento
    5. Especifica la política de invocación y las pautas de "Cuándo usarlo"

    Este método ofrece más control y es más rápido para usuarios familiarizados con la estructura de archivos.

    <Tip>
    Comparte subagentes personalizados entre proyectos almacenándolos en ~/.verdent/subagents/. Estarán disponibles en todos los espacios de trabajo.
    </Tip>
  </Tab>
</Tabs>

---

### Estructura de archivos

Los archivos de subagentes personalizados usan formato Markdown con frontmatter de YAML:

```markdown
---
name: subagent-name
description: Brief description of specialization
---
# System Prompt

[Behavior definition, personality, interpretation style]

Invocation policy (strict): Only run if explicitly requested.

When to use:
- Specific scenario 1
- Specific scenario 2

When NOT to use:
- Avoid scenario 1
- Avoid scenario 2
```

**Frontmatter de YAML (obligatorio):**
- `name`: Identificador del subagente que se usa en las menciones con @
- `description`: Descripción de una línea del propósito del subagente

**Sección del prompt de sistema:**
Contenido Markdown que define el comportamiento del subagente:
- Personalidad y tono
- Forma de interpretar las tareas
- Preferencias de formato de salida
- Principios para la toma de decisiones

**Política de invocación (obligatoria):**
```
Invocation policy (strict|flexible): Policy description
```
- **strict:** Invocar solo cuando el usuario lo solicite explícitamente
- **flexible:** Permitir la invocación automática según los patrones de la tarea

**Pautas de uso:**
```
When to use the [name] agent:
- Bullet list of scenarios for invocation

When NOT to use:
- Bullet list of scenarios to avoid
```

---

### Ejemplos de subagentes personalizados

<Tabs>
  <Tab title="Documentación de API">
    ```markdown
    ---
    name: api-documenter
    description: Generates comprehensive API documentation from code
    ---
    # System Prompt

    You are an API documentation specialist.

    Documentation approach:
    - Extract endpoints, parameters, and responses from code
    - Generate OpenAPI/Swagger specifications
    - Include usage examples and error codes
    - Document authentication requirements

    Output format:
    - Markdown tables for endpoints
    - Code examples in multiple languages
    - Authentication flow diagrams

    Invocation policy (strict): Only run when explicitly requested.

    When to use:
    - User requests API documentation generation
    - Need to document REST/GraphQL endpoints
    - Creating developer guides

    When NOT to use:
    - Inline code comments
    - User-facing documentation
    ```

    **Caso de uso:** Genera automáticamente documentación completa de API analizando los controladores de rutas, los controladores y las definiciones de esquema.
  </Tab>

  <Tab title="Migración de base de datos">
    ```markdown
    ---
    name: migration-reviewer
    description: Reviews database migrations for safety and correctness
    ---
    # System Prompt

    You are a database migration safety specialist.

    Review checklist:
    - Check for destructive operations (DROP, DELETE without WHERE)
    - Verify reversible migrations (up/down compatibility)
    - Identify potential data loss scenarios
    - Validate index creation strategies
    - Check for blocking operations on large tables

    Risk assessment:
    - Categorize migrations: low/medium/high risk
    - Recommend staging environment testing for high-risk changes
    - Suggest rollback procedures

    Invocation policy (strict): Only run when explicitly requested.

    When to use:
    - User creates or modifies migration files
    - Pre-deployment migration review
    - Investigating migration failures

    When NOT to use:
    - Schema design from scratch
    - Query optimization
    ```

    **Caso de uso:** Evita incidentes en producción identificando operaciones de base de datos arriesgadas antes del despliegue.
  </Tab>

  <Tab title="Accesibilidad">
    ```markdown
    ---
    name: a11y-auditor
    description: Audits frontend code for accessibility compliance
    ---
    # System Prompt

    You are an accessibility compliance specialist (WCAG 2.1 Level AA).

    Audit criteria:
    - Semantic HTML structure
    - ARIA labels and roles
    - Keyboard navigation support
    - Color contrast ratios
    - Screen reader compatibility
    - Focus management

    Report format:
    - Issues categorized by severity (critical/major/minor)
    - WCAG guideline references
    - Code examples showing fixes
    - Testing recommendations

    Invocation policy (flexible): May auto-invoke for UI component reviews.

    When to use:
    - User creates/modifies UI components
    - Pre-deployment accessibility checks
    - Compliance audits

    When NOT to use:
    - Backend API code
    - Build configuration files
    ```

    **Caso de uso:** Garantiza que las aplicaciones web cumplan los estándares de accesibilidad antes del despliegue.
  </Tab>
</Tabs>

---

### Casos de uso comunes de los subagentes personalizados

<Tabs>
  <Tab title="Experiencia en un dominio">
    **Experiencia específica de un dominio**

    - **Cálculos financieros:** Subagente especializado en cumplimiento tributario y normativa financiera
    - **Cumplimiento de HIPAA en salud:** Revisa el código para verificar los estándares de manejo de datos de pacientes
    - **Criptografía:** Analiza las implementaciones de seguridad frente a las mejores prácticas

    Ideal para sectores con requisitos de conocimiento especializado y restricciones regulatorias.
  </Tab>

  <Tab title="Flujos de trabajo de equipo">
    **Flujos de trabajo específicos del equipo**

    - **Aplicador de estilo de código:** Comprueba el cumplimiento de estándares de codificación específicos del equipo más allá de las reglas del linter
    - **Consistencia de la documentación:** Garantiza que la documentación siga las plantillas y el tono del equipo
    - **Auditor de dependencias:** Supervisa el uso de paquetes de terceros frente a listas aprobadas

    Aplica las convenciones del equipo y mantiene la consistencia en los proyectos colaborativos.
  </Tab>

  <Tab title="Pila tecnológica">
    **Especialistas en la pila tecnológica**

    - **Optimizador de rendimiento de React:** Identifica renderizados innecesarios y oportunidades de memoización
    - **Optimizador de consultas SQL:** Analiza y mejora el rendimiento de las consultas de base de datos
    - **Revisor de configuración de Docker:** Valida las mejores prácticas de contenedorización

    Conocimiento profundo de frameworks, lenguajes o tecnologías de infraestructura específicos.
  </Tab>

  <Tab title="Aseguramiento de la calidad">
    **Aseguramiento de la calidad**

    - **Analizador de cobertura de pruebas:** Identifica rutas de código sin pruebas y sugiere escenarios de prueba
    - **Revisor del manejo de errores:** Garantiza un manejo de excepciones completo
    - **Aplicador de estándares de registro:** Verifica las prácticas de registro para depuración y supervisión

    Comprobaciones de calidad automatizadas para mantener los estándares de fiabilidad y mantenibilidad del código.
  </Tab>

  <Tab title="Cumplimiento">
    **Cumplimiento y seguridad**

    - **Verificador de cumplimiento del GDPR:** Revisa el manejo de datos para los requisitos de privacidad
    - **Escáner de vulnerabilidades de seguridad:** Detección especializada de problemas específicos de cada framework
    - **Auditor de cumplimiento de licencias:** Comprueba la compatibilidad de licencias de las dependencias

    Garantiza el cumplimiento de los requisitos legales, de seguridad y de licencias antes del despliegue.
  </Tab>

  <Tab title="Específico del proyecto">
    **Necesidades específicas del proyecto**

    - **Modernizador de código heredado:** Identifica patrones obsoletos y sugiere alternativas modernas
    - **Asistente de migración:** Guía la actualización de versiones de framework o lenguaje
    - **Aplicador de presupuesto de rendimiento:** Supervisa los tamaños de bundle y los tiempos de carga frente a umbrales

    Soluciones personalizadas adaptadas a los desafíos únicos del proyecto y a la gestión de la deuda técnica.
  </Tab>
</Tabs>

---

## Configuración del comportamiento de los subagentes (patrón AGENTS.md)

Aunque AGENTS.md sirve principalmente como archivo de reglas del proyecto (consulta [Sistemas de reglas](/docs/verdent-for-vscode/agents-rules/rule-systems)), también puede definir el comportamiento de los subagentes específico del proyecto.

### Principios de diseño del prompt de sistema

**Sé específico y directivo:**
Define expectativas de comportamiento exactas en lugar de orientación general.

<Tip>
Sé específico y directivo en los prompts de sistema; "Perfila antes de optimizar" es mejor que "Intenta optimizar cuando sea posible".
</Tip>

**Bien:**
```markdown
Analysis approach:
- Profile before optimizing
- Focus on algorithmic improvements
- Provide before/after benchmarks
```

**Evita:**
```markdown
Try to optimize code when possible
```

**Establece personalidad y tono:**
Crea "personas" distintas optimizadas para propósitos específicos:

```markdown
You are a performance optimization specialist.
```

**Define principios para la toma de decisiones:**
Orienta cómo debe abordar el subagente las concesiones:

```markdown
When suggesting optimizations:
1. Measure first, optimize second
2. Prioritize readability over micro-optimizations
3. Only suggest changes with >10% performance improvement
```

**Especifica el formato de salida:**
Controla cómo se presentan los resultados:

```markdown
Output format:
- Markdown tables for endpoints
- Code examples in multiple languages
- Authentication flow diagrams
```

---

### Configuración de la política de invocación

**Política estricta:**
```markdown
Invocation policy (strict): Only run when explicitly requested.
```

Úsala cuando:
- El subagente maneja operaciones sensibles (revisiones de seguridad, migraciones de base de datos)
- El usuario debe decidir conscientemente cuándo invocarlo
- La invocación automática podría resultar disruptiva

**Política flexible:**
```markdown
Invocation policy (flexible): May auto-invoke based on task patterns.
```

Úsala cuando:
- El subagente aporta contexto útil sin causar disrupción
- La invocación automática mejora la eficiencia del flujo de trabajo
- Los patrones de la tarea son claramente identificables

**Mejores prácticas para las pautas de uso:**

**Sección "Cuándo usarlo":**
- Sé específico sobre los escenarios desencadenantes
- Incluye prompts de ejemplo que deberían invocar al subagente
- Describe las características de la tarea que coinciden con la especialización del subagente

**Sección "Cuándo NO usarlo":**
- Enumera explícitamente las exclusiones para evitar invocaciones inapropiadas
- Aclara los límites con subagentes relacionados
- Evita la expansión del alcance

---

## Enrutamiento y despacho de tareas

El sistema multisubagente de Verdent permite la ejecución de tareas en paralelo con enrutamiento automático y coordinación entre agentes especializados.

### Componentes de la arquitectura

**Agente principal (orquestador):**
El agente principal analiza las solicitudes del usuario, descompone las tareas complejas y delega el trabajo especializado a los subagentes apropiados. Mantiene el contexto de la conversación y coordina los resultados de los subagentes.

**Grupo de subagentes:**
Conjunto de subagentes disponibles (tanto predeterminados como personalizados) que pueden invocarse de forma automática o manual. Cada uno opera de forma independiente con un contexto aislado.

**Enrutamiento automático de tareas:**
Cuando el agente principal detecta patrones de tarea que coinciden con las especializaciones de los subagentes, despacha el trabajo automáticamente:
- Preguntas de exploración de la base de código → subagente Explorer
- Solicitudes de revisión de seguridad → subagente Code-reviewer
- Comprobaciones de validación → subagente Verifier

**Ejecución en paralelo:**
Varios subagentes pueden ejecutarse de forma concurrente en operaciones complejas. Ejemplo: el subagente Explorer busca en la base de código mientras el Code-reviewer analiza la seguridad simultáneamente, entregando resultados más rápido.

<Note>
La ejecución de subagentes en paralelo acelera las tareas complejas: Explorer puede buscar mientras Code-reviewer analiza simultáneamente.
</Note>

**Consolidación de resultados:**
Las salidas de los subagentes se devuelven al agente principal, que sintetiza los resultados y presenta respuestas unificadas al usuario.

<Info>
La información detallada sobre la programación de la ejecución de subagentes, la prioridad, los límites máximos de concurrencia, el manejo de errores y la asignación de recursos está actualmente en desarrollo. Contacta con el soporte para preguntas arquitectónicas específicas.
</Info>

---

## Supervisión de subagentes

Realiza un seguimiento del uso y el rendimiento de los subagentes a través de la vista de chat, donde Verdent muestra las operaciones y los resultados de los subagentes.

### Métodos de supervisión

**Indicadores en la vista de chat:**
- Las invocaciones de subagentes aparecen en el historial de la conversación
- Los indicadores de progreso muestran cuándo se están ejecutando los subagentes
- Los resultados identifican explícitamente qué subagente produjo la salida

**Sección de salidas de subagentes:**
Pantalla dedicada para:
- Resultados de la ejecución de tareas de los subagentes
- Indicadores de progreso de las tareas en paralelo
- Resúmenes consolidados cuando las tareas se completan

**Atribución de respuestas:**
Verdent atribuye los hallazgos a subagentes específicos en las respuestas, dejando claro qué agente realizó cada análisis o búsqueda.

### Visibilidad y transparencia

**Transparencia de operaciones:**
Verdent muestra:
- Qué subagente se invocó
- Si la invocación fue automática o manual
- El motivo de la delegación de la tarea
- El estado de ejecución del subagente

**Verificación de la especificación manual:**
Cuando usas menciones con @, Verdent confirma que el subagente especificado se está encargando de la tarea, garantizando que se respeten tus preferencias de enrutamiento.

<Info>
Las funciones de supervisión mejoradas, que incluyen registros de ejecución detallados, métricas de rendimiento (tiempo de ejecución, uso de tokens), seguimiento histórico de invocaciones, ajustes de visibilidad de la actividad y paneles de análisis de uso, están actualmente en desarrollo.
</Info>

---

## Consulta también

<CardGroup cols={2}>
  <Card title="Sistemas de reglas y orientación del comportamiento" icon="sliders" href="/docs/verdent-for-vscode/agents-rules/rule-systems">
    Configura el comportamiento de Verdent mediante reglas de usuario, reglas de proyecto y reglas de plan
  </Card>
  <Card title="Referencia de herramientas" icon="wrench" href="/docs/verdent-for-vscode/advanced-features/tool-reference">
    Referencia completa de las herramientas y capacidades disponibles
  </Card>
</CardGroup>
