Gemini CLI incorpora funciones de subagentes
(developers.googleblog.com)- Gemini CLI comenzó a dar soporte oficial a una arquitectura multiagente que puede delegar tareas complejas y repetitivas a subagentes especializados
- Cada subagente se ejecuta en un entorno aislado con su propia ventana de contexto independiente, instrucciones de sistema personalizadas y un conjunto de herramientas dedicado
- Los subagentes personalizados se definen con archivos Markdown y YAML frontmatter, y pueden compartirse con el equipo a nivel global o de proyecto
- Es posible ejecutar varios subagentes en paralelo, lo que reduce de forma importante el tiempo total requerido para múltiples tareas como investigación o refactorización
- Junto con los agentes integrados predeterminados (generalist, cli_help, codebase_investigator), se puede delegar trabajo explícitamente mediante la sintaxis @agent, lo que amplía la escalabilidad de los flujos de trabajo de desarrollo basados en CLI
Concepto de subagentes y ventajas clave
- Los subagentes son agentes especializados que trabajan junto con la sesión principal de Gemini CLI. Cuando reciben una tarea compleja, Gemini CLI actúa como un orquestador estratégico y delega subtareas al subagente más adecuado
- Cada subagente cuenta con sus propios tools, servidores MCP, instrucciones de sistema y ventana de contexto, y se ejecuta de forma completamente aislada
- Toda la ejecución del subagente, incluida la realización de decenas de llamadas a herramientas, búsquedas de archivos y ejecución de pruebas, se integra en una sola respuesta y se devuelve al agente principal
- Esto evita que se llene la ventana de contexto principal y mantiene la velocidad y la eficiencia de costos en interacciones posteriores
- Tres ventajas principales:
- El agente principal puede concentrarse en el objetivo general, la toma de decisiones y la respuesta final
- Se puede acelerar el trabajo ejecutando subagentes especializados en paralelo para investigación, exploración de código, análisis, pruebas y más
- Como los subagentes devuelven resúmenes o respuestas formateadas, se evita el context rot y la context pollution en la sesión principal
Creación de subagentes personalizados
- Los subagentes personalizados se definen en archivos Markdown (
.md) usando YAML frontmatter - Si se colocan en
~/.gemini/agents, se registran como agentes globales para flujos de trabajo personales; si se hace commit en.gemini/agentsdentro del repositorio, se pueden compartir con el equipo a nivel de proyecto - También es posible empaquetarlos como parte de una extensión incluyendo archivos de definición de agentes en el directorio
agents/de Gemini CLI extensions - Configuración de ejemplo del agente
frontend-specialist:- En el frontmatter se definen
name,description,tools(read_file, grep_search, glob, list_directory, web_fetch, google_web_search),model: inherit, entre otros - En las instrucciones de sistema se le asigna el rol de Senior Frontend Specialist y UI/UX Architect
- Como principios clave se especifican diseño de arquitectura modular, optimización de rendimiento basada en Core Web Vitals y cumplimiento de accesibilidad WCAG 2.1+
- Las guías incluyen priorizar APIs nativas del navegador, diseño de componentes Atomic, retroalimentación visual por estado (carga, skeleton, error, estado vacío, éxito), Progressive Enhancement y diseño centrado en la mantenibilidad
- El rol de este agente se limita al análisis y a las sugerencias de mejora, y no modifica código directamente
- En el frontmatter se definen
- Si el archivo se coloca en
.gemini/agents/frontend-specialist.md, Gemini CLI reconoce de inmediato al nuevo especialista
Ejecución en paralelo
- Gemini CLI soporta la ejecución paralela de subagentes, lo que permite ejecutar al mismo tiempo varios subagentes o múltiples instancias del mismo subagente
- Cuando se necesita investigar 5 temas distintos o refactorizar varios componentes individuales, se pueden despachar múltiples agentes al mismo tiempo, reduciendo considerablemente el tiempo total
- Ejemplo de solicitud explícita: "Run the frontend-specialist on each package in parallel."
- Consideraciones:
- Al usar subagentes en paralelo para trabajos de edición masiva de código, pueden producirse conflictos y riesgo de sobrescritura entre agentes
- Como las solicitudes se envían al mismo tiempo durante la ejecución en paralelo, se puede llegar más rápido a los límites de uso (usage limits)
Subagentes integrados y uso
- Gemini CLI incluye tres subagentes integrados por defecto:
- generalist: agente de propósito general con acceso a todas las herramientas, adecuado para tareas intensivas por turno como refactorización por lotes o ejecución de comandos con salidas voluminosas (funciona como una copia del agente normal de Gemini CLI usada como subagente)
- cli_help: agente experto en Gemini CLI, con acceso directo a la documentación de Gemini CLI para responder preguntas sobre sus funciones
- codebase_investigator: especializado en exploración del código base, mapeo de arquitectura, análisis de causa raíz de bugs y comprensión de dependencias en todo el sistema
- Gemini CLI realiza enrutamiento automático basándose en la description de cada subagente, pero también se puede delegar explícitamente una tarea a un agente específico usando la sintaxis @agent
- Ejemplo: pedir a
@frontend-specialistque revise la app y marque oportunidades de mejora - Ejemplo: pedir a
@generalistque actualice los encabezados de licencia de todo el proyecto - Ejemplo: pedir a
@codebase_investigatorque mapee el flujo de autenticación
- Ejemplo: pedir a
- Al colocar el nombre del subagente después del símbolo @, la tarea se procesa dentro de la ventana de contexto aislada de ese agente
- Para ver todos los subagentes configurados actualmente, ejecuta el comando
/agentsdentro de Gemini CLI
1 comentarios
Estaría bueno que Gemini CLI al menos funcionara bien, pero siempre se anda colgando.