Es raro que haga pruebas extensivas sobre un LLM, pero cuando lo hago es porque noto algo raro, hay una necesidad, o simplemente el cliente me pide algo así.
Como parte de los proyectos Viernes Social, y Elgoi (EVE Online) tenía pensado hacer pruebas extensivas con DeepSeek, en dos etapas.
Este es el prompt inicial:
Todo lo que te pida es PHP procedural 8.x, Bootstrap 4.6.2 y Font Awesome 5.15.4. En todo lo que generes pon la fecha al principio e identifícate en el script con tu tipo de modelo y fecha. En la medida de lo posible usa como referencia del nombre el archivo
__FILE__y empieza con"en lugar de'. Usa jsDelivr como CDN, y a menos que sea indicación en contrario, usa siempre un solo archivo.Gracias.
Me contestó parcialmente en chino.
Segundo paso le dije:
En este momento quiero que me hagas un mosaic.php, con dos barras de navegación fijas y que me muestre footer. Asimismo que muestre el contenido de todas las variables de sesión. Esto es una pantalla que después vamos a expandir. Después de eso dame una lista de todos los archivos *.php del directorio, y de todos los archivos no php del directorio.
Problema: me dio 462 líneas para algo que yo habría hecho en 100 o menos. El resultado eso sí no se ve nada mal. Es una buena pantalla base, pero no me hizo caso en varias cosas.
En EVE Online, voy a empezar a manejar un concepto para Elgoi llamado supergroup, que es un campo nuevo. El concepto está explicado en el repositorio en inglés, pero es para mantener ciertas cosas claras.
Lo que quiero hacer en este momento es trabajar modificando un código ya hecho y ver cómo reacciona ante retos del mundo real.
Paso 2: pedirle que me cree una pantalla simplificada de acceso_fleet login, para explicar de manera simple los tokens OAUTH. Prompt: ya le dije que es EVE Online y me dio mal los scopes. También puso cosas asumiendo mayores permisos, lo modifiqué pero no está tan mal. Se puede trabajar.
En ese archivo le pedí establecer un dato de sesión, que diga quién es el comandante de flota, en nombre y número que solo puede ser uno (a lo Highlander), y unos mensajes. Se puede trabajar pero es… atrabancado. Nivel junior avanzado pero no le he visto nada de genialidad de momento.
Darle la estructura de la tabla PILOTS para que la tenga de referencia. Le voy a pedir una nueva pantalla llamada /testing/crewdeepseek.php y que en ella:
- Respete la estética de la pantalla anterior (mosaic).
- Si no existe el campo supergroup, lo cree como integer, con valor default de 1.
- Le voy a pedir que revise si hay otros comandantes de flota y en su caso que se detenga.
Empieza a generar el código, quiere agradar, pero no acaba de darle las instrucciones. Ya me hizo perder dos minutos más o menos.
Respete la estética de la pantalla anterior (mosaic). Si no existe el campo supergroup en Pilot, créalo como integer, con valor default de 1. Le voy a pedir que revise si hay otros comandantes de flota y en su caso que se detenga. Vamos a comparar contra la tabla el campo parent_toon_number que debe ser igual a la variable fleet_commander_character_id. Si hay más pilotos que no correspondan a ese commander, detente y avisa. Si no hay problemas y todos son del mismo, entonces sí me das los datos que me diste, ¿ok? Gracias.
Se puso a pensar. Su modo normal se ve saturado por unas instrucciones como estas que son relativamente básicas. Me cambió el nombre de la variable y sugirió pasar a cero el valor. Eso no es buena idea, no solo cambiar el nombre de la variable, sino sugerir pasar a cero el valor. Eso es destructivo. No respetó el formato gráfico. No funciona. Además de que quiso hacer cosas que no le pedí, me hizo 949 líneas de código, no muy legibles, 150 líneas de distancia entre el form y el where.
Veredicto: DeepSeek funciona para cosas simples de programación, no puede usarse para esto. Falta probar en modo Viernes Social.
En el caso de Qwen:
Mosaico se hizo bolas con lo de comillas dobles y le pedí que generara el archivo de nuevo. Así ya funcionó y mucho mejor que DeepSeek en tamaño. Usó DataTables, lo cual es muy bueno para mí. Igualmente comentó más rápido que DeepSeek y de mejor calidad, pero no me dejó terminar. La pantalla de prueba donde le pedí que validara la sesión vamos a ver qué hace. Es para identificar al comandante de flota.
Vamos a ponerle una complicación más: Que quite algunas de las columnas que puso. Que quiero que el supergrupo sea editable desde aquí o desde un modal, lo que prefiera, a nivel renglón. Lo puedo hacer pero no tan bien. Y el modo de OAUTH no lo manejo.
Sí, es mejor Qwen que DeepSeek, pero si para algo tan simple como esto no funciona bien, me va a retrasar más que darme velocidad. Mañana hago un panorama de las alternativas que según yo son Kimi, Grok o Gemini en modo iterativo.
Grok puede poner límites pronto, aunque con el experimento de sistema de tickets me dejó trabajar un buen rato, pero menos de lo habitual para mí. Kimi tuvo buen rendimiento en análisis complejo en proceso de compras para un proyecto que puse en laboratorio aquí mismo. Voy a tratar de ver qué hace Kimi con este chat de inicio para la pantalla inicial, precisando un poco.
Lo que hizo funcionó a la primera, así que en eso lleva ganancia contra DeepSeek y Qwen. No hizo el campo fleet_commander numérico como pedí, pero eso se ve secundario.
A ver qué dice la prueba del mosaico. Se ve bastante bien, pero encontré un problema secundario con la pantalla de login. Mañana sigo.
Resultado: Qwen y DeepSeek 7 en programación, Qwen más sólido, pero no puedo trabajar a mi velocidad normal con ellos. Mañana hago un panorama.