Logique cyclique automatisée
Le 19 août, trois chercheurs de l'Université de Colombie-Britannique ont publié un article intitulé "Conception automatisée de systèmes d'agents intelligents". Dans cet article, ils ont conçu un système permettant à l'IA de découvrir et de construire elle-même des agents intelligents, et de s'itérer elle-même.
Rappelons la définition classique d'OpenAI d'un agent intelligent : c'est un produit capable de stocker des connaissances, de planifier et d'utiliser des outils.
Lorsque nous construisons des agents à l'aide de flux de travail, nous utilisons également les connaissances existantes (connaissances sur la forme des agents), planifions nous-mêmes (construction du processus) et utilisons des outils (connexion aux API) pour finalement exécuter et produire, sans dépasser les capacités de l'agent lui-même.
Alors pourquoi ne pas construire un agent capable de découvrir et de concevoir automatiquement d'autres agents ?
Les auteurs de l'article ont suivi cette logique, appelant le concepteur un méta-agent, et lui ont fait concevoir de nouveaux agents. Les agents conçus sont ajoutés à une base de données comme ressources, itérant continuellement pour produire de nouvelles versions plus puissantes d'agents.
Ils appellent cette méthode complète ADAS (Automated Design of Agentistic Systems).
Faire tourner la chaîne
Le processus de génération de nouveaux agents dans le système ADAS peut être divisé en trois parties :
La première partie établit l'espace de recherche, ce qui peut être compris comme la conception de nouveaux agents potentiels à travers certains outils et règles de base.
La deuxième partie consiste à exécuter l'algorithme de recherche, qui définit comment le méta-agent utilise l'espace de recherche pour prendre ses éléments et construire concrètement de nouveaux agents.
La dernière partie consiste à exécuter la fonction d'évaluation, qui évalue les agents construits en fonction d'objectifs tels que la performance.
Les chercheurs expliquent étape par étape dans l'article comment construire ces trois parties essentielles.
Tout d'abord, il faut déterminer les éléments de base pour construire l'espace de recherche. Les chercheurs pensent que la meilleure méthode est le code.
C'est parce que le code a une complétude de Turing et peut exprimer toutes les possibilités. Ainsi, théoriquement, le méta-agent peut découvrir tous les blocs de construction possibles (tels que les invites, l'utilisation d'outils, les flux de contrôle) et les systèmes d'agents qui combinent ces blocs de construction de toutes les manières possibles.
Plus important encore, les divers flux de travail existants dans des sites comme Langchain utilisés pour construire des agents ont déjà été codifiés. Par conséquent, les données pertinentes sont facilement accessibles sans nécessiter de conversion. De plus, les appels d'outils, tels que les composants de capacité comme RAG (génération augmentée par récupération), ont déjà une base de code très solide.
L'utilisation du code pour construire l'espace de recherche signifie également que les agents générés par ADAS peuvent être exécutés directement, utilisés pour la correction d'erreurs et l'évaluation, sans nécessiter d'intervention humaine supplémentaire.
Une fois l'espace de recherche défini, les chercheurs ont commencé à concevoir l'algorithme de recherche, c'est-à-dire à faire explorer au méta-agent les méthodes possibles pour accomplir la tâche. Ce processus est principalement réalisé grâce à l'ingénierie des invites.
Tout d'abord, on lui donne une série d'invites système.
Ensuite, on fournit au méta-agent les informations mentionnées dans l'invite de base, notamment :
-
La description de base de la tâche.
-
Le code de base le plus élémentaire, comme les noms d'opérations pour formater les invites, l'encapsulation, ainsi que la capacité d'appeler d'autres modèles de base (FM) et API.
-
Le format et des exemples d'entrées et de sorties de la tâche.
-
Une bibliothèque d'exemples formée par certains agents générés lors des itérations précédentes, y compris leurs résultats de tests de référence.
Sur la base de ces invites fondamentales, ADAS peut commencer à fonctionner et générer un agent pour résoudre un problème spécifique.
Au cours de ce processus, le méta-agent effectue deux tours de réflexion pour garantir la nouveauté et l'exactitude de l'agent généré. Il vérifie si le nouveau cadre de code généré comporte des erreurs et s'il est suffisamment innovant par rapport aux résultats précédents dans la bibliothèque d'exemples d'agents.
Le méta-agent doit également effectuer une évaluation préliminaire de l'agent généré en fonction de sa "compréhension" des capacités de performance pratique, pour déterminer s'il est plus performant que les agents précédents.
Lorsque certaines de ces conditions ne sont pas remplies, le méta-agent doit soit modifier l'agent généré, soit le refaire complètement.
Après deux tours de réflexion et de modification, le méta-agent envoie l'agent nouvellement généré qu'il juge à la fois nouveau et bon au système d'évaluation de la troisième étape.
Le système d'évaluation attribuera un score objectif aux capacités de cet agent en fonction des tests de référence, puis le renverra à la bibliothèque d'exemples d'agents.
Le méta-agent continuera ensuite à effectuer la prochaine itération d'optimisation en fonction des résultats d'évaluation précédents et des exemples passés dans la bibliothèque d'exemples, afin d'atteindre un score de performance de tâche plus élevé.
Une chaîne entièrement automatisée est ainsi née dans ce processus. Et pour générer un agent extrêmement efficace, il peut être nécessaire d'effectuer plus d'une dizaine d'itérations.
Au-delà des agents faits à la main
À quel point les agents obtenus par la méthode ADAS automatisée peuvent-ils être complexes ? La figure ci-dessous montre le cadre d'un agent généré après 14 itérations.
La structure de cet agent comprend cinq chaînes de pensée qui donnent des réponses préliminaires. Après que trois modèles d'experts et un modèle imitant l'humain aient donné leur feedback sur ces réponses, ces réponses sont modifiées et renforcées trois fois au cours de la phase d'optimisation. Enfin, trois résultats sont sélectionnés après évaluation et fusionnés pour donner la réponse finale.