La promesse des agents IA

June 7, 2024

chatgpt

Les agents IA sont en vogue depuis l'émergence de ChatGPT, notamment ceux basés sur de grands modèles de langage. L'idée est d'utiliser un LLM (Large Language Model) comme moteur de raisonnement, alimentant un système qui a accès à certains outils (API, navigateur web) et qui peut agir de manière autonome ou semi-autonome. Cette idée a séduit de nombreuses personnes. Voici mon analyse de l'état de l'art et des perspectives futures.

Une nouvelle forme d'automatisation

La forme classique d'automatisation implique généralement un système qui prend des décisions en fonction de règles prédéfinies. Deux conditions sont nécessaires pour que l'automatisation soit efficace : un ensemble de règles claires et un environnement stable. Sur Zapier, par exemple, vous pouvez automatiser des tâches simples en créant des "zaps" qui déclenchent des actions selon des conditions prédéfinies. C'est simple et efficace, mais cela ne fonctionne que pour des tâches simples et répétitives. Avec VBA ou d'autres langages de script, vous pouvez également automatiser des tâches, et ceux qui l'ont fait savent à quel point cela dépend fortement de la forme des données en entrée. Une cellule mal renseignée, et c'est tout le script qui ne fonctionne plus.

Dans la forme classique d'automatisation, le raisonnement est externalisé dans des règles. Dans le cas des agents IA, le raisonnement est internalisé dans un modèle de langage. C'est une différence fondamentale. Le problème est que les modèles de langage ne sont pas conçus pour raisonner. Ils sont conçus pour prédire le prochain mot le plus probable. Ils imitent les compétences humaines, mais ne possèdent aucune intelligence générale. Ils ne sont pas prêts à fonctionner sans un humain dans la boucle. Quelles sont donc les implications de cette nouvelle forme d'automatisation que représentent les agents IA?

Agents IA et automatisation stochastique

Comme expliqué précédemment, les agents IA ont accès à des outils tels que des API, des fichiers, des navigateurs web. L'idée est de les utiliser pour prendre des décisions, de manière autonome ou semi-autonome. Les modèles de langage affichent des scores intéressants sur les benchmarks de mesure du raisonnement comme HellaSwag, mais ces scores ne sont pas suffisants pour garantir une prise de décision fiable. Les modèles de langage sont des modèles stochastiques, c'est-à-dire qu'ils ne donnent pas toujours la même réponse à une même question. Cela peut être problématique pour des tâches nécessitant une prise de décision fiable. Par exemple, si vous utilisez un agent IA pour trader des actions, vous ne voulez pas que l'agent prenne des décisions aléatoires. Vous voulez qu'il prenne des décisions basées sur des faits, des données, des règles.

De plus, les LLMs sont des modèles d'apprentissage profond, réputés pour être difficilement interprétables. Cela pose un problème pour les tâches nécessitant une explication de la décision prise. Par exemple, si vous utilisez un agent IA pour évaluer des candidats à un poste, vous voulez pouvoir expliquer pourquoi l'agent a pris telle ou telle décision. Les modèles de langage ne sont pas conçus pour cela. Ils sont faits pour générer du texte, pas pour expliquer des décisions, ce qui peut avoir des implications légales dans certains cas.

La possibilité de combiner LLM et outils est intéressante en soi. Elle permet d'ouvrir de nouveaux cas d'utilisation et de repenser l'automatisation. Sur ChatGPT, c'est pratique de faire appel à la navigation web ou à des API pour obtenir des réponses plus fiables grâce à du RAG (Retrieval Augmented Generation). Les usages semi-autonomes sont donc à privilégier pour les agents IA, tandis que les usages autonomes sont à éviter, sauf si vous avez une confiance aveugle dans le modèle de langage.

Les cas d'usage où il serait intéressant d'avoir des actions prises par un système biaisé dont on ne maîtrise pas les règles internes seraient ceux où le risque est faible. Par exemple, un agent IA qui prépare de manière autonome un dossier de recherche pour une session de brainstorming. Mais pour les cas d'usage nécessitant interprétabilité et fiabilité, il est préférable de garder un humain dans la boucle.

Conclusion

Les IA génératives sont des outils formidables qui permettent de gagner en productivité. J'en suis personnellement convaincu après avoir développé des applications web s'appuyant sur ces modèles, comme www.discute.co. Je suis également contributeur du framework DSPy de l'université de Stanford et j'ai créé un client en Ruby pour interagir avec les modèles de Mistral AI (https://github.com/fsndzomga/mistral_rb). En revanche, comme en toute chose, il faut raison garder et les utiliser à bon escient.