J'ai donné le même défi Swift à 7 agents IA. C'était BRUTAL !

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

Transcript

00:00:00La plupart des modèles d'IA pour le code ont un énorme problème : ils ne gèrent pas du tout Swift.
00:00:06On a tous vu les démos tape-à-l'œil d'agents créant des applis web et des outils JavaScript en quelques secondes,
00:00:11mais dès qu'on leur demande de toucher au code Swift, tout s'effondre très vite.
00:00:16Alors, pourquoi les modèles les plus intelligents au monde échouent-ils sur le développement iOS ?
00:00:22C'est ce que nous allons découvrir dans la vidéo d'aujourd'hui.
00:00:25Aujourd'hui, je soumets les meilleurs agents de code au même défi : coder une application Swift pour voir
00:00:30quels modèles s'en sortent vraiment et lesquels ne sont bons qu'à faire du développement web.
00:00:36Je vous spoile un peu : l'un de ces modèles a parfaitement réussi le test.
00:00:40Lequel ? Vous le saurez plus tard dans cette vidéo.
00:00:43Ça va être très intéressant, alors c'est parti.
00:00:50Tout d'abord, abordons le problème de fond.
00:00:52Pourquoi les modèles d'IA sont-ils mauvais en développement Swift ?
00:00:56Et soyons clairs, ce n'est pas seulement mon observation.
00:00:59Une étude intitulée “Évaluation des grands modèles de langage pour la génération de code - Étude comparative”
00:01:05sur Python, Java et Swift a révélé que pour tous les modèles testés, y compris GPT et Claude,
00:01:12les performances en Swift étaient systématiquement inférieures à celles en Python ou Java.
00:01:17Et la raison se résume à trois goulots d'étranglement principaux qui handicapent l'IA dès qu'elle touche
00:01:22à l'écosystème Apple.
00:01:24Premièrement, il y a le manque de données.
00:01:25Alors que le web regorge de code open source en JavaScript et Python, une grande partie du code
00:01:31professionnel Swift est cachée dans des dépôts privés ou commerciaux.
00:01:36Deuxièmement, il y a la dérive des API.
00:01:38Apple est réputé pour avancer vite et tout bousculer.
00:01:42SwiftUI et les modèles de concurrence de Swift ont plus évolué ces trois dernières années que
00:01:47certains standards du web en une décennie.
00:01:49Comme la plupart des IA ont une date limite de connaissances, elles tentent souvent d'écrire du Swift
00:01:54avec des règles obsolètes qui ne fonctionnent plus dans la dernière version de Xcode.
00:01:59Enfin, il y a le biais des benchmarks.
00:02:02La plupart des modèles testés aujourd'hui, comme Qwen ou Grok, sont entraînés pour des tests spécifiques.
00:02:08Ils sont optimisés pour réussir des benchmarks massifs comme HumanEval, qui sont presque entièrement
00:02:13axés sur Python et la logique web.
00:02:16Comme il existe peu de benchmarks majeurs pour les interfaces iOS complexes, ces modèles n'ont
00:02:21tout simplement pas été évalués sur leur capacité à créer une application fonctionnelle.
00:02:25J'ai donc choisi certains des modèles de code les plus populaires et je leur ai donné à chacun
00:02:30exactement le même prompt.
00:02:32Je les ai chargés de créer un clone d'application type Tinder en Swift, appelé DogTinder, où
00:02:38on vous présente différents chiens via l'API Dog CEO.
00:02:43Vous pouvez swiper à gauche ou à droite pour choisir ceux que vous aimez et, s'il y a un match,
00:02:47vous pouvez ouvrir un chat pour échanger des messages rigolos avec le chien.
00:02:52C'est censé être mignon et assez simple pour qu'un agent y arrive, tout en incluant
00:02:58des défis comme la création d'une animation de swipe en Swift natif.
00:03:03Pour les tests, nous allons commencer par le moins performant pour finir par le meilleur.
00:03:09À la dernière place, nous avons malheureusement le nouveau modèle Qwen 3 Coder Next.
00:03:15Qwen a présenté ce modèle comme une alternative open source aux poids lourds comme Kimi ou Claude,
00:03:20avec une taille plus réduite mais des performances supérieures.
00:03:25Si c'est peut-être vrai pour le web, ça ne s'est pas vérifié pour le défi Swift.
00:03:32Dès que possible, j'ai utilisé leurs propres outils en ligne de commande (CLI) et, dans ce cas,
00:03:37j'ai utilisé l'outil CLI de Qwen pour réaliser ce défi.
00:03:42Une fois le code généré, impossible d'ouvrir le fichier projet produit par Qwen.
00:03:48Je lui ai alors demandé de corriger l'erreur qui s'affichait à l'ouverture du fichier.
00:03:53Mais même là, Qwen n'a pas pu corriger l'erreur et m'a fourni à la place un long fichier lisez-moi
00:03:58expliquant comment créer le projet moi-même de zéro puis y copier les fichiers,
00:04:03ce que je ne voulais pas faire manuellement, car cela perdrait tout l'intérêt du défi.
00:04:09Comme vous le verrez, j'ai remarqué que certains modèles avaient beaucoup de mal à produire
00:04:14l'ensemble des fichiers du projet que l'on pourrait ouvrir du premier coup.
00:04:20Pour des cas comme Qwen, j'ai décidé de lui donner un défi plus facile.
00:04:26J'ai créé manuellement un nouveau projet iOS sur Xcode, et j'ai pensé que c'était le bon moment
00:04:31pour tester la nouvelle fonctionnalité d'IA intégrée à la dernière version de Xcode.
00:04:38C'est plutôt cool car Xcode a enfin sa propre fonction d'assistant IA.
00:04:43Je l'ai connecté à mon compte OpenRouter, j'ai choisi Qwen 3 Coder Next et j'ai retenté le défi.
00:04:52Malgré toute cette aide, Qwen n'a pas pu produire un projet fonctionnel du premier coup,
00:04:57notamment à cause d'erreurs dans la configuration des modèles Swift.
00:05:02Avec le nouvel assistant IA, on peut surligner tous ces problèmes et lui demander
00:05:07de générer un correctif pour toutes les erreurs sélectionnées d'un seul coup.
00:05:12Enfin, après quelques tours pour corriger les erreurs restantes, nous avons obtenu
00:05:16une version fonctionnelle de DogTinder, mais honnêtement, le résultat était médiocre.
00:05:23Il n'arrivait même pas à charger les images de l'API et l'interface était très rudimentaire.
00:05:32Sans oublier un bug dans la section des matchs où aucun match n'apparaissait.
00:05:37Malheureusement, Qwen a totalement échoué au défi Xcode.
00:05:42En avant-dernière position, nous avons Grok avec son modèle Grok Code Fast.
00:05:48Pour celui-ci, j'ai utilisé l'extension VS Copilot sur VS Code et, encore une fois,
00:05:53Grok n'a pas pu produire tous les fichiers nécessaires au projet Swift complet.
00:06:02Il m'a simplement donné des instructions pour copier les fichiers manuellement.
00:06:06J'ai donc dû repasser par l'assistant IA de Xcode en appelant le modèle Grok
00:06:12via OpenRouter.
00:06:14Grok a aussi rencontré quelques problèmes, j'ai dû le relancer deux fois pour corriger
00:06:19les erreurs restantes.
00:06:20Mais après tout cela, il a réussi à terminer l'application.
00:06:23Au premier coup d'œil, Grok a fait un travail terrible sur le design.
00:06:27Le visuel n'avait aucun intérêt et il n'y avait même pas de section pour voir les matchs.
00:06:33La seule raison pour laquelle je place Grok devant Qwen est que tout fonctionne
00:06:38techniquement, y compris le chat, mais les deux sont très proches dans la médiocrité.
00:06:48Rien dans cette appli n'est excitant ou visuellement agréable.
00:06:51Je ne dirais pas que Grok a échoué, mais il obtient la note de passage la plus basse possible.
00:06:58Le suivant sur notre liste est Kimi avec son tout nouveau modèle Kimi K2.5.
00:07:04Kimi a eu le même problème que Qwen : via son CLI natif, il a produit un fichier projet
00:07:08que je n'ai pas pu ouvrir.
00:07:11Même après avoir tenté de le corriger via le CLI, le problème persistait.
00:07:15Encore une fois, j'ai dû utiliser l'assistant IA de Xcode avec Kimi K2 via OpenRouter.
00:07:23La performance de Kimi était similaire à celle de Qwen et Grok car il n'a pas réussi
00:07:29le défi du premier coup.
00:07:31J'ai dû lui demander de corriger les erreurs restantes.
00:07:34Mais après un seul tour de corrections, Kimi a pu produire le résultat final.
00:07:39Cette version était un cran au-dessus de Qwen et Grok car, au moins, on avait une application
00:07:44qui ressemblait vraiment à Tinder.
00:07:47et un pop-up élégant lors d'un match.
00:07:53on the sides and a fancy pop-up when we got a match.
00:07:57Mais l'animation était très buggée et capricieuse.
00:08:00Parfois, l'image disparaissait complètement car elle flottait hors de l'écran.
00:08:05Mais au moins, Kimi enregistrait correctement les matchs.
00:08:08On avait une section pour voir nos matchs, en ouvrir un et commencer à discuter
00:08:12avec le chien en question.
00:08:14C'est déjà un grand pas en avant par rapport à Qwen et Grok.
00:08:18Mais comparé aux exemples suivants, je dirais que le résultat reste insuffisant.
00:08:25C'est pourquoi je place Kimi plus bas dans le classement.
00:08:29Ensuite, nous avons Gemini 3 Pro.
00:08:31Celui-ci est intéressant car j'ai obtenu des résultats totalement différents entre
00:08:36leur propre CLI et l'assistant IA de Xcode.
00:08:41Voyons d'abord ce que nous avons obtenu avec le CLI Gemini.
00:08:45Le CLI indiquait que le modèle était encore en mode aperçu.
00:08:49C'était peut-être là le cœur du problème.
00:08:50Encore une fois, avec le même prompt, il n'a pas pu me donner de fichier projet à la fin.
00:08:59Pour créer un projet Xcode, il faut d'abord un fichier YAML avec les détails,
00:09:04puis utiliser la commande CodeGen pour le générer.
00:09:09Mais pour une raison inconnue, certains modèles refusent de le faire ou ne savent pas comment.
00:09:14Pourtant, quand j'ai demandé spécifiquement à Gemini de créer le fichier, il l'a fait.
00:09:18J'ai juste dû l'autoriser à exécuter la commande CodeGen.
00:09:22Une fois le projet ouvert, il y avait une erreur d'asset.
00:09:25Mais Gemini l'a corrigée rapidement.
00:09:28Une fois résolu, l'application compilait enfin.
00:09:31Mais le résultat était mauvais, étonnamment mauvais.
00:09:35C'était cassé.
00:09:37Le système de matchs ne fonctionnait pas et tout était buggé.
00:09:41À ce stade, j'étais prêt à lui donner une note éliminatoire.
00:09:45Mais par curiosité, j'ai retenté le défi avec l'assistant natif de Xcode
00:09:50en utilisant Gemini 3 Pro via OpenRouter.
00:09:56Et cette fois, il a réussi du premier coup.
00:10:01Et non seulement ça, mais l'application était incroyablement réussie.
00:10:04Le design était superbe, les fonctionnalités étaient là.
00:10:08Il a même ajouté un joli petit logo en haut.
00:10:10Honnêtement, il n'y avait rien à redire sur cette version de l'appli.
00:10:14Je suis perplexe de voir comment le même prompt sur le même modèle, mais via
00:10:20des outils différents, a pu produire deux résultats aussi distincts.
00:10:24Quoi qu'il en soit, j'ai été très impressionné par la version fournie par Gemini via
00:10:29l'outil de Xcode, et du premier coup qui plus est.
00:10:32C'est pourquoi je place Gemini assez haut, car le résultat final était vraiment super.
00:10:38Bon, la suite du classement : GPT 5.3 Codecs.
00:10:43Comme OpenAI a sa propre application Codecs, j'ai fait le test depuis celle-ci.
00:10:49Contrairement aux modèles précédents, GPT 5.3 a réussi à produire
00:10:55un produit fonctionnel du premier coup.
00:10:58C'est déjà un grand pas en avant.
00:11:00Mais je dois dire que l'application en elle-même n'était pas très excitante.
00:11:03Elle avait un thème bleu très monotone.
00:11:06Le plus gros problème était qu'il ne parvenait pas à ajuster l'image au cadre de l'appli.
00:11:13Pour certains chiens, on se retrouvait avec un conteneur très étiré qui sortait
00:11:18des limites de l'écran.
00:11:20C'est un gros défaut de conception que Codecs n'a pas su gérer correctement.
00:11:25Mais l'appli est fonctionnelle avec tous les éléments d'interface nécessaires.
00:11:29La section des matchs fonctionnait aussi très bien pour discuter avec les chiens.
00:11:34Si je mets GPT 5.3 aussi haut, c'est parce que c'est le premier modèle capable
00:11:40de produire tout le projet Swift sans aucune aide et sans préparer de projet Xcode.
00:11:50Dans l'ensemble, c'est pas mal, mais sans plus.
00:11:54Et enfin, nous arrivons à la première place.
00:11:57Je vous laisse un instant pour deviner de quel modèle il s'agit.
00:12:01Et oui, je pense que nous savons tous lequel c'est.
00:12:04C'est bien sûr Opus 4.6, qui a absolument surclassé ce défi d'entrée de jeu.
00:12:11J'ai utilisé le même prompt, mais via leur propre outil CLI Claude Code.
00:12:17J'ai juste dû donner les permissions nécessaires.
00:12:20Le modèle a tout fait seul, y compris la création du fichier projet Xcode complet
00:12:27sans aucune préparation de ma part.
00:12:29Et en plus, l'application était absolument magnifique.
00:12:34Le design était là, les animations étaient fluides et agréables.
00:12:37La section des matchs et la fenêtre de chat fonctionnaient parfaitement.
00:12:41La seule chose manquante était un logo un peu plus travaillé comme celui de Gemini.
00:12:48Mais à part ça, c'était la plus belle version de toutes.
00:12:52Et il a réussi ça du premier coup.
00:12:55La performance d'Opus est incroyable comparée aux autres modèles.
00:13:01Il mérite donc amplement sa première place au classement.
00:13:05Mais attendez, ce n'est pas fini.
00:13:07Voici un petit bonus pour vous.
00:13:09Il reste un modèle à examiner qui n'est pas encore apparu dans le classement.
00:13:14Pendant que je préparais cette vidéo, GLM a annoncé la sortie de sa version 5,
00:13:18affirmant que ce modèle est encore plus performant en code qu'Opus 4.6.
00:13:26J'ai donc dû le tester sur ce même défi Swift.
00:13:31Comme GLM n'a pas son propre CLI, j'ai réutilisé l'assistant IA de Xcode
00:13:37via OpenRouter avec GLM 5.
00:13:41Déjà, GLM n'a pas réussi du premier coup.
00:13:45C'est donc déjà moins bien qu'Opus 4.6.
00:13:49Ensuite, j'ai dû passer par trois cycles de corrections pour que ça compile enfin.
00:13:56Voyons le résultat final pour GLM 5.
00:13:59Pour moi, c'est déjà un échec.
00:14:03Il ne semble pas charger les images de chiens.
00:14:06Il n'y a pas de fonctionnalité de swipe.
00:14:08Pire encore, il ne montre que trois chiens avant d'indiquer qu'il n'y en a plus.
00:14:15De plus, dans la section matchs, impossible de cliquer pour ouvrir le chat.
00:14:23Cette partie n'est visiblement pas terminée.
00:14:25Alors, où placer GLM avec une telle performance ?
00:14:29Hélas, en avant-dernière position, juste devant Qwen, car ce résultat
00:14:36est inacceptable et bien loin des autres modèles.
00:14:42Dire que GLM 5 est plus fort qu'Opus 4.6 est une affirmation très audacieuse.
00:14:47Je ne l'ai pas testé sur d'autres tâches de code, et il se peut que
00:14:52pour des projets web simples, il soit aussi bon, voire meilleur qu'Opus 4.6.
00:14:59Mais ce n'est certainement pas un bon modèle pour coder en Swift.
00:15:02Qu'avons-nous appris aujourd'hui ?
00:15:04L'IA avance à la vitesse de l'éclair, mais le problème du Swift est bien réel.
00:15:10Opus 4.6 et GPT 5.3 prouvent qu'avec un modèle assez large et un bon raisonnement,
00:15:18on peut surmonter le manque de données open source en Swift.
00:15:23Mais pour Qwen et Grok, le manque de données et la dérive des API pèsent lourd.
00:15:31J'ai aussi été surpris par l'utilité du nouvel assistant IA de Xcode pour les applis Swift.
00:15:36On l'a bien vu avec la différence entre les deux versions de Gemini.
00:15:40Si vous développez sur iOS, privilégiez les outils IA internes pour de meilleurs résultats.
00:15:47Voilà, j'espère que vous avez apprécié ce classement.
00:15:51Cela ouvre le débat sur la nécessité d'avoir des modèles spécifiques par langage.
00:15:57Car beaucoup de modèles sont trop biaisés vers le web, JavaScript ou Python.
00:16:04Pour des solutions sur mesure, nous aurons peut-être besoin de modèles dédiés.
00:16:09Et vous, quel est votre avis là-dessus ?
00:16:11Dites-le nous dans les commentaires.
00:16:13Si vous avez aimé cette vidéo, n'oubliez pas de lâcher un pouce bleu.
00:16:19Et abonnez-vous à notre chaîne.
00:16:22C'était Andris de Better Stack, on se retrouve dans les prochaines vidéos.

Key Takeaway

Cette analyse comparative révèle que si la majorité des agents IA échouent face à la complexité de Swift et Xcode, Opus 4.6 et GPT 5.3 se distinguent par leur capacité à produire des applications iOS fonctionnelles.

Highlights

Le développement Swift pose un défi majeur aux IA en raison du manque de données open source et de l'évolution rapide des API d'Apple.

La plupart des modèles sont entraînés sur des benchmarks comme HumanEval, qui privilégient Python et la logique web au détriment d'iOS.

Opus 4.6 se classe premier en réussissant le défi du premier coup avec un design élégant et des animations fluides.

GPT 5.3 Codecs est le seul autre modèle capable de générer un projet complet de manière autonome, malgré des défauts visuels.

L'utilisation d'outils intégrés comme l'assistant IA de Xcode améliore significativement les résultats, notamment pour Gemini 3 Pro.

Les modèles open source comme Qwen et GLM 5 échouent massivement sur Swift, montrant une forte spécialisation vers le web.

Le test souligne la nécessité potentielle de modèles d'IA spécifiques par langage pour surmonter les biais des modèles généralistes.

Timeline

Introduction et problématique du code Swift

L'auteur introduit le problème majeur des modèles d'IA actuels qui peinent à gérer le langage Swift malgré leurs succès en JavaScript. Trois obstacles principaux sont identifiés : la rareté du code open source professionnel, la dérive rapide des API d'Apple et le biais des benchmarks comme HumanEval. Ces tests classiques se concentrent sur la logique web et Python, délaissant les interfaces iOS complexes. L'objectif de la vidéo est de soumettre sept agents à un défi identique pour identifier ceux qui maîtrisent réellement le développement mobile. Cette section pose le cadre technique indispensable pour comprendre pourquoi les modèles les plus intelligents peuvent échouer lamentablement.

Le défi DogTinder et les échecs de Qwen et Grok

Le défi consiste à créer un clone de Tinder nommé DogTinder utilisant l'API Dog CEO avec des fonctionnalités de swipe et de chat. Qwen 3 Coder Next finit dernier, incapable de générer un projet ouvrable ou de charger correctement les images via l'assistant Xcode. Grok Code Fast occupe l'avant-dernière place avec un design médiocre et l'absence d'une section pour les matchs. L'auteur souligne que ces modèles nécessitent trop d'interventions manuelles pour être considérés comme efficaces. Ces premiers tests démontrent que la performance sur le web ne se traduit pas automatiquement par une compétence en Swift.

Évaluation de Kimi K2.5 et Gemini 3 Pro

Kimi K2.5 montre une légère amélioration en proposant une interface ressemblant à Tinder, bien que les animations de swipe restent très buggées. Gemini 3 Pro offre un cas d'étude fascinant : médiocre via son propre CLI, il devient excellent lorsqu'il est utilisé via l'assistant natif de Xcode. Dans cette configuration, Gemini produit une application superbe avec un logo personnalisé et des fonctionnalités complètes dès le premier essai. Cette différence de performance suggère que l'outil de déploiement est aussi crucial que le modèle lui-même. L'auteur commence ici à identifier des solutions viables pour les développeurs iOS.

Le podium : GPT 5.3 Codecs et le champion Opus 4.6

GPT 5.3 Codecs se hisse en deuxième position grâce à sa capacité unique à générer l'intégralité du projet sans aide extérieure, malgré un design bleu monotone et des problèmes de redimensionnement d'images. La première place revient sans conteste à Opus 4.6, utilisant l'outil Claude Code pour créer une application magnifique et fluide. Opus réussit tout du premier coup, incluant des animations parfaites et une structure de projet impeccable. C'est le seul modèle qui semble réellement comprendre l'écosystème Apple de manière intuitive. La supériorité d'Opus marque un tournant dans l'assistance au codage pour les environnements fermés.

Le test bonus de GLM 5 et conclusions finales

En guise de bonus, le modèle GLM 5 est testé suite à des affirmations de supériorité sur Opus, mais il échoue lamentablement en finissant avant-dernier. L'application générée ne swipe pas, ne charge pas les images et présente un chat non fonctionnel, prouvant que les promesses marketing ne reflètent pas toujours la réalité du terrain. L'auteur conclut sur l'importance de privilégier les outils IA internes à Xcode pour le développement iOS. Il soulève enfin une question ouverte sur l'avenir des modèles : devrons-nous créer des IA spécialisées par langage pour garantir une expertise réelle ? La vidéo se termine par un appel à la communauté pour discuter de ce besoin de modèles dédiés.

Community Posts

View all posts