6 puntos por GN⁺ 14 일 전 | 1 comentarios | Compartir por WhatsApp
  • 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/agents dentro 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
  • 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-specialist que revise la app y marque oportunidades de mejora
    • Ejemplo: pedir a @generalist que actualice los encabezados de licencia de todo el proyecto
    • Ejemplo: pedir a @codebase_investigator que mapee el flujo de autenticación
  • 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 /agents dentro de Gemini CLI

1 comentarios

 
chlrhdmltkfkd 14 일 전

Estaría bueno que Gemini CLI al menos funcionara bien, pero siempre se anda colgando.