À retenir : – une ia capable de générer des interfaces utilisateur en swiftui – utilisation d’un modèle open source pour produire des données synthétiques – validation rigoureuse du code généré par un compilateur et un modèle vision-langage – UICoder surpasse les performances de StarChat-Beta et rivalise avec GPT-4 – approche prometteuse pour d’autres langages et outils d’interface utilisateur
Apple a développé une intelligence artificielle capable de générer d’élégantes interfaces en SwiftUI. Dans le cadre d’une étude récente, des chercheurs d’Apple ont présenté une méthode innovante pour enseigner aux modèles de langage comment créer des interfaces utilisateur dans cet environnement de programmation. Cette approche repose sur l’auto-apprentissage et pourrait révolutionner les pratiques des développeurs en matière de conception d’interfaces.
### Un défi pour les intelligences artificielles
Actuellement, bien que les grands modèles de langage soient performants dans diverses tâches rédactionnelles et dans la programmation en général, ils rencontrent encore des difficultés à produire un code correct et esthétiquement plaisant pour les interfaces utilisateur. Les chercheurs ont identifié l’origine du problème : même au sein de données soigneusement sélectionnées, moins de 1 % des exemples disponibles concernent spécifiquement le code d’interface.
Pour surmonter cette contrainte, l’équipe a adopté une stratégie astucieuse. Ils ont commencé par utiliser StarChat-Beta, un modèle open source dédié à la programmation, auquel ils ont fourni différentes descriptions d’interfaces utilisateur. Ce modèle avait alors pour tâche de générer des programmes SwiftUI synthétiques basés sur ces descriptions initiales. Cette phase marquait le début d’un processus itératif visant à améliorer la qualité du code produit.
### Validation rigoureuse du code
Chaque fragment de code généré était ensuite soumis à un processus strict comportant deux étapes : tout d’abord, un compilateur Swift vérifiait son bon fonctionnement ; ensuite, GPT-4V, un modèle combinant vision et langage évaluait si l’interface compilée correspondait à la description fournie au départ. Les résultats peu pertinents ou non conformes étaient éliminés systématiquement afin que seuls les codes répondant à des normes élevées soient retenus pour affiner le modèle lors des itérations suivantes.
Ce processus a été mené cinq fois. À chaque cycle successif, le modèle amélioré produisait du code SwiftUI plus abouti, permettant ainsi de constituer un ensemble toujours plus fiable pour les itérations suivantes. Au final, l’équipe a réussi à accumuler près d’un million (exactement 996 000) programmes en SwiftUI et a créé un nouveau modèle baptisé UICoder. Celui-ci est capable non seulement de compiler efficacement mais aussi de fournir avec fidélité des interfaces conforme aux descriptions initiales.
### Performance supérieure
Les tests effectués montrent qu’UICoder dépasse largement StarChat-Beta tant dans les éléments automatisés que lors des évaluations réalisées par des experts humains. Fait encore plus impressionnant : UICoder se compare favorablement à GPT-4 en termes généralistes et va même jusqu’à surpasser ce dernier concernant le taux de succès lors des compilations.
L’étude met également en lumière une trouvaille intéressante suite à une erreur initiale concernant StarChat-Beta qui avait été formé sur trois corpus principaux incluant TheStack — comportant 250 milliards de tokens provenant de référentiels sous licence permissive — ainsi que sur divers pages Web collectées et OpenAssistant-Guanaco qui ne contenait qu’un exemple pertinent tous les dix mille cas analysés concernant Swift.
### Un apprentissage original
Le manque apparent dans les données utilisées durant l’entraînement souligne que l’amélioration observée chez UICoder ne découle pas simplement réutilisation basique d’exemples antérieurs déjà vus mais plutôt grâce au développement automatique intégré par Apple via sa boucle rétroactive innovante.
Cette découverte incite donc les chercheurs à envisager avec optimisme une applicabilité élargie : bien qu’ils aient démontré son efficacité pour générer des interfaces sous SwiftUI, leur méthodologie pourrait potentiellement être adaptée facilement à différents langages ou frameworks dédiés aux interfaces utilisateur. Une telle avancée ouvre donc la voie vers une nouvelle génération d’outils créatifs autour du développement interface où l’intelligence artificielle pourrait devenir véritablement partenaire collaboratif auprès des développeurs internationaux.
Rédacteur en chef de Kame House, Nicolas est un passionné des nouvelles technologies et des jeux vidéos depuis toujours. Roule fièrement en Tesla Model 3 depuis 2022 !
Super article ! C’est vraiment cool de voir comment Apple innove dans le domaine des interfaces utilisateur
Sérieusement, vous croyez que ces modèles vont vraiment comprendre notre créativité humaine ou c’est juste du pipeau ?
Hahaha, j’imagine trop un robot développeur qui se tape des cafés en codant pendant qu’on galère derrière 😂
Franchement chapeau aux chercheurs d’Apple! Ils ont réussi à faire avancer les choses dans ce domaine complexe
Ah bah super! Encore une technologie qui va nous rendre esclaves des machines… Bravo Apple 👏😒
Wow, UICoder a l’air d’être un vrai game changer pour la programmation SwiftUI. Hâte de l’essayer!
Génial tout ça ! Si UICoder peut me simplifier la vie en codant à ma place, je suis preneur !
L’article est bien écrit mais je comprends pas pourquoi on doit faire confiance à une machine pour créer du code fiable
C’est quoi ce délire ? On parle d’IA qui fait du code maintenant, je pensais qu’on était pas encore là… Déprimant
Vraiment impressionnant comme avancée technique. Ça pourrait révolutionner notre manière de créer des apps!
Vous trouvez pas que cette technologie c’est juste une excuse pour réduire les coûts et virer des gens ? Pff
Je parie que dans 5 ans on aura tous un assistant AI à nos côtés au travail. Trop dégoûtant cette idée !
Très intéressant tout ça ! J’adore l’idée que l’IA puisse améliorer notre façon de coder
Franchement, qui a besoin de ça ? On a déjà assez d’IA qui nous pourrissent la vie sans en rajouter !
Non mais sérieux, encore une IA qui va remplacer les devs ?! Ça va trop loin là, stop !
Est-ce que quelqu’un a testé UICoder déjà ? Je suis curieux de savoir si ça tient ses promesses
Lol j’attends avec impatience le jour où mon ordi fera le café tout seul aussi 🤣!