Un assistant de code IA avancé est désormais à l’avant-garde du développement GraphQL au sein des grandes entreprises technologiques, avec Expedia Group et Airbnb qui implémentent des modèles de langage étendus (LLM) pour générer des réponses GraphQL simulées. Cette innovation améliore considérablement la productivité des développeurs en automatisant la création de données réalistes pour les tests d’API et le développement frontend, même lorsque les services backend sont incomplets.
- Expedia Group a mis en open source
mockql-rs, une interface en ligne de commande (CLI) Rust exploitant les LLM pour la génération de mocks GraphQL à la demande. - Cette approche permet aux développeurs de logiciels de combiner des données backend en direct avec des données mock générées par l’IA au sein d’une seule réponse GraphQL.
- Airbnb a précédemment introduit une directive
@generateMockau moment de la compilation, présentant diverses stratégies pour intégrer l’IA dans les flux de travail de développement. - Le principe fondamental est que les schémas GraphQL fournissent une « forme » structurée que les LLM excellent à « remplir », réduisant drastiquement la création manuelle de données de test.
L’assistant de code IA simplifie la simulation GraphQL pour les développeurs
Le paysage des outils d’IA pour les développeurs continue de s’étendre, avec une avancée notable dans la manière dont les développeurs de logiciels gèrent le développement d’API GraphQL. Expedia Group a récemment dévoilé mockql-rs, une interface en ligne de commande (CLI) open source construite en Rust, conçue pour générer des réponses GraphQL simulées à l’aide de grands modèles de langage au moment d’une requête. Cela marque un pas significatif dans l’IA de codage, s’attaquant à un problème de longue date pour les développeurs : la création et la maintenance de données de test pour des API en évolution.
Pour les développeurs de logiciels, l’attrait de cet assistant de code IA est évident. Le développement traditionnel implique souvent la création manuelle de nombreux fixtures JSON pour simuler les réponses d’API, un processus non seulement chronophage mais aussi susceptible de devenir obsolète à chaque modification de schéma. Samuel Vazquez, ingénieur logiciel chez Expedia Group, souligne que les modèles d’IA générative, bien que peu performants pour inventer des structures entièrement nouvelles, sont exceptionnellement doués pour peupler celles qui existent déjà. Un schéma GraphQL fournit cette structure précise et délimitée, permettant à l’IA de la remplir avec des données pertinentes et réalistes.
Comment mockql-rs d’Expedia améliore la productivité des développeurs
mockql-rs d’Expedia fonctionne comme un intermédiaire, se plaçant entre l’application cliente et le serveur backend. Les développeurs de logiciels peuvent annoter des champs spécifiques dans leurs requêtes GraphQL avec une directive @mock, en fournissant éventuellement un indice pour guider la génération de l’IA. L’outil analyse et valide ensuite intelligemment l’opération par rapport au schéma, en utilisant des outils comme apollo-compiler.
De manière cruciale, mockql-rs distingue les champs mock annotés des champs réels. Il transmet les requêtes de données réelles en amont au backend réel, tout en sollicitant simultanément le LLM avec l’opération et un sous-ensemble pertinent du schéma pour les champs mock. Le résultat est une réponse fusionnée de manière transparente où les données backend en direct coexistent avec les données générées par l’IA. Cette capacité signifie qu’un développeur peut recevoir une réponse unique et complète contenant les détails réels d’une propriété d’un backend, ainsi que des recommandations générées pour une fonctionnalité dont le résolveur n’est pas encore construit, accélérant considérablement les cycles d’itération et la productivité globale des développeurs en IA.
La décision d’Expedia d’implémenter cela sous forme de CLI était stratégique, garantissant une large accessibilité. Tout exécuteur de tests, tâche d’intégration continue (CI) ou script de build peut facilement exécuter le processus, évitant les dépendances complexes de SDK ou de bibliothèques clientes. Ce choix de conception en fait un ajout polyvalent à la boîte à outils d’un développeur de logiciels, rivalisant potentiellement avec l’utilité d’autres outils de génération de code IA en se concentrant sur un problème spécifique et de grande valeur.
Approches divergentes des mocks GraphQL alimentés par l’IA
Bien que mockql-rs d’Expedia Group représente une solution d’exécution, ce n’est pas la seule approche basée sur l’IA pour la simulation GraphQL. Airbnb, par exemple, a introduit sa propre directive @generateMock en avril, qui opère au moment de la compilation. La méthode d’Airbnb implique le traitement de la directive pendant la génération de code, produisant à la fois un fichier JSON de données mock et des fonctions d’accès typées. Cette sortie est ensuite utilisée pour les applications de démonstration, les tests de snapshot et les tests unitaires, le générateur préservant intelligemment les modifications manuelles lors des exécutions ultérieures.
Illustrant davantage les différentes perspectives, la GraphQL Foundation a également ouvert une RFC (Request for Comments) en février, proposant une troisième conception distincte. Cette RFC définit une directive @mock au niveau de l’opération, plutôt que sur des champs individuels, permettant la sélection de réponses mock nommées. Une exigence clé de la RFC est qu’un client conforme doit renvoyer un mock sans initier de requête réseau, les réponses mock résidant dans un répertoire dédié __graphql_mocks__. Ces trois implémentations distinctes, bien que partageant un objectif commun, soulignent l’exploration continue au sein de la communauté des développeurs sur la meilleure façon d’intégrer la génération de code IA dans les flux de travail GraphQL, présentant aux développeurs de logiciels différentes options à considérer.
Quel est l’impact plus large sur les outils d’IA pour les développeurs ?
L’émergence de ces solutions de simulation GraphQL basées sur les LLM, provenant de leaders de l’industrie comme Expedia et Airbnb, souligne une tendance croissante dans les outils d’IA pour les développeurs. Cette application spécialisée de la technologie d’assistant de code IA démontre comment les grands modèles de langage dépassent la complétion de code générale, comme celle offerte par GitHub Copilot ou Tabnine, pour s’orienter vers des rôles plus spécifiques au domaine et améliorant les flux de travail. Pour les développeurs de logiciels, cela signifie moins de temps passé sur le code passe-partout et plus de concentration sur la logique métier et l’innovation.
Ce développement pourrait également influencer l’évolution d’autres solutions d’IA de codage et d’alternatives à GitHub Copilot. À mesure que les modèles d’IA deviennent plus aptes à comprendre et à manipuler des données structurées basées sur des schémas, nous pourrions voir des capacités de génération intelligente similaires appliquées à d’autres spécifications d’API ou modèles de données. La capacité à générer des données réalistes et contextuellement pertinentes à la demande représente un bond significatif pour la productivité des développeurs en IA, réduisant potentiellement le temps de débogage et accélérant la livraison de nouvelles fonctionnalités. Les développeurs de logiciels gagnent de puissants alliés dans leurs tâches quotidiennes, transformant la façon dont les applications sont construites et testées.
Un enseignement pratique pour les développeurs de logiciels est d’explorer comment l’intégration d’outils de génération de mocks basés sur l’IA peut réduire considérablement la configuration manuelle des données, permettant une itération plus rapide et des tests plus robustes des composants frontend, même en l’absence de services backend entièrement implémentés. Ce changement permet aux équipes de développer en parallèle plus efficacement.
Le briefing IA hebdo pour votre métier
Un e-mail par semaine : les changements IA qui touchent vraiment votre métier — outils, offres, et quoi en faire.

