Puse a prueba a 7 agentes de IA con el mismo desafío de Swift. ¡Fue BRUTAL!

BBetter Stack
컴퓨터/소프트웨어스마트폰/모바일AI/미래기술

Transcript

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.

Key Takeaway

Aunque la mayoría de las IAs actuales tienen dificultades críticas con el ecosistema de Swift debido a la falta de datos y cambios constantes de Apple, Opus 4.6 demuestra que un razonamiento superior puede superar estos obstáculos para crear aplicaciones móviles funcionales.

Highlights

La IA suele fallar en el desarrollo con Swift debido a la escasez de repositorios públicos comparado con JavaScript o Python.

Apple actualiza sus APIs como SwiftUI de forma tan rápida que los modelos con fechas de corte antiguas generan código obsoleto.

El modelo Opus 4.6 se posicionó como el líder absoluto

Timeline

El problema de la IA con el desarrollo en Swift

El video comienza analizando por qué los modelos de lenguaje más avanzados fallan sistemáticamente al programar en el lenguaje de Apple. Se identifican tres cuellos de botella: la brecha de datos por el código privado, la deriva de la API por las actualizaciones constantes de SwiftUI y el sesgo de los benchmarks que priorizan Python. El presentador explica que la mayoría de las demostraciones espectaculares de IA se limitan a JavaScript, dejando a Swift en un segundo plano. Este contexto es fundamental para entender por qué incluso modelos inteligentes producen código que no compila en las versiones más recientes de Xcode. Se establece el desafío de crear un clon de Tinder para perros llamado "Dogtinder" para poner a prueba estas capacidades.

Fracasos iniciales: Qwen y Grok en el desafío

El análisis comienza con los modelos de peor rendimiento, destacando a Qwen 3 Coder Next y Grok Code Fast. Qwen falló totalmente al no poder generar un archivo de proyecto que Xcode pudiera abrir, ofreciendo solo instrucciones manuales poco útiles. Grok, por su parte, aunque logró una aplicación funcional tras varias correcciones en Xcode, presentó un diseño visualmente pobre y carente de secciones básicas. Ambos modelos demostraron que, a pesar de su fama en la web, su comprensión de las estructuras de archivos de Swift es mínima. Este segmento subraya la frustración de depender de herramientas que requieren intervención manual constante del desarrollador.

Resultados mediocres y sorpresas con Kimi y Gemini

Kimi K2.5 mostró una mejora al incluir animaciones de deslizamiento, aunque estas resultaron ser imprecisas y con errores visuales notables. El caso de Gemini 3 Pro fue el más curioso, ya que falló estrepitosamente usando su propia CLI pero entregó un resultado excelente a través del asistente de Xcode. La versión de Gemini en Xcode incluyó un diseño estético e incluso un logotipo personalizado, demostrando que la herramienta de integración influye tanto como el modelo. Esta sección ilustra cómo modelos de nivel medio pueden brillar si se utilizan dentro del entorno de desarrollo adecuado. El autor destaca que la consistencia sigue siendo el mayor problema para estos agentes de IA.

Dominio de los pesos pesados: GPT 5.3 y Opus 4.6

GPT 5.3 Codecs se destacó por ser el primer modelo en producir el paquete completo de Swift de forma autónoma, aunque con errores de diseño en el escalado de imágenes. Sin embargo, el verdadero ganador fue Opus 4.6, que superó todas las expectativas al completar el desafío de forma impecable al primer intento usando Claude Code CLI. Opus no solo creó el proyecto sin ayuda externa, sino que entregó una interfaz hermosa con animaciones fluidas y lógica de chat funcional. Este resultado posiciona a Opus como la herramienta de referencia actual para desarrolladores de iOS que buscan asistencia de IA. La comparación deja claro que hay una brecha generacional entre Opus y sus competidores directos.

Evaluación de GLM 5 y conclusiones finales

El video concluye con una prueba adicional del nuevo modelo GLM 5, que a pesar de sus promesas de superar a Opus, resultó ser un fracaso en Swift. GLM no pudo cargar imágenes ni completar la interfaz de chat, quedando relegado a los últimos puestos de la tabla. El presentador reflexiona sobre la necesidad de modelos específicos por lenguaje para evitar el sesgo hacia la web que domina el mercado actual. Se recomienda a los desarrolladores de iOS priorizar el uso de asistentes integrados en Xcode para maximizar la compatibilidad. Finalmente, el video cierra invitando a la audiencia a debatir sobre el futuro de los modelos personalizados para nichos de programación técnica.

Community Posts

View all posts