Intelligence Artificielle
OpenAgents : une plateforme ouverte pour les agents linguistiques en liberté

Des développements récents ont démontré que les agents linguistiques, en particulier ceux construits sur de grands modèles de langage (LLM), ont le potentiel d'effectuer un large éventail de tâches complexes dans divers environnements en utilisant le langage naturel. Cependant, l'objectif principal de la plupart des cadres d'agents linguistiques est actuellement de faciliter la construction d'agents linguistiques de preuve de concept. Cette focalisation s'accompagne souvent de peu ou pas d'attention aux conceptions au niveau des applications et néglige fréquemment l'accessibilité de ces agents aux utilisateurs non experts.
Pour combler les limitations actuelles rencontrées par les agents linguistiques, les développeurs ont mis au point le Framework OpenAgents, une plateforme ouverte pour l'hébergement et le déploiement d'agents linguistiques dans la nature et dans une multitude de tâches quotidiennes. Le framework OpenAgents est construit autour de trois agents
- Agent de données : Aide à l'analyse des données à l'aide d'outils de données et de langages de requête comme SQL ou de langages de programmation comme Python.
- Agents de plugins : Aide en donnant accès à plus de 200 outils API utiles pour les tâches quotidiennes.
- Agents Web : Aide à naviguer sur le Web tout en préservant votre anonymat.
Le framework OpenAgents utilise une interface utilisateur Web optimisée pour les pannes courantes et les réponses rapides dans le but de permettre aux utilisateurs généraux d'interagir avec les fonctionnalités de l'agent, tout en offrant aux chercheurs et aux développeurs une expérience de déploiement transparente sur leurs configurations locales. Il serait prudent de dire que le framework OpenAgents est une tentative de fournir une base solide pour faciliter les évaluations du monde réel et créer des agents linguistiques innovants, efficaces et avancés.
Dans l'article d'aujourd'hui, nous allons approfondir le framework OpenAgents et en parler plus en détail. Nous parlerons du fonctionnement et de l'architecture du cadre, tout en discutant également des défis communs rencontrés et des résultats. Alors, commençons.
OpenAgents et agents linguistiques : une introduction
Les agents linguistiques, à la base, sont dérivés d’agents intelligents. Ces agents intelligents sont conceptualisés pour posséder des capacités autonomes de résolution de problèmes, ainsi que la capacité de détecter leur environnement, de prendre des décisions et d’agir en conséquence. Avec les progrès réalisés dans les grands modèles linguistiques, la communauté mondiale du développement a exploité le concept d'agents intelligents et de LLM pour créer des agents linguistiques. Ces agents utilisent la programmation en langage naturel (NLP) pour effectuer un large éventail de tâches complexes dans divers environnements, et ils ont récemment montré un potentiel remarquable.
Les frameworks d'agents linguistiques actuels, tels que Gravitas et Chase, fournissent principalement une interface de console adaptée aux développeurs, ainsi que des implémentations de validation de principe. Cependant, ils limitent souvent l’accessibilité à un public plus large, en particulier à ceux qui ne maîtrisent pas le codage. De plus, les benchmarks d'agents actuels sont construits par des développeurs avec des exigences spécifiques en matière d'évaluation déterministe, en particulier dans les scénarios qui nécessitent une navigation sur le Web, du codage, l'utilisation d'outils ou une combinaison de ceux-ci.
Dans le but de développer des agents intelligents et linguistiques basés sur LLM pour une base d'utilisateurs plus large, des acteurs établis comme OpenAI et Microsoft ont déployé une gamme de produits bien conçus, notamment Advanced Data Analysis, également connu sous le nom de Code Interpreter, et des plugins de navigateur. Bien que ces agents soient efficaces dans leurs fonctions, ils offrent une aide limitée à la communauté du développement. Cette limitation est due au fait que les implémentations du code de logique métier et des modèles ne sont pas open source, ce qui entrave les possibilités pour les développeurs et les chercheurs de les explorer davantage, ainsi que l'accès gratuit pour les utilisateurs.
Pour tenter de résoudre ce problème, les développeurs ont mis au point Agents ouverts, une plate-forme open source pour l'hébergement et l'utilisation d'agents, et elle repose actuellement sur une base de trois agents internes
- Agent de données : Aide à l'analyse des données à l'aide d'outils de données et de langages de requête comme SQL ou de langages de programmation comme Python.
- Agents de plugins : Aide en donnant accès à plus de 200 outils API utiles pour les tâches quotidiennes.
- Agents Web : Aide à naviguer sur le Web tout en préservant votre anonymat.
La figure suivante présente la plateforme OpenAgents destinée aux utilisateurs généraux, aux développeurs et aux chercheurs.

- Au lieu d'utiliser un package ou des consoles orientés programmeur, les utilisateurs généraux peuvent interagir avec les trois agents du framework OpenAgents à l'aide d'une interface Web en ligne.
- Les développeurs peuvent utiliser la logique métier et les codes de recherche fournis par le framework OpenAgents pour déployer de manière transparente le backend et le frontend pour des développements ultérieurs.
- Les chercheurs ont la possibilité de créer de nouveaux agents linguistiques à partir de zéro ou de mettre en œuvre des méthodes liées aux agents à l'aide des composants et des exemples partagés, et d'évaluer leurs performances à l'aide de l'interface utilisateur Web.
Pour résumer, le framework OpenAgents est à l'origine destiné à être une plate-forme holistique et réaliste pour l'évaluation d'agents linguistiques par l'homme dans la boucle, qui permet aux utilisateurs d'interagir avec ces agents pour accomplir un large éventail de tâches, et ces humains- les interactions des agents ainsi que les commentaires des utilisateurs sont stockés et analysés pour un développement et une évaluation ultérieurs.
Pour ceux qui ne sont pas au courant, Invite LLM est un processus qui permet aux développeurs de créer des instructions qui protègent contre les entrées contradictoires ou erronées, améliorent l'esthétique de la sortie et répondent à la logique du backend. Pendant la phase de développement, les développeurs travaillant sur le framework OpenAgents utilisent la technique d'invite LLM pour souligner l'importance de spécifier efficacement les exigences des applications. Cependant, les développeurs ont rapidement observé que l'accumulation de ces instructions ou invites LLM peut parfois être importante, ce qui peut affecter les capacités de gestion du contexte des frameworks LLM ainsi que les limitations des jetons. Les développeurs ont également observé que pour déployer efficacement ces agents dans le monde réel, les modèles d'agent doivent non seulement présenter des performances exceptionnelles, mais doivent également être capables d'aborder un large éventail de scénarios interactifs en temps réel. Bien que cadres d'agents actuels Lorsque les performances sont couvertes, ils ignorent souvent les considérations du monde réel, en particulier en temps réel, ce qui obscurcit souvent le véritable potentiel des frameworks LLM en faisant des compromis sur la réactivité ou la précision.
Dans la figure suivante, nous comparons directement le framework OpenAgents avec les travaux existants sur les benchmarks sur le concept d'agent et la construction de prototypes.

OpenAgents : Conception et mise en œuvre de plateforme
La conception ou l'architecture systématique de la plateforme OpenAgents peut être divisée en deux composants principaux : Interface utilisateur, y compris le backend et le frontend, que le béton ey Agent linguistique, comprenant des outils, des modèles de langage et des environnements. Le framework OpenAgents fournit une interface de communication entre les utilisateurs et les agents. Le flux d’interaction dans le cadre est le suivant.
Les agents utilisent les outils dont ils disposent pour planifier et prendre les actions requises dans les environnements une fois qu'ils ont reçu les entrées des utilisateurs. L'architecture ou la conception systématique du framework est démontrée dans l'image suivante.

Interface utilisateur
Les développeurs du framework OpenAgents ont consacré beaucoup de réflexion et d'efforts au développement non seulement d'une interface utilisateur hautement fonctionnelle mais également conviviale après avoir abordé une charge d'agents hôtes et une logique métier réutilisable. En conséquence, le framework OpenAgents se targue de fournir la prise en charge d'un large éventail de tâches techniques, notamment la gestion des erreurs, les opérations du serveur principal, le streaming de données et bien plus encore, l'objectif principal étant de rendre le framework OpenAgents convivial, mais très efficace et efficace. utilisable en même temps.
Agent linguistique
Dans le cadre OpenAgents, l'agent de langage comporte trois composants essentiels : une interface d'outil, un modèle de langage et l'environnement lui-même. La méthode d'invite implémentée dans le framework OpenAgents crée un processus séquentiel que les agents doivent suivre et qui commence par Observation -> Délibération -> Action. Le framework invite également le LLM à générer du texte analysable avec une efficacité accrue, et l'interface de l'outil se compose d'analyseurs capables de traduire ces textes analysables générés par les LLM en actions exécutables telles que la réalisation d'appels d'API ou la génération de code. Ces actions sont ensuite exécutées par le framework dans les limites de l'environnement correspondant.
Agents d'OpenAgents
Au cœur d'OpenAgents, il existe trois agents distincts : Agent de données qui facilite l'analyse des données à l'aide d'outils de données et de langages de requête comme SQL, ou de langages de programmation comme Python, Agents de plugins qui aide en donnant accès à plus de 200 outils API utiles pour les tâches quotidiennes, et Agents Web cela aide à naviguer sur le Web tout en préservant votre anonymat. Ces agents ont une expertise de domaine individuel similaire aux plugins ChatGPT, mais contrairement à ChatGPT, la mise en œuvre sur OpenAgents est basée uniquement sur une interface de programmation d'applications ou des API en langage ouvert.
Agent de données
L'agent de données du framework OpenAgents a été conçu et déployé de manière à gérer un large éventail de tâches liées aux données que les utilisateurs finaux rencontrent régulièrement. Les agents de données prennent en charge la génération et l'exécution de code dans deux langages de programmation, à savoir SQL et Python, et l'agent dispose également de plusieurs outils de données, notamment Profilage des données pour fournir des informations de données de base, Recherche de données Kaggle pour rechercher des ensembles de données, et Outil ECharts pour tracer des ECharts interactifs. De plus, le framework OpenAgents invite l'agent de données à utiliser ces outils de manière proactive pour répondre efficacement aux demandes des utilisateurs finaux. De plus, étant donné les exigences de codage exhaustives, le framework OpenAgents opte pour des modèles de langage intégrés pour l'agent de données, et plutôt que l'agent générant le code, ce sont les outils comme Python, ECharts et SQL qui génèrent le code. Avec cette approche, le framework est capable d'exploiter complètement les prouesses de programmation des modèles de langage, et réduit ainsi la pression sur l'agent de données.
À l'aide de ces outils de données, l'agent de données est capable de gérer de nombreuses requêtes centrées sur les données et effectue efficacement la visualisation, la manipulation et les requêtes des données, dépassant ainsi les limites de la génération de code et de texte. La figure suivante met en évidence un agent de données en action et les outils disponibles pour les utilisateurs courants.

Agent de plugins
L'agent de plug-in du framework OpenAgents a été méticuleusement conçu par les développeurs pour répondre aux besoins multiformes d'un utilisateur pour les tâches quotidiennes, notamment la recherche sur Internet, les achats en ligne, la lecture d'actualités ou la création de sites Web et d'applications, en donnant accès à plus de 200 plug-ins, avec une attention particulière. être payé sur l'interface d'appel de fonction, les pings API et la longueur des réponses API. Certains des plugins les plus importants incluent
- Recherche Google
- Wolfram Alpha
- Zapier
- Klarna
- Coursera
- Montrez-Moi
- Parler
- DemandezVotrePDF
- BizTok
- voir
En fonction de leurs besoins et exigences, les utilisateurs peuvent choisir le nombre de plugins qu'ils souhaitent que les agents de plugin utilisent, et le fonctionnement est démontré dans la figure ci-dessous.

De plus, pour aider les utilisateurs dans les situations où ils ne savent pas quel plugin répondra le mieux à leurs besoins, le framework OpenAgents offre aux utilisateurs une fonctionnalité qui sélectionne automatiquement les plugins les plus pertinents par rapport à leurs instructions.
Agents Web
Le framework OpenAgents présente l'agent Web comme un outil spécialisé chargé d'améliorer l'efficacité et les capacités de l'agent de chat. Bien que l’agent de chat héberge toujours l’interface d’interaction principale, il intègre de manière transparente l’agent Web chaque fois que cela est nécessaire. La réponse finale est ensuite transmise à l'utilisateur final par l'agent Web, et le processus est illustré dans la figure ci-dessous.

La stratégie de conception mise en œuvre dans ces agents Web s'avère très bénéfique dans la mesure où l'agent de chat traite des paramètres importants ou initie systématiquement les URL, avant qu'elles ne soient transférées à l'agent Web, garantissant ainsi un meilleur alignement entre les exigences de l'utilisateur et le résultat généré. résultant en une communication claire. En outre, la stratégie permet également aux agents Web de répondre aux requêtes des utilisateurs en couches et adaptables en utilisant une navigation Web dynamique à plusieurs tours couplée à des dialogues de discussion. Par conséquent, en délimitant distinctement les rôles et responsabilités des agents de chat et de navigation multi-navigation, le framework OpenAgents ouvre la voie au raffinement et à l'évolution de chaque module individuel.
OpenAgents : applications pratiques et déploiement dans le monde réel
Dans cette section, nous parlerons de la trajectoire du framework OpenAgents depuis la théorisation jusqu'au déploiement dans le monde réel, ainsi que des défis rencontrés et des apprentissages imprégnés ainsi que des complexités d'évaluation auxquelles les développeurs ont fait face.
Utiliser des invites pour transformer de grands modèles de langage en applications du monde réel
Lors de l'utilisation des invites LLM pour créer des applications du monde réel pour les utilisateurs finaux, le framework OpenAgents utilise des instructions d'invite pour spécifier certaines exigences. Le but de certaines instructions est de garantir que la sortie est conforme à un format spécifique, permettant ainsi à la logique backend de traiter, tandis que le but d'autres instructions est d'améliorer l'attrait esthétique de la sortie, tandis que le reste protège le cadre contre d'éventuels attaques malveillantes.
Facteurs incontrôlables du monde réel
Lorsque les développeurs ont déployé le framework OpenAgents dans le monde réel, ils ont été accueillis par un ensemble de facteurs incontrôlables du monde réel déclenchés par l'infrastructure Internet, les utilisateurs, la logique métier, etc. Ces facteurs incontrôlables ont obligé les développeurs à réévaluer et à modifier certaines hypothèses sur la base de recherches antérieures, et pourraient finalement conduire à des situations dans lesquelles les utilisateurs finaux pourraient ne pas être satisfaits de la réponse générée par le cadre.
Complexité de l'évaluation
Bien que les agents construits destinés directement aux applications puissent avoir une application plus large et faciliter une meilleure évaluation, cela ajoute à la complexité de la création d'applications basées sur LLM, ce qui rend difficile l'analyse des performances des applications. En outre, cette approche ajoute également à l'instabilité et étend la chaîne du système du système. LLM cela rend difficile l’adaptation du cadre aux différents composants. Il est donc logique d’affiner la conception du système et la logique de fonctionnement de ces agents pour simplifier les procédures et garantir un rendement efficace.
Réflexions finales
Dans cet article, nous avons parlé du framework OpenAgents, une plateforme ouverte d'hébergement et de déploiement d'agents linguistiques. dans la nature et dans une multitude de tâches quotidiennes. Le framework OpenAgents est construit autour de trois agents : Data Agent, aide à l'analyse des données à l'aide d'outils de données et de langages de requête comme SQL, ou de langages de programmation comme Python, Plugin Agents, aide en donnant accès à plus de 200 outils API utiles pour les tâches quotidiennes, et Web Agents aide à naviguer sur le Web tout en préservant votre anonymat . Le framework OpenAgents utilise une interface utilisateur Web optimisée pour les pannes courantes et les réponses rapides dans le but de permettre aux utilisateurs généraux d'interagir avec les fonctionnalités de l'agent, tout en offrant aux chercheurs et aux développeurs une expérience de déploiement transparente sur leurs configurations locales. En fournissant une plate-forme transparente, holistique et déployable, OpenAgents vise à rendre le potentiel des LLM accessible à un plus large éventail d'utilisateurs, non limité aux chercheurs et aux développeurs, mais également aux utilisateurs finaux ayant une expertise technique limitée.










