¡NO DESPERDICIES TANTOS TOKENS! Agente de código PI vs OPENCODE con el mismo LLM local.

LLuigi Tech
컴퓨터/소프트웨어게임/e스포츠AI/미래기술

Transcript

00:00:00Hola a todos, esta es una demostración de Agent vs Open Code y vamos a probar
00:00:09estos dos entornos en este ejemplo. Este es un juego que programé en mi
00:00:20video anterior, este de aquí, y bueno, en este video me gustaría probar cómo arreglarlo
00:00:29porque tiene algunos errores. Por ejemplo, como pueden ver, la marca X ganó la
00:00:38partida pero las celdas no se resaltan, así que intentaremos hacer el mismo arreglo
00:00:51con un LLM local, que es Qwen 2.5 3B, que en mi opinión es el mejor modelo
00:01:04que puedes ejecutar en tu computadora ahora mismo. Probemos primero con el PI,
00:01:16este es PI y lo ejecutaré dentro de este directorio donde están las fuentes en
00:01:30archivos separados; tengo index.html, game.js y style.js, e intentaremos
00:01:42el mismo prompt en ambos entornos y compararemos los resultados. También
00:01:55usaré un temporizador para ver cuánto tiempo toma la tarea. Este es el prompt:
00:02:11“haz que los cubos de las celdas sean más visibles y añade espacio entre ellos”
00:02:19porque, como ven aquí, los cubos están muy pegados, y luego tenemos
00:02:28la segunda tarea: “mejora la lógica de victoria, las marcas ganadoras deben
00:02:37volverse verdes”. Este es otro problema porque no se ve dónde
00:02:46ganó el jugador con las marcas. Y sí, empezó a seguir mi prompt, y esto es
00:02:59PI, así que comienza analizando el directorio actual y aquí pueden ver el
00:03:09contexto utilizado, aunque quizás sea más interesante ver el tiempo empleado para
00:03:20arreglar el juego. Está trabajando, y luego haremos la misma tarea con
00:03:30Open Code; reiniciaré el repo para hacer el mismo tipo de prueba. Ahora
00:03:41pausaré el video un momento y nos vemos cuando termine de arreglar el juego.
00:04:00Listo. Aún está escribiendo el reporte de los cambios y luego probaremos
00:04:20los resultados. Bien. Pausamos en 7 minutos y 44 segundos con Qwen 2.5, probemos
00:04:38los resultados. Este es el reporte, esto es lo que pasó técnicamente en el
00:04:47código y, como pueden ver, leyó parcialmente game.js varias veces en
00:04:58múltiples partes. Esto también es un diff; como ven, tuvo que editar mucho
00:05:09el archivo. En total son 9.4K tokens enviados y 2.8K recibidos; este
00:05:23es el resultado del uso del contexto. Probemos el resultado: recargo y,
00:05:35como ven, ahora los cubos de las celdas están más espaciados, más separados entre sí.
00:05:44Probemos el juego: empezaré con la celda central y... vale, dejaré que
00:06:00gane... perfecto. Ahora la computadora ganó y, como ven, tenemos los cubos más
00:06:11separados y también las marcas ganadoras resaltadas; funciona. Esto fue con
00:06:20el agente de programación PI. Ahora haremos la misma prueba con Open Code,
00:06:30mismo modelo y mismo código. Voy a resetear el código; bien, los cambios volvieron
00:06:50a la versión con errores, así. Ahora probaremos el mismo prompt con
00:07:00Open Code para las celdas y para la lógica de victoria, y usaré el mismo modelo con
00:07:11Basico. Basico es un agente personalizado que hice y que también inicia; lo
00:07:27hice porque es mucho más simple que el agente de programación por defecto.
00:07:36El agente Basico es este:
00:07:56es solo un archivo markdown simple: “eres Basico, un agente minimalista”. Y sí,
00:08:07no especifiqué mucho aquí, solo que use búsqueda web con la herramienta de motor de búsqueda,
00:08:15que no usaremos en este caso. Es un agente muy simple solo para recrear
00:08:24condiciones similares para Open Code. Ya estamos usando 12k de contexto,
00:08:34empezó con index, game.js y sí, aquí también probaremos
00:08:47el resultado final tras pausar el video. Sigue ejecutándose sin dar
00:08:58mucho feedback. También quería decir que intenté la misma prueba
00:09:07con Gemma 2 27B, pero no fue capaz de realizar las llamadas a herramientas en
00:09:20este tipo de proyecto. Gemma fue capaz de recrear el juego de tic-tac-toe 3D, pero
00:09:30luego no pudo hacer las llamadas para editar los archivos. Solo hice este test
00:09:38con Qwen 2.5 porque creo que es el mejor para escenarios locales como este.
00:09:48Es interesante porque está llenando los “to-dos”. Hay dos tareas: una es
00:09:58hacer los cubos más visibles y la otra arreglar la lógica. Tendrá un
00:10:07poco de sobrecarga comparado con PI, pero PI pudo hacer
00:10:17este tipo de tarea también sin un “to-do” intermedio. Quizás en situaciones más
00:10:26intrincadas sea útil tener un “to-do”, pero es el modelo LLM
00:10:35lo que marca la mayor diferencia en mi opinión y no el entorno, pero
00:10:44ya veremos.
00:10:56Nos vemos.
00:11:27Casi listo, ambos “to-dos” se han completado, pero aún tiene que leer y
00:11:40luego escribir en el archivo.
00:11:52Está escribiendo el reporte. Espero que termine pronto; llevamos 12
00:12:05minutos, es más tiempo, pero bueno, ha terminado; pausar. Como ven,
00:12:15el contexto usado es de unos 23K con Open Code, probablemente reportan
00:12:26los tokens de forma distinta, pero parece que PI usó la mitad para
00:12:36arreglar los problemas. Este es el reporte técnico; abrió muchas veces
00:12:46game.js para hacer los arreglos. Probemos el juego para ver si realmente
00:12:57funciona el arreglo; recargo y parece similar a la versión de PI. Celda central...
00:13:19intentemos ganar la partida... gané. Y como pueden ver, obtuvimos el mismo resultado
00:13:32que con PI, pero con más tokens y más tiempo invertido en las
00:13:43soluciones. En este caso, Open Code, que suele tener muchas funciones
00:13:55como guardrails y más ajustes de prompts, dio las mismas soluciones que
00:14:06PI, pero con menos tiempo y tokens. En conclusión, en mi opinión y como
00:14:18dije antes, el LLM usado es la parte más relevante e importante. El
00:14:28entorno es útil e importante, pero lo es más la calidad de los datos
00:14:36que se ponen en el contexto. En esta situación con el agente PI
00:14:47tenemos menos sobrecarga y logramos un buen resultado sin un prompt muy grande.
00:14:58Díganme en los comentarios cuál es su entorno de programación de código abierto preferido.
00:15:06Nos vemos en otro video, adiós.

Key Takeaway

El agente de programación PI demuestra ser más eficiente que OpenCode al resolver tareas de depuración con el modelo Qwen 2.5 3B, utilizando la mitad de tokens y un 35% menos de tiempo para obtener el mismo resultado técnico.

Highlights

  • El modelo local Qwen 2.5 3B soluciona errores de lógica y diseño en un juego de tic-tac-toe 3D utilizando entornos de agentes de código abierto.

  • El agente PI completa las tareas de depuración y mejora visual en 7 minutos y 44 segundos.

  • OpenCode requiere 12 minutos para realizar los mismos cambios, lo que representa un 54% más de tiempo que el agente PI.

  • La ejecución con el agente PI consume 9.4K tokens de entrada y 2.8K de salida para resolver el problema.

  • OpenCode utiliza aproximadamente 23K tokens de contexto, duplicando el consumo de recursos frente a la alternativa PI.

  • Modelos de mayor tamaño como Gemma 2 27B fallan al ejecutar llamadas a herramientas para editar archivos en proyectos locales.

Timeline

Configuración de la prueba de depuración local

  • El entorno de prueba consiste en un juego de tic-tac-toe 3D programado en HTML, JavaScript y CSS con errores de visualización y lógica.
  • Qwen 2.5 3B es el modelo de lenguaje de gran tamaño (LLM) seleccionado para la ejecución local debido a su rendimiento superior en tareas de codificación.
  • La estructura del proyecto divide el código fuente en archivos independientes para evaluar la capacidad de análisis de archivos múltiples del agente.

El objetivo principal es corregir un error donde las celdas ganadoras no se resaltan y mejorar la estética visual del tablero. Se utiliza un modelo pequeño de 3 billones de parámetros para demostrar que la eficiencia depende más del modelo que del entorno pesado. La configuración busca replicar un flujo de trabajo de desarrollo real en una computadora personal.

Rendimiento y métricas del agente PI

  • El agente PI recibe instrucciones directas para aumentar el espaciado de los cubos y volver verdes las marcas ganadoras.
  • La tarea finaliza con un tiempo total de 7 minutos y 44 segundos utilizando el modelo Qwen 2.5.
  • El consumo total de recursos se sitúa en 12.2K tokens entre entrada y salida.

PI analiza el directorio y realiza lecturas parciales del archivo game.js de manera iterativa. El resultado final muestra un código funcional donde las marcas del ganador se iluminan correctamente y el espaciado entre celdas mejora la visibilidad. El reporte técnico generado incluye un diff detallado de las ediciones realizadas en el código fuente.

Comparativa con OpenCode y el agente Basico

  • OpenCode utiliza un sistema de tareas pendientes (to-dos) que añade sobrecarga al proceso de ejecución.
  • El tiempo de resolución asciende a 12 minutos bajo las mismas condiciones de hardware y modelo.
  • El uso de contexto se eleva a 23K tokens, lo que indica una gestión de memoria menos eficiente que PI.

Para esta prueba se configura 'Basico', un agente minimalista dentro de OpenCode, con el fin de reducir la complejidad innecesaria. A pesar de lograr el mismo resultado visual y funcional en el juego, la arquitectura de OpenCode introduce retrasos significativos. El modelo Qwen 2.5 3B confirma su superioridad frente a modelos más grandes como Gemma 2 27B, que no logra gestionar las llamadas a herramientas necesarias para editar archivos.

Conclusiones sobre la calidad del contexto y LLM

  • La calidad del modelo LLM es el factor determinante en el éxito de la programación asistida por IA sobre el entorno de ejecución.
  • La reducción de la sobrecarga de prompts y guardrails permite un ahorro sustancial de tokens sin sacrificar la precisión.
  • El agente PI ofrece una ventaja competitiva en velocidad y costo computacional para proyectos de código abierto.

Los entornos con demasiados ajustes de seguridad o prompts extensos pueden ralentizar el trabajo y agotar el contexto del modelo prematuramente. En este caso específico, un entorno más ligero como PI permite que el modelo trabaje con mayor libertad y rapidez. La experiencia concluye que optimizar los datos que entran en el contexto es más vital que las funciones adicionales del software de la interfaz.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video