En 2023, ChatGPT a déclenché une révolution technologique, évoluant rapidement d'agents IA interactifs simples à l'indexation de documents, la connexion à des sources de données et l'analyse des données en une seule phrase. Malgré les nombreuses promesses liées aux modèles de langage de grande taille (MLG), peu se sont concrétisées en raison de plusieurs facteurs :
- Nous créons des agents IA, pas des MLG.
- L'accent est davantage mis sur la recherche que sur l'ingénierie.
- Il y a une surcharge de données de mauvaise qualité.
Cet article examine le rôle des agents IA dans l'intégration des MLG avec les systèmes backend, le potentiel des agents IA en tant que prochaine génération d'interfaces utilisateur et d'expérience utilisateur (UI/UX), et la nécessité de réintroduire des principes fondamentaux d'ingénierie logicielle souvent négligés aujourd'hui.
Je veux une pizza en 20 minutes
Les MLG offrent une UI/UX plus intuitive et simplifiée que les interfaces traditionnelles. Prenons l'exemple de la commande d'une "pizza margherita gourmet livrée en 20 minutes" via une application de livraison.
Dans une UI/UX conventionnelle, réaliser cette demande apparemment simple pourrait impliquer de nombreuses étapes complexes et prendre plusieurs minutes. Vous pourriez avoir besoin de :
- Sélectionner la catégorie "Pizza".
- Parcourir les listes de restaurants et les photos.
- Vérifier les menus pour la pizza margherita.
- Confirmer la rapidité de livraison.
- Reculer si des critères ne sont pas remplis.
Nous avons besoin de plus que des MLG
Bien que les MLG comme GPT-3 excellent dans le traitement du langage naturel (NLP) et dans la génération de réponses cohérentes et contextuelles, leurs capacités s'élargissent considérablement lorsqu'ils sont intégrés à des sources de données externes, des algorithmes et des interfaces spécialisées. Cette intégration permet d'exécuter des tâches que les MLG actuels ne peuvent pas gérer seuls.
Par exemple, une commande de pizza nécessite des connexions à divers systèmes : bases de données de restaurants, gestion des stocks, suivi des livraisons, etc. Pour offrir une expérience fluide pour des demandes variées, d'autres intégrations sont indispensables. Les MLG seuls ne peuvent pas gérer cette complexité.
Agents IA
Les MLG forment la colonne vertébrale des agents IA. Pour traiter diverses demandes, les agents IA utilisent un MLG en même temps que plusieurs composants auxiliaires essentiels :
- Noyau de l'agent : Orchestration des fonctionnalités globales via le MLG.
- Module de mémoire : Facilite la prise de décision contextuelle.
- Planificateur : Détermine la procédure de l'agent en fonction des outils disponibles.
- Outils et ressources : Soutiennent des domaines spécifiques, permettant un traitement efficace des données, un raisonnement et une génération de réponses. Cela inclut des sources de données, des algorithmes et des visualisations.
Ce livre blanc fournit un aperçu complet des agents IA et de leurs composants.
Intégration des agents IA basés sur des MLG : Un défi d'ingénierie
Le langage naturel simplifie les spécifications de cas dans le développement logiciel, mais son ambiguïté inhérente peut conduire à des systèmes mal définis. Le livre fondateur de Fred Brooks, The Mythical Man-Month (1975), souligne des principes essentiels d'ingénierie logicielle négligés durant la phase des MLG, notamment :
- Pas de potion magique : Aucun développement unique ne peut remplacer des pratiques d'ingénierie logicielle solides, y compris l'utilisation des MLG.
- Documentation manuelle et formelle : À une époque de battage médiatique, la documentation est primordiale. Il ne suffit pas de demander à un système de "commander une pizza margherita gourmet en 20 minutes". Une documentation complète est essentielle pour divers cas d'utilisation, exigences backend, nouvelles visualisations et, surtout, les limites du système. L'expression vague "des choses comme" est devenue courante dans le développement de MLG, ignorant la complexité des connexions système et de la visualisation des données.
(Explorez d'autres principes de Brooks sur le blog de Zscaler.)
Notre récent livre blanc aborde le manque de spécifications appropriées pour les systèmes logiciels, proposant un cadre pour créer des spécifications formelles pour les systèmes intelligents basés sur des MLG, en accord avec des principes d'ingénierie logicielle solides.
Le défi des mauvaises données
Pour que les agents IA basés sur des MLG fonctionnent efficacement, des méthodologies formelles d'organisation et de rédaction des données sont cruciales. Les systèmes MLG prospèrent grâce à une documentation de haute qualité. OpenAI a souligné qu'il est "impossible" de former des modèles IA sans utiliser des textes protégés par des droits d'auteur ; par conséquent, la nécessité d'énormes quantités de texte bien rédigé est essentielle.
Cette exigence augmente avec les technologies basées sur RAG où des morceaux de documents sont indexés dans des bases de données vectorielles. Lorsqu'un utilisateur pose une question, les documents les mieux classés sont renvoyés à un MLG générateur pour formuler une réponse cohérente.
Conclusion
Malgré les nombreuses promesses entourant les MLG, très peu se concrétisent. Pour transformer ces promesses en réalité, nous devons reconnaître que nous développons des systèmes d'ingénierie logicielle complexes, pas de simples prototypes.
La conception de systèmes intelligents basés sur des MLG introduit une complexité significative. Des protocoles de spécification et de test appropriés doivent être établis, et les données doivent être considérées comme un élément central, car ces systèmes sont particulièrement sensibles à des données de mauvaise qualité.