00:00:00La mayoría de los modelos de IA para programar tienen un gran problema: simplemente no pueden con Swift.
00:00:06Todos hemos visto esas demostraciones espectaculares de agentes creando aplicaciones web y herramientas en JavaScript en segundos,
00:00:11pero en cuanto les pides que toquen código Swift, todo se desmorona rápidamente.
00:00:16¿Por qué los modelos más inteligentes del mundo están fallando en el desarrollo para iOS?
00:00:22Eso es lo que vamos a descubrir en el video de hoy.
00:00:25Hoy voy a someter a los mejores agentes de programación al mismo desafío de código en Swift para ver
00:00:30qué modelos pueden realmente con esta tarea y cuáles son solo especialistas en desarrollo web
00:00:35que no saben hacer nada más.
00:00:36Les daré un pequeño adelanto: uno de estos modelos superó la prueba por completo.
00:00:40Cuál es, lo verán más adelante en este video.
00:00:43Va a ser muy divertido, así que vamos a ello.
00:00:50Primero, abordemos el problema principal.
00:00:52¿Por qué los modelos de IA son tan malos en el desarrollo con Swift?
00:00:56Y para que conste, no es solo una observación mía.
00:00:59Un estudio titulado “Evaluating Large Language Models for Code Generation - A Comparative Study”
00:01:05sobre Python, Java y Swift descubrió que en todos los modelos probados, incluidos GPT y Claude,
00:01:12el rendimiento en Swift fue consistentemente inferior al de Python o Java.
00:01:17Y la razón se reduce a tres cuellos de botella principales que limitan a la IA cuando entra
00:01:22en el ecosistema de Apple.
00:01:24Primero, está la brecha de datos.
00:01:25Mientras que la web está inundada de código abierto de JavaScript y Python, gran parte del código Swift
00:01:31profesional vive en repositorios privados o comerciales bajo llave.
00:01:36Segundo, tenemos la deriva de la API.
00:01:38Apple es famosa por avanzar rápido y romper cosas por el camino.
00:01:42SwiftUI y los modelos de concurrencia de Swift han cambiado más en los últimos tres años
00:01:47que algunos estándares web en una década.
00:01:49Y como la mayoría de los modelos de IA tienen una fecha de corte de conocimiento, a menudo intentan escribir
00:01:54código Swift usando reglas obsoletas que simplemente no funcionan en la última versión de Xcode.
00:01:59Y finalmente, está el sesgo de los bancos de pruebas.
00:02:02La mayoría de los modelos que probamos hoy, como Qwen o Grok, están entrenados para pruebas específicas.
00:02:08Están optimizados para superar benchmarks masivos como HumanEval, que se centran casi por completo
00:02:13en Python y lógica basada en web.
00:02:16Como no hay muchos benchmarks importantes para interfaces complejas de iOS, estos modelos simplemente no
00:02:21han sido evaluados por su capacidad para crear una aplicación funcional.
00:02:25Así que elegí algunos de los modelos de IA para programar más populares y les di a cada uno
00:02:30exactamente el mismo prompt.
00:02:32Les pedí que crearan un clon sencillo de Tinder para perros usando Swift llamado Dogtinder, donde
00:02:38se te presentan diferentes perros usando la API de Dog CEO.
00:02:43puedes abrir una interfaz de chat para intercambiar mensajes divertidos con el perro elegido.
00:02:47you can open up a chat interface to exchange funny messages with the matched dog.
00:02:52Se supone que es algo tierno y lo bastante simple para que lo complete un agente, pero también incluye
00:02:58desafíos interesantes como crear la funcionalidad de animación de deslizamiento en Swift nativo.
00:03:03Para las pruebas, vamos a empezar desde el que tuvo el peor desempeño hasta el mejor.
00:03:09En el puesto con peor rendimiento tenemos, lamentablemente, al nuevo modelo Qwen 3 Coder Next.
00:03:15Qwen ha promocionado este nuevo modelo como una alternativa de código abierto a pesos pesados
00:03:20como Kimi o Claude, con un tamaño menor pero mayor rendimiento.
00:03:25Y aunque eso sea cierto para aplicaciones web, por desgracia no se mantuvo en el desafío de Swift.
00:03:32Siempre que fue posible, intenté usar sus propias herramientas de CLI disponibles para cada modelo
00:03:37y, en este caso, usé la herramienta CLI de Qwen para realizar el desafío.
00:03:42Una vez que terminó de generar el código, no pude abrir el archivo de proyecto que Qwen
00:03:46había producido.
00:03:48Entonces le pedí que solucionara el error que aparecía al intentar abrir el archivo.
00:03:53Pero ni siquiera así pudo Qwen solucionar el error; en su lugar, me dio un archivo Readme eterno
00:03:58sobre cómo construir el proyecto por mi cuenta desde cero y luego copiar los archivos a
00:04:03la carpeta del proyecto, algo que no quiero hacer manualmente porque
00:04:08anularía el propósito del desafío.
00:04:09Como verán más adelante, noté que a algunos modelos les costó mucho producir
00:04:14la colección final de archivos para este proyecto que pudiéramos abrir con éxito al
00:04:19primer intento.
00:04:20Así que para casos como Qwen, decidí proponerle un reto más fácil.
00:04:26Creé un nuevo proyecto de app para iOS en Xcode manualmente, y pensé que sería un buen momento
00:04:31para probar la nueva funcionalidad de inteligencia de código que viene con la última versión de Xcode.
00:04:37Esto está genial porque finalmente Xcode tiene su propia función de asistente de IA.
00:04:43Lo conecté a mi cuenta de OpenRouter, elegí el modelo Qwen 3 Coder Next
00:04:49del menú desplegable e intenté el desafío de nuevo.
00:04:52Incluso con toda esta ayuda, Qwen seguía sin poder producir un proyecto exitoso al primer
00:04:57intento, ya que tuvimos problemas para configurar correctamente los modelos de Swift.
00:05:02Ahora, con la nueva función del asistente de IA, podemos resaltar todos estos errores
00:05:07y pedirle al asistente que genere la solución para todos los problemas seleccionados a la vez.
00:05:12Finalmente, tras varias rondas pidiéndole a Qwen que arreglara los errores restantes, obtuvimos
00:05:16una versión funcional de la app Dogtinder, pero sinceramente el resultado fue bastante malo.
00:05:23Ni siquiera pudo cargar las imágenes de la API de Dog CEO y toda la interfaz era muy
00:05:29primitiva y nada atractiva.
00:05:32Sin mencionar que había un error en la sección de matches donde no aparecía
00:05:36absolutamente ninguno.
00:05:37Así que, lamentablemente, Qwen falló totalmente el desafío de la app en Xcode.
00:05:42Pasando al penúltimo lugar, tenemos a Grok con su modelo Grok Code Fast.
00:05:48Para este, intenté usarlo a través de la extensión VS Copilot en VS Code y, de nuevo,
00:05:53me encontré con el mismo problema: Grok no fue capaz de producir todos los archivos necesarios
00:05:59para el paquete completo del proyecto Swift.
00:06:02En su lugar, me dio instrucciones sobre cómo copiar los archivos manualmente.
00:06:06Así que una vez más, tuve que volver a usar el asistente de IA en Xcode llamando al modelo
00:06:12Grok desde OpenRouter.
00:06:14Grok también tuvo un par de problemas, así que tuve que pedirle dos veces que arreglara los
00:06:19errores restantes.
00:06:20Pero después de todo eso, pudo completar la aplicación con éxito.
00:06:23A primera vista, Grok hizo un trabajo terrible con el diseño.
00:06:27El diseño no era nada emocionante y ni siquiera había secciones donde pudiéramos ver
00:06:32los matches.
00:06:33La única razón por la que puse a Grok por encima de Qwen es porque, al menos funcionalmente,
00:06:38todo funciona, incluyendo el chat; pero para ser sincero, ambos estuvieron
00:06:44muy cerca en cuanto a mal rendimiento.
00:06:48Nada en esta aplicación parece emocionante o visualmente agradable.
00:06:51No diría que Grok falló el desafío, pero se lleva la nota de aprobado más baja
00:06:57que se puede dar.
00:06:58El siguiente en nuestra tabla es Kimi con su modelo más reciente, Kimi K2.5.
00:07:04Kimi tuvo el mismo problema que Qwen: al usar su CLI nativa produjo el
00:07:08archivo de proyecto, pero no pude abrirlo.
00:07:11Incluso después de intentar arreglarlo mediante la CLI, el problema no se resolvió.
00:07:15Así que, una vez más, para la prueba de Kimi tuve que usar el asistente de IA de Xcode
00:07:20con Kimi K2 proporcionado por OpenRouter.
00:07:23El rendimiento de Kimi fue similar al de Qwen y Grok porque no completó
00:07:29el desafío al primer intento.
00:07:31Tuve que pedirle de nuevo que solucionara los problemas restantes.
00:07:34Pero tras solo una ronda de correcciones, Kimi pudo producir el resultado final.
00:07:39Y esta versión fue realmente un paso adelante respecto a Qwen y Grok porque al menos
00:07:44teníamos una app que realmente parecía un clon de Tinder.
00:07:47Ahora teníamos esta bonita animación de deslizamiento lateral junto con los stickers de “like” y “nope”
00:07:53a los lados y una ventana emergente elegante cuando había un match.
00:07:57Pero la animación fallaba mucho y era muy imprecisa.
00:08:00A veces ni siquiera podía ver la imagen porque flotaba fuera de la pantalla.
00:08:05Pero al menos Kimi pudo guardar los matches correctamente.
00:08:08De hecho, teníamos una sección donde ver nuestros matches, abrir cualquiera de ellos y empezar
00:08:12a chatear con ese perro específico.
00:08:14Esto ya es un gran avance comparado con Qwen y Grok.
00:08:18Pero si tengo que compararlo con otros ejemplos que verán más adelante, diría
00:08:22que sigue siendo un resultado mediocre.
00:08:25Por eso le doy a Kimi un lugar inferior en la clasificación.
00:08:29A continuación, tenemos a Gemini 3 Pro.
00:08:31Este es interesante porque obtuve resultados totalmente distintos probando el mismo modelo
00:08:36desde su propia CLI frente al asistente de IA de Xcode.
00:08:41Primero veamos qué obtuvimos al usar la CLI de Gemini.
00:08:45Dice que el modelo todavía está en modo vista previa en la CLI.
00:08:49Así que quizá ese fue el problema principal.
00:08:50Pero de nuevo, cuando le di el mismo prompt que usé para todos los modelos
00:08:55en este desafío, no pudo darme un archivo de proyecto al final.
00:08:59Esto es porque para crear un archivo de proyecto de Xcode, primero necesitas crear un archivo YAML
00:09:04con los detalles y luego usar el comando CodeGen CLI para generarlo.
00:09:09Por alguna razón, algunos modelos se niegan a hacerlo o no saben cómo.
00:09:14No obstante, una vez que le pedí específicamente a Gemini que creara el archivo, lo hizo.
00:09:18Solo tuve que darle permiso para ejecutar el comando CodeGen.
00:09:22Una vez que abrimos el proyecto, tuvimos un error de activos (assets).
00:09:25Pero Gemini lo solucionó rápido.
00:09:28Tras resolver eso, la app finalmente compiló.
00:09:31Pero el resultado fue malo, sorprendentemente malo.
00:09:35Estaba roto.
00:09:37El sistema de matches no funcionaba bien y todo estaba lleno de bugs.
00:09:41En ese momento estaba dispuesto a darle a Gemini un suspenso.
00:09:45Pero solo por curiosidad, decidí darle otra oportunidad y realizar el desafío
00:09:50usando el asistente nativo de Xcode ejecutando Gemini 3 Pro a través de OpenRouter.
00:09:56Y al hacerlo, esta vez lo hizo bien al primer intento.
00:10:01Y no solo eso, sino que la app era increíblemente buena.
00:10:04El diseño era genial.
00:10:06La funcionalidad estaba en su sitio.
00:10:08Incluso añadió un pequeño logotipo muy mono arriba.
00:10:10Sinceramente, no había nada que reprocharle a esta versión de la aplicación.
00:10:14Me desconcierta un poco cómo usando el mismo prompt con el mismo modelo, pero a través
00:10:20de herramientas de programación distintas, se obtuvieran dos resultados tan diferentes.
00:10:24Pero aun así, me impresionó mucho la versión que Gemini me dio finalmente a través
00:10:29de Xcode y al primer intento, cabe añadir.
00:10:32Por eso puse a Gemini un poco más arriba en la lista, porque el resultado final fue
00:10:37realmente estupendo.
00:10:38Bien, el siguiente en la tabla es GPT 5.3 Codecs.
00:10:43Como OpenAI tiene su propia aplicación Codecs, decidí realizar el desafío desde
00:10:48su propia app.
00:10:49A diferencia de los modelos anteriores, GPT 5.3 fue capaz de producir
00:10:55el producto final funcional al primer intento.
00:10:58Esto ya es un gran paso adelante.
00:11:00Pero debo decir que la aplicación en sí no era muy emocionante.
00:11:03Tenía un tema de color azul muy monótono.
00:11:06Y el mayor problema que me molestó es que no podía ajustar el ancho de la imagen
00:11:11dentro del marco de la aplicación.
00:11:13Así que con algunos perros, terminabas con un contenedor muy estirado que se salía
00:11:18de los límites de la app.
00:11:20Este es un gran fallo de diseño que Codecs no pudo resolver correctamente.
00:11:25Pero la app en sí es funcional y tiene todos los elementos de interfaz necesarios.
00:11:29También teníamos la sección de matches funcionando bien para chatear con los perros.
00:11:34La razón por la que doy a GPT 5.3 un lugar tan alto es porque
00:11:40es el primer modelo que pudo producir el paquete completo del proyecto Swift sin
00:11:46ayuda externa ni tener que configurar el proyecto de Xcode de antemano.
00:11:50En general, no está mal, pero tampoco es para tirar cohetes.
00:11:53Muy bien.
00:11:54Y finalmente, llegamos al primer puesto de la clasificación.
00:11:57Les voy a dar un momento para que adivinen de qué modelo se trata.
00:12:01Sí, creo que todos sabemos qué modelo es.
00:12:04Es, por supuesto, Opus 4.6, que superó este desafío por completo a la primera.
00:12:11Le di el mismo prompt que a los demás modelos, pero usé su herramienta Claude Code CLI
00:12:17y solo tuve que proporcionar los permisos necesarios.
00:12:20El modelo hizo todo por su cuenta, incluyendo la creación de un archivo de proyecto de Xcode funcional
00:12:27sin que yo tuviera que configurarlo previamente.
00:12:29Y no solo eso, sino que la aplicación en sí era absolutamente hermosa.
00:12:34El diseño estaba ahí.
00:12:35Las animaciones eran fluidas y agradables.
00:12:37La sección de matches funcionaba correctamente, al igual que la ventana de chat.
00:12:41Lo único que no tuvimos en esta versión fue un logotipo más elaborado como el que hizo Gemini
00:12:46en las versiones anteriores.
00:12:48Pero aparte de eso, esta fue la versión con mejor aspecto de todas.
00:12:52Y hasta logró producir esto al primer intento.
00:12:55Diría que el rendimiento de Opus es absolutamente increíble comparado con los demás modelos.
00:13:01Así que definitivamente merece el primer lugar.
00:13:05Pero esperen, hay más.
00:13:07Aquí tienen un pequeño extra para ustedes.
00:13:09Todavía queda un modelo por revisar que no ha aparecido aún en la tabla.
00:13:14Mientras hacía este video, se anunció que GLM acababa de lanzar
00:13:18su última versión, la 5, y se atreven a afirmar que este modelo puntúa
00:13:23incluso más alto en programación que Opus 4.6.
00:13:26Así que obviamente tuve que probarlo con el mismo desafío de Swift.
00:13:31Como GLM no tiene su propia herramienta CLI, volví a usar el asistente de IA de Xcode
00:13:37conectándolo a OpenRouter y usando GLM 5 desde allí.
00:13:41Para empezar, GLM no completó el desafío al primer intento.
00:13:45Eso ya muestra un rendimiento peor que el de Opus 4.6.
00:13:49Pero además, tuve que pasar por tres rondas de corrección de errores para que finalmente compilara.
00:13:56Veamos cuál es el resultado final de GLM 5.
00:13:59Como pueden ver, a mí ya me parece un suspenso.
00:14:03Parece que no puede cargar ninguna de las imágenes de los perros.
00:14:06No tiene la funcionalidad de deslizamiento.
00:14:08Y lo que es peor, solo recorre tres perros y luego muestra un mensaje de que
00:14:13no hay más perros disponibles.
00:14:15Además, si vamos a la sección de matches, no se puede hacer clic en ninguno para abrir
00:14:20la interfaz de chat con los perros.
00:14:23Está claro que esta sección no está terminada.
00:14:25A juzgar por este resultado, ¿dónde ponemos a GLM?
00:14:29Me temo que tenemos que ponerlo en el penúltimo lugar, justo por encima de Qwen, porque
00:14:36este rendimiento simplemente no fue aceptable ni de lejos tan bueno como los otros.
00:14:42Afirmar que GLM 5 es más fuerte que Opus 4.6 es una declaración muy arriesgada.
00:14:47No he probado este modelo en otras tareas de programación, y podría ser que
00:14:52para proyectos web más simples funcione igual de bien o incluso mejor que
00:14:57Opus 4.6.
00:14:59Pero definitivamente no es un buen modelo para programar en Swift.
00:15:02¿Qué hemos aprendido hoy?
00:15:04Claramente, aunque la revolución de la IA se mueve a la velocidad de la luz, el problema de Swift
00:15:10sigue siendo real. Opus 4.6 y GPT 5.3 demostraron que si el modelo es lo bastante grande
00:15:18y el razonamiento es fuerte, pueden superar la falta de datos de código Swift abierto.
00:15:23Pero para modelos como Qwen y Grok, la brecha de datos y la deriva de la API que mencionamos
00:15:29les están pasando factura claramente.
00:15:31También me sorprendió lo útil que es el nuevo asistente de IA de Xcode para apps de Swift.
00:15:36Vimos claramente la diferencia entre las dos versiones de la app de Gemini.
00:15:40Así que si eres desarrollador de iOS, probablemente te convenga usar su herramienta interna de IA
00:15:46para obtener mejores resultados.
00:15:47Ahí lo tienen, espero que hayan disfrutado de este desglose de la tabla de clasificación.
00:15:51Creo que esto abre un debate más amplio sobre si deberíamos empezar a tener
00:15:55modelos específicos para cada lenguaje.
00:15:57Porque está claro que muchos modelos están muy sesgados hacia aplicaciones web, JavaScript
00:16:03o proyectos de Python.
00:16:04Pero para algunas soluciones de código a medida, podríamos necesitar modelos personalizados.
00:16:09¿Cuál es su opinión sobre todo esto?
00:16:11Cuéntennoslo en la sección de comentarios.
00:16:13Y si les ha gustado este video, por favor hágannoslo saber dándole a ese botón de “like”
00:16:18debajo del video.
00:16:19Y tampoco olviden suscribirse a nuestro canal.
00:16:22Soy Andris, de Better Stack, y nos vemos en los próximos videos.