Un agent IA désigne un système logiciel capable d’effectuer des tâches de manière autonome pour le compte d’un utilisateur ou d’un autre système, en développant son workflow et en utilisant des outils externes si nécessaire.
Les agents vont bien au-delà du simple traitement et de la compréhension du langage. Ils sont capables de prise de décision, de résoudre des problèmes, d’interagir avec leur environnement et d’agir pour atteindre des objectifs.
Les agents IA sont désormais intégrés à diverses solutions d’entreprise, allant de l’automatisation et du génie logiciel, en passant par les interfaces conversationnelles et la mise en œuvre de la génération de code. S’appuyant sur de grands modèles de langage (LLM), ils sont capables de comprendre des instructions complexes, de les décomposer en étapes, d’interagir avec des ressources externes et de déterminer quand déployer certains outils ou services pour accomplir des tâches.
L’évaluation de l’agent est une procédure importante lors de la création et du déploiement de systèmes autonomes d’IA, car elle permet de mesurer la capacité d’un agent à accomplir les tâches qui lui sont assignées, à prendre des décisions et à interagir avec les utilisateurs ou les environnements. De cette manière, nous pouvons garantir que les agents fonctionnent de manière fiable, efficace et éthique dans les cas d’utilisation prévus.
Les principales raisons justifiant l’évaluation des agents sont les suivantes :
L’évaluation de la performance d’un agent IA utilise des indicateurs organisés en plusieurs classes formelles de performance : précision, temps de réponse (vitesse) et coût des ressources utilisées. La précision décrit la capacité de l’agent à fournir des réponses correctes et pertinentes, ainsi que sa capacité à remplir les fonctions prévues. Le temps de réponse mesure la rapidité avec laquelle l’agent traite la demande et produit le résultat. La réduction de la latence est particulièrement importante dans les programmes interactifs et en temps réel. Le coût mesure les ressources informatiques consommées par l’agent, telles que l’utilisation de tokens, l’appel d’une API ou le temps système. Ces indicateurs fournissent des lignes directrices pour améliorer les performances du système et limiter les coûts opérationnels.
Alors que les indicateurs clés tels que l’exactitude, l’utilité et la cohérence relèvent de la précision, le temps de réponse (latence) mesure des indicateurs tels que le débit, la latence moyenne et le délai d’expiration. Les indicateurs de coût comprennent l’ utilisation de token, le temps de calcul, le nombre d’appels d’API et la consommation de mémoire.
Dans ce tutoriel, nous allons découvrir les indicateurs clés d’exactitude, utilité et cohérence qui relèvent de la précision.
Vous développerez un agent de voyage et évaluerez ses performances à l’aide d’un « LLM-as-a-judge » (LLM en tant que juge).
Vous devez disposer d’un compte IBM® Cloud pour créer un projet watsonx.ai.
Vous avez également besoin de la version 3.12.7 de Python
Bien que vous puissiez choisir parmi plusieurs outils, ce tutoriel vous explique comment configurer un compte IBM pour utiliser un Jupyter Notebook.
Connectez-vous à watsonx.ai en utilisant votre compte IBM Cloud.
Créez un projet watsonx.ai. Vous pouvez obtenir l’ID de votre projet à partir de celui-ci. Cliquez sur l’onglet Manage (Gérer). Ensuite, copiez l’ID du projet dans la section Details (Détails) de la pageGeneral (Général). Vous aurez besoin de cet ID pour ce tutoriel.
Créez un Jupyter Notebook. Cette étape ouvre un environnement Jupyter Notebook dans lequel vous pouvez copier le code de ce tutoriel. Vous pouvez également télécharger ce notebook sur votre système local et le charger dans votre projet watsonx.ai en tant qu’actif. Vous trouverez d’autres tutoriels IBM® Granite auprès de la Communauté IBM Granite.
Créez une instance de service d’exécution watsonx.ai (sélectionnez votre région et choisissez le plan Lite, qui est une instance gratuite).
Générez une interface de programmation des applications clé.
Associez l’instance de service d’exécution watsonx.ai au projet que vous avez créé dans watsonx.ai.
Nous avons besoin de quelques bibliothèques et modules pour ce tutoriel. Veuillez vous assurer d’importer les éléments suivants. S’ils ne sont pas installés, une rapide commande pip install vous permettra d’y remédier.
Remarque, ce tutoriel a été réalisé en utilisant Python 3.12.7.
Pour définir nos identifiants, nous avons besoin des WATSONX_APIKEY et WATSONX_PROJECT_ID que vous avez générés à l’étape 1. Nous allons également définir l’URL qui servira de point de terminaison d’API. Votre point de terminaison d’API peut varier en fonction de votre emplacement géographique.
Nous utiliserons le modèle d’instruction Granite 3 – 8B pour ce tutoriel. Pour initialiser le LLM, nous devons définir les paramètres du modèle. Pour en savoir plus sur ces paramètres de modèle, tels que les limites minimales et maximales de jetons, reportez-vous à la documentation.
Créons un assistant de voyage destiné à aider les utilisateurs à organiser leurs voyages.
Nous allons créer une application simple qui aidera les utilisateurs dans l’organisation de leurs voyages en récupérant des informations sur les compagnies aériennes et les hôtels en réponse à leurs demandes en se connectant à une API de voyage externe. Afin d’intégrer les agents IA pour la planification dynamique des voyages, nous disposerons d’une fonction simple qui effectue des requêtes API et les intègre dans un outil.
Enfin, nous lançons une évaluation et nous imprimons le score d’évaluation final. Afin d’évaluer le planificateur de voyage en utilisant trois critères distincts (exactitude, utilité et cohérence), un prompt structuré est développé pour un évaluateur LLM.
Le résultat montre une évaluation à la fois qualitative et quantitative du planificateur de voyages, générée à l’aide de trois critères : exactitude, utilité et cohérence.
Voyons ce que chaque score et chaque indicateur signifie dans le contexte du résultat fourni par l’agent :
Pour évaluer la capacité d’un agent à répondre réellement aux besoins des utilisateurs, des critères tels que la cohérence, l’utilité et la précision jouent un rôle central. Que l’on travaille avec OpenAI, IBM Granite ou d’autres modèles de LLM en tant que service, il est essentiel de s’appuyer sur des méthodes d’évaluation structurées (jeux de données d’évaluation, tests de référence, annotations et vérité terrain) pour tester minutieusement les résultats finaux. Dans les cas d’utilisation pratiques tels que les chatbots ou le support client basé sur la RAG, les cadres des exigences open source comme LangGraph sont inestimables. Ils permettent une automatisation évolutive, un routage fiable et des cycles d’itération rapides. Ces technologies facilitent également l’alimentation des systèmes d’IA générative, le débogage des comportements et l’optimisation et la configuration des workflows complexes. En définissant soigneusement les cas de test et en surveillant les indicateurs d’observabilité tels que le coût de calcul, le prix et la latence, les équipes peuvent améliorer de manière constante les performances du système. En fin de compte, appliquer une approche d’évaluation fiable et reproductible apporte de la rigueur aux systèmes de machine learning et renforce leur fiabilité au fil du temps.
Créez, déployez et gérez de puissants assistants et agents IA qui automatisent les workflows et les processus grâce à l’IA générative.
Construisez l’avenir de votre entreprise avec des solutions d’IA en lesquelles vous pouvez avoir confiance.
IBM Consulting et ses services d'IA accompagnent les entreprises dans la redéfinition de leurs activités avec l'intelligence artificielle pour mener leur transformation.