Saltar al contenido principal

Documentation Index

Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt

Use this file to discover all available pages before exploring further.

Los subagentes permiten que el agente principal cree trabajadores independientes para encargarse de subtareas. Un subagente comparte herramientas y el contexto de la base de código con el agente principal, pero opera en su propia cadena de conversación — no hereda el historial de conversación del agente principal. Esto resulta útil para tareas que se benefician de un trabajo específico e independiente — como explorar una base de código, ejecutar pruebas o implementar una funcionalidad en paralelo. Puedes pedirle al agente que use subagentes de forma explícita (p. ej., “investiga cómo funciona la autenticación en un subagente”), o el agente puede decidir delegar por su cuenta cuando determine que una tarea se beneficiaría de un trabajo independiente. Según nuestras mediciones, los subagentes mejoran el rendimiento general de programación y reducen el costo.

Cómo funcionan los subagentes

Cuando el agente genera un subagente, selecciona uno de los perfiles de subagente disponibles y elige si el subagente debe ejecutarse en primer plano o en segundo plano. Los subagentes pueden ejecutarse en dos modos:

Primer plano

Se ejecuta directamente en tu sesión. El agente principal se pausa y espera a que el subagente termine antes de continuar. Puedes aprobar o rechazar llamadas a herramientas a medida que aparecen.

Segundo plano

Se ejecuta en paralelo mientras el agente principal sigue trabajando. El agente principal recibe una notificación automáticamente cuando el subagente termina. Las herramientas no aprobadas se rechazan automáticamente.
No ves directamente la salida en bruto del subagente. Cuando un subagente termina, el agente principal lee el resultado y resume los hallazgos clave y las acciones para ti.

Perfiles de subagente

Cada subagente se ejecuta con un perfil específico que determina sus capacidades. Hay dos perfiles predefinidos:
PerfilDescripciónAcceso a herramientas
subagent_exploreExploración e investigación de la base de código en modo de solo lecturaHerramientas de solo lectura para la base de código, además de búsqueda web; no puede editar archivos ni obtener URL arbitrarias (tanto en primer plano como en segundo plano)
subagent_generalTareas generales, incluidos cambios de códigoAcceso completo a las herramientas (primer plano) o solo a herramientas preaprobadas (segundo plano)
El agente elige automáticamente el perfil adecuado según la tarea. Los subagentes de exploración son ideales para investigar y comprender, mientras que los subagentes generales pueden realizar cambios.
También puedes definir tus propios perfiles de subagente personalizados; consulta Subagentes personalizados más abajo.

Permisos de herramientas

El funcionamiento de los permisos de herramientas depende de si el subagente se ejecuta en primer plano o en segundo plano:
  • Los subagentes en primer plano se comportan como el agente principal: se te pedirá que apruebes o rechaces las llamadas a herramientas, como de costumbre.
  • Los subagentes en segundo plano heredan los permisos de herramientas que ya hayas concedido durante la sesión actual. Cualquier herramienta que no se haya aprobado previamente se rechaza automáticamente. Los subagentes en segundo plano no pueden solicitarte permisos nuevos.
Si un subagente en segundo plano falla porque se rechazó una herramienta necesaria, puedes reanudarlo en primer plano para aprobar los permisos necesarios. Consulta Reanudar subagentes más abajo.

Supervisión de subagentes

Indicador de subagente

Cuando hay subagentes en segundo plano en ejecución, aparece un indicador debajo del área de entrada que muestra su estado. Puede ir al indicador pulsando desde el área de entrada y, a continuación, pulsar Enter para abrir el panel de subagentes. Cuando hay un subagente en primer plano en ejecución, el indicador giratorio muestra “Subagente en ejecución · Ctrl+B para ejecutar en segundo plano”.

Panel de subagentes

El panel de subagentes te permite ver y gestionar todos los subagentes activos y finalizados. Muestra el perfil, el título, el estado, el tiempo transcurrido y el número de llamadas a herramientas de cada subagente.

Cambio entre primer plano y segundo plano

Puedes mover subagentes entre primer plano y segundo plano mientras se ejecutan:
  • Pasar un subagente en primer plano a segundo plano: Pulsa Ctrl+B mientras se está ejecutando un subagente en primer plano. El subagente seguirá trabajando en segundo plano y el agente principal se reanudará.
  • Pasar un subagente en segundo plano a primer plano: Abre el panel de subagentes y pulsa f sobre un subagente en segundo plano que esté en ejecución. La salida del subagente se mostrará en línea.
Cuando mueves un subagente a segundo plano, la llamada a la herramienta del agente principal ya habrá finalizado, por lo que el agente principal continúa de forma independiente. El resultado del subagente no volverá a incorporarse al pipeline actual del agente principal, pero recibirás una notificación cuando termine.

Cancelar subagentes

Puedes cancelar un subagente en ejecución de dos formas:
  1. Desde el panel de subagentes: Abre el panel y pulsa x sobre un subagente en ejecución.
  2. Subagente en primer plano: Pulsa Ctrl+C o Esc para cancelar el subagente en primer plano que se está ejecutando en ese momento.

Reanudar subagentes

Los subagentes cancelados, que fallaron o que ya se completaron pueden reanudarse con un nuevo prompt. Puedes pedirle al agente que reanude un subagente, y continuará donde lo dejó. Los subagentes reanudados siempre se ejecutan en primer plano, por lo que puedes aprobar cualquier llamada a herramientas que se haya denegado anteriormente. Esto es especialmente útil cuando:
  • Un subagente en segundo plano falló porque se denegó una herramienta necesaria; reanúdalo en primer plano para conceder los permisos necesarios.
  • Un subagente se completó, pero quieres que haga trabajo de seguimiento adicional en función de sus hallazgos.
  • Un subagente se canceló antes de tiempo y quieres que continúe.

Profundidad de anidación

De forma predeterminada, los subagentes no pueden crear sus propios subagentes; solo el agente raíz puede hacerlo. Las herramientas de subagentes (run_subagent y read_subagent) están deshabilitadas dentro de un subagente para evitar una anidación sin límites. Sin embargo, los perfiles personalizados de subagentes pueden habilitar la creación anidada configurando el campo max-nesting en su frontmatter. Este valor reemplaza la profundidad máxima predeterminada y permite que los subagentes creen subagentes secundarios siempre que el árbol se mantenga dentro de ese límite. Por ejemplo, max-nesting: 3 permite la siguiente cadena:
Root agent (depth 0)
└── Custom subagent (depth 1) — puede generar hijos
    └── Child subagent (depth 2) — puede generar hijos
        └── Grandchild subagent (depth 3) — no puede generar hijos (límite de profundidad alcanzado)
Los subagentes anidados pueden incrementar significativamente el costo. Cada nivel de anidamiento genera agentes adicionales con sus propias ventanas de contexto y llamadas de inferencia. Use esta función con criterio.

Subagentes personalizados

Los subagentes personalizados son experimentales. El formato, el comportamiento y las opciones de configuración pueden cambiar en versiones futuras.
Además de los perfiles predefinidos subagent_explore y subagent_general, puedes definir tus propios perfiles de subagentes personalizados. Los subagentes personalizados te permiten crear subagentes especializados con sus propios prompts de sistema, restricciones de herramientas, anulaciones del modelo y permisos, adaptados a tareas específicas de tu flujo de trabajo.

Crear un subagente personalizado

Los subagentes personalizados se definen como archivos AGENT.md en un directorio con nombre propio dentro de agents/. El nombre del directorio pasa a ser el identificador del perfil.
.devin/agents/
└── reviewer/
    └── AGENT.md
También se admite:
.agents/agents/
└── reviewer/
    └── AGENT.md

Formato de AGENT.md

Un archivo AGENT.md usa el mismo frontmatter YAML que las skills, seguido del prompt del sistema del subagente:
---
name: reviewer
description: Reviews code changes for correctness and style
model: sonnet
allowed-tools:
  - read
  - grep
  - glob
  - exec
permissions:
  allow:
    - Exec(git diff)
    - Exec(git log)
  deny:
    - write
    - edit
---

You are a code review subagent. Your job is to review code changes
thoroughly and report findings back to the parent agent.

Focus on:
1. Correctness — logic errors, edge cases, off-by-one mistakes
2. Security — potential vulnerabilities
3. Style — consistency with the rest of the codebase
4. Performance — obvious inefficiencies

Always cite specific file paths and line numbers in your findings.

Campos del frontmatter

CampoTipoPredeterminadoDescripción
namestringnombre del directorioIdentificador del perfil (no debe entrar en conflicto con los perfiles integrados)
descriptionstringningunoSe muestra al agente al seleccionar un perfil
modelstringmodelo predeterminado del subagenteAnula el modelo que usa este subagente
allowed-toolslisttodas las herramientasRestringe qué herramientas puede usar el subagente
permissionsobjectheredarAnulaciones de permisos (allow, deny, ask)
max-nestingintegerningunoAnula la profundidad máxima de anidamiento, lo que permite que este subagente genere sus propios subagentes

Cómo se usan los subagentes personalizados

Una vez definidos, los perfiles de subagentes personalizados aparecen junto a los predefinidos. El agente ve una descripción de cada perfil disponible y elige el más adecuado al crear un subagente. También puedes pedirle al agente que use un perfil específico por su nombre (p. ej., “revisa este código con el subagente revisor”). Los perfiles de subagentes personalizados que entren en conflicto con el nombre de un perfil predefinido (p. ej., subagent_explore, subagent_general) se omiten y se muestra una advertencia.

Importación desde otras herramientas

Los subagentes personalizados también se pueden importar desde el formato de agente de Claude Code:
OrigenPatrón de archivo
.claude/agents/*.mdCada archivo .md se convierte en un perfil de subagente
Los archivos de agente de Claude Code usan tools en lugar de allowed-tools en el frontmatter. Ambos formatos se admiten automáticamente.

Ejemplos

Agente de investigación de solo lectura

---
name: researcher
description: Deep codebase research and architecture analysis
model: sonnet
allowed-tools:
  - read
  - grep
  - glob
---

You are a research subagent specializing in codebase exploration.

Your job is to thoroughly investigate a topic and report back with:
- Relevant files and their purposes
- Architecture patterns and dependencies
- Code flow traces with specific line references

Be exhaustive — search broadly and follow references.

Agente de ejecución de pruebas

---
name: test-runner
description: Ejecuta pruebas e informa los resultados
allowed-tools:
  - read
  - grep
  - glob
  - exec
permissions:
  allow:
    - Exec(npm run test)
    - Exec(cargo nextest)
    - Exec(pytest)
---

Eres un subagente ejecutor de pruebas. Ejecuta los conjuntos de prueba relevantes e informa:
- Qué pruebas pasaron y cuáles fallaron
- Mensajes de error y stack traces
- Sugerencias para corregir los failures