🤖 Agentes y Subagentes en OpenCode
Una de las funcionalidades más potentes de OpenCode es su sistema de agentes.
Más allá del agente principal que utilizamos habitualmente para programar, OpenCode incorpora una arquitectura que permite delegar tareas específicas a distintos agentes especializados.
Esto hace posible trabajar de forma más eficiente, aprovechar mejor el contexto disponible y dividir problemas complejos en tareas independientes.
🧠 Los agentes principales de OpenCode
OpenCode incorpora varios agentes principales integrados.
Los dos más importantes son:
🔨 Build
Es el agente principal por defecto.
Está diseñado para:
- Desarrollar código
- Utilizar herramientas de edición
- Modificar archivos
- Ejecutar acciones dentro del proyecto
Es el agente que utilizaremos la mayor parte del tiempo.
📋 Plan
Es una variante más restringida.
Su objetivo es:
- Analizar proyectos
- Elaborar planes
- Investigar posibles soluciones
- Evitar modificaciones directas sobre el código
Cuando utilizamos Plan, el agente se centra en pensar y organizar antes de actuar.
👀 Existen otros agentes ocultos
Internamente OpenCode utiliza otros agentes especiales como:
- Compact
- Title
- Resume
Estos agentes son utilizados por el sistema para tareas internas y normalmente no interactuamos directamente con ellos.
Por eso no suelen aparecer dentro de la interfaz principal.
🚀 Qué son los subagentes
Además de los agentes principales, OpenCode permite utilizar subagentes.
Los subagentes son agentes especializados que pueden recibir tareas concretas mientras el agente principal continúa trabajando.
Algunos ejemplos integrados son:
- Explore
- General
Cada uno tiene una responsabilidad diferente.
🔍 El subagente Explore
Explore está pensado para inspeccionar elementos concretos del proyecto.
Por ejemplo:
- Buscar configuraciones
- Analizar archivos específicos
- Revisar propiedades CSS
- Encontrar información técnica muy localizada
Cuando delegamos una tarea a Explore, OpenCode crea un hilo independiente para realizar la investigación.
Mientras tanto, podemos seguir trabajando normalmente.
🌐 El subagente General
General tiene un enfoque más amplio.
Está pensado para:
- Investigar soluciones
- Analizar arquitectura
- Evaluar estrategias
- Revisar el proyecto completo
En lugar de centrarse en un detalle concreto, analiza el contexto global para ofrecer recomendaciones más completas.
⚙️ Crear agentes personalizados
Una de las características más interesantes de OpenCode es que podemos crear nuestros propios agentes.
Los agentes personalizados se definen dentro de:
.opencode/
└── agents/
Cada agente puede tener:
- Descripción
- Comportamiento específico
- Herramientas permitidas
- Modelo asignado
- Temperatura
- Restricciones de permisos
Esto permite construir agentes especializados para distintas tareas.
🔐 Ejemplo: agente de seguridad
Un agente de seguridad podría encargarse de:
- Detectar vulnerabilidades
- Revisar configuraciones inseguras
- Analizar riesgos
- Realizar auditorías
Además, se le pueden restringir los permisos para impedir modificaciones en el proyecto.
Por ejemplo:
- Puede leer archivos
- Puede analizar código
- No puede editar
- No puede ejecutar acciones peligrosas
👨💻 Ejemplo: agente Reviewer
Otro caso habitual es un agente revisor de código.
Su misión puede ser:
- Detectar bugs
- Identificar regresiones
- Revisar cambios pendientes
- Analizar mantenibilidad
Sin modificar el código.
Incluso es posible limitar los comandos que puede utilizar.
Por ejemplo:
git statusgit diffgit log
Cualquier otra operación requeriría autorización.
🎯 Cada agente tiene permisos propios
Los permisos son una parte fundamental del sistema.
Cada agente puede configurarse para:
- Leer archivos
- Editar archivos
- Ejecutar comandos
- Utilizar herramientas concretas
- Acceder a determinados recursos
Esto permite crear agentes altamente especializados y seguros.
⚡ Ejecución paralela de agentes
Una de las capacidades más potentes es la ejecución en paralelo.
En lugar de realizar todas las tareas de forma secuencial, OpenCode puede coordinar múltiples agentes simultáneamente.
Por ejemplo:
- Explore analiza el CSS
- General evalúa riesgos de rendimiento
- Reviewer revisa cambios pendientes
- Security busca vulnerabilidades
Todo al mismo tiempo.
🎼 El agente principal como orquestador
Cuando varios subagentes trabajan en paralelo, el agente principal actúa como un coordinador.
Su función es:
- Asignar tareas
- Esperar resultados
- Consolidar información
- Generar un plan final
De esta forma se obtiene una visión global sin perder especialización.
🧩 Por qué los subagentes son tan importantes
Los modelos de IA tienen una limitación importante:
El contexto disponible es finito.
Si un único agente intenta resolver demasiadas cosas al mismo tiempo, parte de ese contexto se desperdicia.
Los subagentes permiten dividir el trabajo.
Cada uno se concentra únicamente en la tarea para la que fue diseñado.
Esto consigue:
- Mejor aprovechamiento de tokens
- Mayor precisión
- Menos ruido contextual
- Resultados más especializados
📋 Consolidación de resultados
Una vez que todos los subagentes finalizan sus tareas, OpenCode recopila toda la información obtenida.
Con esos resultados genera:
- Recomendaciones
- Estrategias de implementación
- Orden de ejecución
- Posibles riesgos
- Mensajes sugeridos para commits
Todo ello basado en el trabajo conjunto de los distintos agentes.
📌 Ideas clave de esta clase
Quédate con estos conceptos:
- OpenCode incluye agentes principales integrados
- Build es el agente de desarrollo por defecto
- Plan se utiliza para analizar y planificar
- Existen subagentes especializados como Explore y General
- Los subagentes trabajan en hilos independientes
- Es posible crear agentes personalizados
- Cada agente puede tener permisos específicos
- Se pueden restringir herramientas y comandos
- Los agentes pueden ejecutarse en paralelo
- El agente principal actúa como orquestador
- Dividir tareas mejora el uso del contexto disponible
🚀 Lo siguiente: especializar tu equipo de agentes
Ahora que conoces cómo funcionan los agentes y subagentes en OpenCode, puedes comenzar a construir tus propios especialistas.
Crear agentes enfocados en seguridad, revisión de código, documentación o arquitectura te permitirá automatizar flujos complejos y aprovechar mucho mejor el potencial de la IA dentro de tus proyectos.
💡 Tip: En lugar de crear un único agente que haga de todo, diseña varios agentes especializados con permisos limitados. Obtendrás respuestas más precisas, un mejor aprovechamiento del contexto y un flujo de trabajo mucho más escalable.