Gemini Conductor: La Nueva Herramienta de Google para Arreglar la Codificación con IA

AAI LABS
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Si has estado siguiendo el canal,
00:00:01debes estar familiarizado con los diferentes tipos de flujos de trabajo de ingeniería de contexto que hemos cubierto aquí.
00:00:06Bueno, Google también lanzó otro.
00:00:08Desearía poder decir que es mejor que otros flujos de trabajo.
00:00:11Pero la verdad es que no lo es.
00:00:12Y hay muchos problemas con esto.
00:00:14Incluso si argumentas que es mejor para el ecosistema Gemini,
00:00:16sigue sin ser bueno.
00:00:17Antes de profundizar en por qué no había necesidad de lanzar esto,
00:00:20tomemos un breve descanso para hablar sobre Automata.
00:00:22Después de enseñar a millones de personas cómo construir con IA,
00:00:25comenzamos a implementar estos flujos de trabajo nosotros mismos.
00:00:28Descubrimos que podíamos construir mejores productos más rápido que nunca.
00:00:31Ayudamos a dar vida a tus ideas,
00:00:33ya sean aplicaciones o sitios web.
00:00:34Tal vez has visto nuestros videos pensando: tengo una gran idea pero no tengo un equipo técnico para construirla.
00:00:39Ahí es exactamente donde entramos nosotros..
00:00:42Piensa en nosotros como tu copiloto técnico.
00:00:44Aplicamos los mismos flujos de trabajo que hemos enseñado a millones directamente a tu proyecto,
00:00:49convirtiendo conceptos en soluciones reales y funcionales sin los dolores de cabeza de contratar o gestionar un equipo de desarrollo.
00:00:55¿Listo para acelerar tu idea hacia la realidad?
00:00:57Contáctanos en hello@automata.dev..
00:00:59Ahora,
00:01:00antes de explicar la razón de por qué esto es simplemente otro intento pobre de un flujo de trabajo de ingeniería de contexto,
00:01:06primero profundicemos en cómo funciona realmente Conductor.
00:01:08Este es el artículo y tendré un enlace para esto en la descripción a continuación.
00:01:12Al final,
00:01:13obtendrás un comando para instalar esto como una extensión en Gemini CLI.
00:01:16Para aquellos que no lo sepan,
00:01:17las extensiones son conjuntos de comandos,
00:01:19MCPs y otras reglas que se agrupan y se convierten en un paquete que las personas pueden alojar y compartir con otros.
00:01:25Claude también tiene algo similar llamado plugins.
00:01:27Así que para iniciar el flujo de trabajo,
00:01:29usas el comando y se instala.
00:01:30Después de la instalación,
00:01:32puedes usar sus comandos slash en Conductor.
00:01:34Obtendrás estos cinco comandos que controlan Conductor y cómo usas el flujo de trabajo.
00:01:38Ahora,
00:01:38el primer comando que vas a usar es el comando de configuración..
00:01:41Lo que hace este comando es verificar primero si los archivos existentes de Conductor,
00:01:45como el estado de configuración y los otros archivos que le indican si un proyecto ya ha sido inicializado,
00:01:50están disponibles o no.
00:01:51En lugar de historias,
00:01:53crea estos archivos llamados pistas y los completa uno por uno.
00:01:56Después de eso,
00:01:57inicializó un nuevo repositorio de GitHub y preguntó qué construir.
00:02:00Para probarlo,
00:02:01creé un proyecto simple pero sí quería probar si la arquitectura que hiciera sería realmente buena.
00:02:06Así que solo para probar si recomendaría las cosas que realmente necesitaría,
00:02:09le dije que debería estar listo para producción y ser escalable a un mayor número de usuarios.
00:02:14Después de eso,
00:02:15creó el archivo product.md que contenía el concepto real de lo que quería construir.
00:02:19Para refinarlo y elaborarlo,
00:02:20comenzó a hacerme preguntas y al final,
00:02:22como las preguntas en realidad no llevaban a ningún lado y eran muy simplistas,
00:02:26simplemente lo hice autogenerar todo.
00:02:28Después de aprobar y guardar la guía del producto,
00:02:30quería crear otro archivo que era las pautas del producto,
00:02:33que se enfocaban principalmente en el estilo del producto y algunos principios de diseño.
00:02:37También aprobó eso y guardó las pautas del producto también.
00:02:40Después de eso,
00:02:41definió la pila tecnológica y esta es una de las razones por las que el flujo de trabajo no fue bueno.
00:02:46Arruinó la pila tecnológica que me estaba ofreciendo porque sabía cuál era todo mi proyecto y aún así no recomendó lo apropiado.
00:02:52Después de que corregí eso,
00:02:53también aprobó la pila tecnológica y actualizó ese archivo MD también.
00:02:56También tiene estos archivos llamados guías de estilo de código.
00:03:00Si entro a la carpeta real,
00:03:01estos son los únicos lenguajes que tiene y si cree que vamos a usar alguno de estos en el proyecto,
00:03:06los agrega a las guías de estilo de código de nuestro proyecto actual durante la inicialización.
00:03:10El flujo de trabajo predeterminado que está usando es bastante bueno.
00:03:14Por defecto,
00:03:14incluye 80% de cobertura de pruebas de código y mientras estaba configurando y escribiendo los componentes base,
00:03:20se aseguraba de que las pruebas también se estuvieran escribiendo y después de completar tareas,
00:03:24también las estaba probando.
00:03:26Al mismo tiempo,
00:03:27estaba confirmando cambios después de cada tarea y también usando git notes para que pudiéramos rastrear dónde o cuando algo salió mal.
00:03:33Después de completar la configuración inicial,
00:03:35creó algunos requisitos de producto de alto nivel para que pudiéramos comenzar con la pista inicial.
00:03:40Esta es la primera pista que estaba tratando de implementar..
00:03:45De nuevo,
00:03:45esto era demasiado amplio y necesitaba dividirse en pistas más pequeñas.
00:03:49Era demasiado para hacer en una pista y había muchas posibilidades de equivocarse si estaba haciendo tanto al mismo tiempo.
00:03:55Entonces,
00:03:56después de completar eso,
00:03:57puedes comenzar tu trabajo ejecutando el comando implement y en la carpeta de pistas,
00:04:01tienes diferentes pistas que implementa una por una.
00:04:04Cada pista tiene dos archivos, un plan.md y un spec.md.
00:04:07El spec.md contiene el objetivo y los detalles técnicos extraídos de la pila tecnológica y la información que ingresamos al inicio.
00:04:13El plan.md contiene las tareas que necesita implementar una por una.
00:04:17Cuando estás usando el comando implement,
00:04:19mira el tracks.md y básicamente mira cada pista donde,
00:04:21según el estado,
00:04:22sabe qué hacer.
00:04:23Entonces, si está vacío, no ha comenzado.
00:04:25Esto significa que está en progreso y esto significa que la pista ha sido completada.
00:04:29Y como puedes ver, esta pista actual está en progreso.
00:04:32En cuanto a los otros comandos,
00:04:34el comando status te da un informe de estado de lo que está ocurriendo actualmente y qué pistas se están siguiendo y cuáles no están completas.
00:04:41Si usas el comando new track,
00:04:42te va a hacer las diferentes preguntas nuevamente para la nueva tarea.
00:04:46También lo implementé en un repositorio preexistente y fue casi de la misma manera.
00:04:50Fue un poco diferente porque miraba los archivos existentes y solo me hacía preguntas aclaratorias y no pedía una nueva pista..
00:04:57Tuve que implementar una nueva pista yo mismo como una nueva característica.
00:05:01Y luego está revert,
00:05:02otra característica realmente inteligente que mitiga cualquier daño y es consciente de git.
00:05:06Así que usa git para ayudar si el agente se equivoca en algún lugar.
00:05:09Ahora,
00:05:10actualmente la gestión y estructura de archivos no está tan mal.
00:05:13La forma en que implementa nuevas características o tareas existentes en pistas y luego las rastrea es bastante buena.
00:05:18Pero la forma en que se han escrito las instrucciones o cómo se han escrito estos archivos de comando sí necesita trabajo porque no están gestionando adecuadamente el bucle de contexto donde tiene que verificar todo.
00:05:28Y si hay un cambio, entonces cómo necesita cambiar eso.
00:05:31Porque incluso durante este proceso inicial,
00:05:33hubo muchos errores.
00:05:34El primer error es que mientras pedía la creación de cada documento,
00:05:37no diseccionó mi idea adecuadamente.
00:05:39Y tuve que guiarlo a través de muchas cosas.
00:05:41Cuando pensé que era adecuado,
00:05:42simplemente lo dejé autogenerar el resto del contenido.
00:05:45Y nuevamente,
00:05:46como mencioné antes,
00:05:47al definir la pila tecnológica,
00:05:48también perdió muchas cosas.
00:05:49La opción B era buena.
00:05:50Pero como le dije que quería una aplicación completamente escalable con un gran número de usuarios,
00:05:55perdió muchas cosas que tuve que aclarar y decirle explícitamente que también necesitaba y luego modificó el plan.
00:06:00Cuando se generó la pista inicial,
00:06:02entré y miré el plan y las especificaciones que había generado y el esquema de base de datos estaba totalmente incompleto.
00:06:07Había perdido muchas cosas que eran cruciales para configurar la aplicación y tuve que guiarlo nuevamente y dirigirlo en la dirección correcta.
00:06:14Ahora, Gemini es en realidad un modelo muy bueno.
00:06:16Así que tengo que sospechar que los comandos que se han implementado son lo que lo está haciendo comportarse de esta manera..
00:06:23Y la razón más importante por la que creo que,
00:06:25aunque la configuración en sí es bastante buena,
00:06:28hay muchos problemas en los comandos slash principales y especialmente en el workflow dot MD es porque arruinó una parte realmente grande después de que le dije que quería cambiar NPM.
00:06:36Y en su lugar,
00:06:37quería usar P NPM ya que había olvidado mencionarlo antes.
00:06:40Por alguna razón,
00:06:41intentó hacer una copia de seguridad primero..
00:06:43Y mientras hacía eso,
00:06:44indicó que necesitaba eliminar los archivos creados con NPM.
00:06:47Pero terminó eliminando toda la carpeta conductor,
00:06:50que contenía todos los archivos de planificación.
00:06:52Después de eliminarla,
00:06:53estuvo buscando continuamente la carpeta.
00:06:55Y cuando no pudo encontrarla,
00:06:57dijo que reconstruiría la carpeta conductor usando su contexto y todo lo que tenía en su memoria..
00:07:02Básicamente,
00:07:03tuvo que reescribir todo en lugar de lo que debería hacer un flujo de trabajo de contexto normal,
00:07:07donde el cambio solo debería afectar los archivos de contexto principales y los archivos relacionados con esa tarea específica,
00:07:12que es lo que be mad hace para operar eficientemente.
00:07:15Ahora,
00:07:15si no le hubiera pedido que cambiara algo abruptamente,
00:07:18tal vez habría ido bien.
00:07:19Pero aún así,
00:07:19cuando estaba inicializando todas las tareas,
00:07:21y le pedí que comenzara a implementar la primera,
00:07:24empezó e inicializó el proyecto y los otros servicios principales que necesitaba.
00:07:27Ahora,
00:07:28cuando llegó a configurar las variables de entorno para la conexión de super base,
00:07:31por alguna razón,
00:07:32marcó automáticamente la tarea como completada mientras claramente ponía una clave ficticia allí.
00:07:36Ni siquiera me pidió que configurara el proyecto de super base o que le proporcionara una clave real.
00:07:41Y automáticamente intentó enviar el esquema de base de datos.
00:07:44Como no había una clave real, falló.
00:07:45Y luego me pidió que verificara dos veces la cadena.
00:07:47Así que incluso las tareas no se están actualizando correctamente,
00:07:50y realmente no las estaba siguiendo bien.
00:07:52Honestamente,
00:07:53no usaría esto ahora mismo para desarrollo de especificaciones de extremo a extremo.
00:07:56Be mad es una opción mucho mejor.
00:07:58Y para proyectos pequeños,
00:07:59todavía hago mis propios archivos de contexto.
00:08:01Eso nos lleva al final de este video.
00:08:03Si te gustaría apoyar el canal y ayudarnos a seguir haciendo videos como este,
00:08:06puedes hacerlo usando el botón de súper gracias aquí abajo.
00:08:09Como siempre, gracias por ver y te veré en el próximo..

Key Takeaway

Google lanzó Gemini Conductor como herramienta de ingeniería de contexto con IA, pero presenta múltiples errores críticos y no alcanza la calidad de alternativas existentes como 'be mad'.

Highlights

Google lanzó Gemini Conductor como una extensión de flujo de trabajo de ingeniería de contexto, pero presenta numerosos problemas y no supera a otras herramientas existentes

El flujo de trabajo utiliza un sistema de 'pistas' (tracks) en lugar de historias, con archivos plan.md y spec.md para cada tarea, además de integración con GitHub

Conductor incluye cobertura de pruebas del 80% por defecto y confirmaciones automáticas de git, con la característica 'revert' para deshacer cambios problemáticos

Durante las pruebas, Conductor cometió errores graves: eliminó toda la carpeta de planificación al cambiar de NPM a PNPM y recomendó una pila tecnológica inadecuada

Las instrucciones y comandos slash de Conductor necesitan mejoras significativas, especialmente en la gestión del bucle de contexto y actualización de tareas

El revisor recomienda usar 'be mad' para desarrollo de especificaciones completas, considerándolo superior a Conductor para proyectos serios

Timeline

Introducción y patrocinio de Automata

El presentador introduce Gemini Conductor, la nueva herramienta de Google para flujos de trabajo de ingeniería de contexto, adelantando que no es superior a otras opciones existentes y presenta muchos problemas. Antes de profundizar en los detalles técnicos, presenta un patrocinio de Automata, un servicio que implementa flujos de trabajo de IA para convertir ideas en aplicaciones y sitios web funcionales. Automata se posiciona como un 'copiloto técnico' que ayuda a quienes tienen ideas pero carecen de equipo técnico, aplicando los mismos flujos de trabajo enseñados en el canal. El presentador indica que después del patrocinio explicará por qué considera que Conductor es un intento pobre de flujo de trabajo de ingeniería de contexto.

Instalación y comandos básicos de Conductor

Se explica que Conductor se instala como una extensión en Gemini CLI mediante un comando disponible en el artículo oficial (enlace en la descripción). Las extensiones son conjuntos de comandos, MCPs y reglas agrupadas en paquetes que se pueden compartir, similar a los plugins de Claude. Conductor ofrece cinco comandos slash principales que controlan el flujo de trabajo: setup (configuración), implement (implementación), status (estado), new track (nueva pista) y revert (revertir). Estos comandos permiten inicializar proyectos, implementar tareas, verificar el progreso, crear nuevas características y deshacer cambios respectivamente.

Proceso de configuración inicial y creación de archivos

El comando 'setup' verifica primero si existen archivos de Conductor previos, luego crea archivos llamados 'pistas' (tracks) en lugar de historias de usuario. Durante la configuración, inicializa un repositorio de GitHub y solicita información sobre qué construir. El presentador probó el sistema con un proyecto simple pero escalable listo para producción con múltiples usuarios, buscando evaluar si la arquitectura propuesta sería adecuada. Conductor generó automáticamente el archivo product.md con el concepto del producto, iniciando un proceso de preguntas para refinarlo. Sin embargo, las preguntas fueron muy simplistas y no llevaban a ningún lado, por lo que el presentador optó por autogenerar todo el contenido restante.

Generación de documentación y pila tecnológica

Después de aprobar la guía del producto, Conductor creó un archivo de pautas del producto enfocado en estilo y principios de diseño. Posteriormente definió la pila tecnológica, momento en que aparecieron problemas significativos: a pesar de conocer todos los requisitos del proyecto, Conductor recomendó una pila tecnológica inapropiada. El presentador tuvo que corregir manualmente las recomendaciones porque la herramienta no sugirió lo apropiado para una aplicación escalable. Conductor también maneja guías de estilo de código, agregando automáticamente durante la inicialización aquellas correspondientes a los lenguajes detectados en el proyecto, aunque el catálogo de lenguajes soportados es limitado.

Flujo de trabajo predeterminado y sistema de pistas

El flujo de trabajo predeterminado de Conductor incluye 80% de cobertura de pruebas de código, asegurándose de escribir y ejecutar pruebas automáticamente durante el desarrollo de componentes. Confirma cambios en git después de cada tarea completada y utiliza git notes para rastreo de problemas. Tras la configuración inicial, crea requisitos de producto de alto nivel para comenzar con la pista inicial. Sin embargo, el presentador identificó que la primera pista era demasiado amplia y necesitaba dividirse en tareas más pequeñas, ya que intentar implementar tanto simultáneamente aumentaba significativamente las posibilidades de error. Esta falta de granularidad adecuada en las tareas representa una debilidad importante del sistema.

Estructura de archivos y comandos de implementación

Para implementar pistas se usa el comando 'implement', que trabaja sobre archivos en la carpeta 'tracks'. Cada pista contiene dos archivos: spec.md con objetivos y detalles técnicos extraídos de la pila tecnológica, y plan.md con las tareas específicas a implementar. El comando lee tracks.md y determina qué hacer según el estado de cada pista: vacío (no iniciada), en progreso, o completada (marcada con indicadores específicos). El comando 'status' proporciona informes del progreso actual, mientras 'new track' inicia preguntas para nuevas tareas. El presentador probó Conductor en un repositorio preexistente, donde el comportamiento fue ligeramente diferente: analizó archivos existentes y solo hizo preguntas aclaratorias en lugar de crear automáticamente nuevas pistas.

Características positivas y problemas de implementación

El comando 'revert' es una característica inteligente que mitiga daños usando git para deshacer cambios problemáticos. La gestión y estructura de archivos es razonablemente buena, con un sistema efectivo de rastreo de pistas y tareas. Sin embargo, las instrucciones y archivos de comando están mal escritos y no gestionan adecuadamente el bucle de contexto para verificar y actualizar cambios. Durante el proceso inicial hubo numerosos errores: Conductor no diseccionó correctamente la idea del presentador, requiriendo mucha guía manual. Al definir la pila tecnológica para una aplicación escalable, omitió componentes cruciales que el presentador tuvo que especificar explícitamente. El esquema de base de datos generado en la pista inicial estaba totalmente incompleto, faltando elementos cruciales para la configuración de la aplicación.

Error crítico con cambio de gestor de paquetes

El presentador identifica que aunque Gemini es un buen modelo, los comandos implementados causan comportamientos problemáticos. El error más grave ocurrió al solicitar cambiar de NPM a PNPM: Conductor intentó hacer una copia de seguridad pero eliminó por error toda la carpeta 'conductor' que contenía todos los archivos de planificación. Tras eliminarla, buscó continuamente la carpeta inexistente y finalmente decidió reconstruir todo desde su memoria y contexto. Este comportamiento contrasta radicalmente con flujos de trabajo normales de ingeniería de contexto como 'be mad', donde los cambios deberían afectar solo archivos de contexto principales y archivos relacionados con la tarea específica. Este incidente demuestra graves deficiencias en la gestión de cambios y recuperación de errores del sistema.

Problemas en ejecución de tareas y conclusiones

Incluso sin cambios abruptos, Conductor presentó problemas: al configurar variables de entorno para Supabase, automáticamente marcó la tarea como completada usando claves ficticias, sin solicitar configuración real del proyecto ni claves válidas. Intentó enviar el esquema de base de datos con credenciales falsas, lo cual falló, y solo entonces pidió verificar la cadena de conexión. Las tareas no se actualizaban correctamente ni se seguían adecuadamente. El presentador concluye que no usaría Conductor para desarrollo de especificaciones completas de extremo a extremo, recomendando 'be mad' como mejor opción y sus propios archivos de contexto para proyectos pequeños. Finaliza invitando a apoyar el canal mediante el botón de 'súper gracias' y agradeciendo a los espectadores.

Community Posts

View all posts