SkillWeaver : un framework d'agents auto-améliorants via la découverte et le raffinement de compétences 53

小编 ·

SkillWeaver : un framework d'agents auto-améliorants via la découverte et le raffinement de compétences

SkillWeaver est un framework qui permet aux agents web (par ex. les robots web) de s'auto-améliorer en découvrant et en affinant des compétences. Il permet aux agents d'explorer de manière autonome et de synthétiser des compétences pour leur propre progression. En abstrayant les interactions avec les sites web en compétences réutilisables (API) et en laissant les agents découvrir, pratiquer et raffiner ces compétences sur de nouveaux sites, il étend itérativement la bibliothèque d'API pour renforcer les capacités des agents. SkillWeaver peut s'appliquer à de nombreux scénarios, comme l'automatisation des tâches de navigation web, et plus.

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.

SkillWeaver:能够通过自我发现和精炼技能实现自我改进的的智能体框架.webp

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.

SkillWeaver应用场景.webp

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/