SkillWeaver : un framework d'agents auto-améliorants via la découverte et le raffinement de compétences
Qu'est-ce que SkillWeaver ?
SkillWeaver est un cadre qui permet aux agents Web (tels que les robots) de s'améliorer eux-mêmes en découvrant et en affinant des compétences, permettant ainsi aux agents Web de s'améliorer de manière autonome grâce à l'exploration et à la synthèse de compétences. Il abstrait les interactions avec les sites web en compétences réutilisables (API), et permet aux agents Web de découvrir, d'exercer et de raffiner de manière autonome ces compétences sur de nouveaux sites web, en élargissant continuellement la bibliothèque d'API grâce à une exploration itérative, afin d'améliorer les capacités de l'agent. SkillWeaver peut être appliqué dans de nombreux scénarios, tels que l'automatisation des tâches de navigation web, l'amélioration de l'adaptabilité des agents dans des environnements numériques complexes, etc. De plus, il peut également aider les développeurs à concevoir, implémenter et tester leurs propres cadres AGI.

Fonctionnalités de SkillWeaver
Découverte et pratique autonome des compétences : face à un nouveau site web, l'agent est capable de découvrir de manière autonome des compétences potentielles et de raffiner ces compétences en API robustes grâce à la pratique.
Exploration itérative et amélioration des capacités : grâce à une exploration continue et à l'ajout de nouvelles compétences, l'agent enrichit en permanence sa bibliothèque d'API légère et prête à l'emploi, améliorant ainsi considérablement ses propres capacités.
Transfert et partage de compétences : les API synthétisées par les agents les plus performants peuvent être transmises à des agents moins capables, accélérant ainsi le processus d'apprentissage et favorisant le développement d'une base de connaissances partagée.
Amélioration des performances efficace : les expériences montrent que l'application de SkillWeaver sur la plateforme WebArena et sur de vrais sites web permet respectivement d'augmenter les taux de réussite de 31,8 % et 39,8 %.
Adaptation aux environnements complexes : SkillWeaver permet aux agents de mieux s'adapter à la grande diversité et à la complexité des sites web du monde réel.
Scénarios d'application de SkillWeaver
Automatisation des tâches web : automatiser l'achèvement de tâches telles que la navigation, la recherche et le filtrage sur les pages web, et extraire des informations de pages web, telles que des informations sur des produits e-commerce ou des avis d'utilisateurs.
Combinaison de tâches complexes : combiner plusieurs compétences simples pour former des tâches complexes, telles que des opérations en plusieurs étapes.
Partage de connaissances entre agents : les agents partagent leurs compétences entre eux, améliorant ainsi l'efficacité globale.
Adaptation aux environnements web complexes : maintenir une efficacité élevée dans des environnements web complexes et changeants.
Génération d'une bibliothèque de compétences réutilisables : générer une bibliothèque de compétences légère et réutilisable, facilitant l'appel de tâches ultérieures.
Amélioration des capacités de décision : grâce à la synthèse de compétences, améliorer les capacités de décision et de raisonnement de l'agent.
Tests et débogage automatisés : garantir la fiabilité et la stabilité des compétences.
Capacité de généralisation : les compétences synthétisées peuvent être utilisées de manière générale sur différents sites web.
Développement low-code : aider les développeurs à construire et déployer rapidement des tâches automatisées, en réduisant l'écriture de code.

Installation et utilisation de SkillWeaver
Installation :Créer un environnement virtuel
conda create -n skillweaver python=3.10 conda activate skillweaver pip install -r requirements.txt playwright install
Configurer ensuite l'API OpenAI :
export OPENAI_API_KEY=
Exemple de code
Voici un exemple simple montrant comment utiliser SkillWeaver pour créer un agent avec intervention humaine qui exécute une tâche de recherche :
from skillweaver import Schema from skillweaver.llms import OpenAI # Créer le canevas AGI skillweb = Schema(llm=OpenAI(openai_api_key="*****")) # Définir la variable globale # Ajouter et exposer les compétences utilisées dans le schema search, human = skillweb.load_skills(['SearchRetreival', 'HumanInputObserver']) # Connecter les deux agents, et la logique de traitement personnalisée peut être spécifiée ici skillweb.schedule([human, search]) # Exécuter skillweb.run()
Adresse Github :https://github.com/OSU-NLP-Group/SkillWeaver
Page du projet :https://osu-nlp-group.github.io/SkillWeaver/
Assistant scénario▸
Apps AI
Actualités AI 