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..