SkillWeaver:自己発見とスキルの洗練によって自己改良するエージェントフレームワーク 50

小编 ·

SkillWeaver:自己発見とスキルの洗練によって自己改良するエージェントフレームワーク

SkillWeaverは、Webエージェント(Webロボットなど)がスキルを自主的に発見・研鑽することで自己改良できるフレームワークです。Webエージェントが自律的に探索しスキルを合成して自己向上を可能にします。ウェブサイトとのインタラクションを再利用可能なスキル(API)として抽象化し、新しいサイトで自律的に発見・練習・洗練することで、APIライブラリを反復的に拡張しエージェント能力を強化します。SkillWeaverは、Web閲覧タスクの自動化などさまざまなシナリオに応用できます。

SkillWeaver:自己発見とスキルの洗練によって自己改良するエージェントフレームワーク

SkillWeaverとは?

SkillWeaverは、Webエージェント(例えばウェブロボットなど)がスキルの発見と研磨によって自己改善できるフレームワークであり、Webエージェントが自律的な探索とスキル合成によって自己向上を実現することを可能にします。Webサイトのインタラクションを再利用可能なスキル(API)として抽象化し、Webエージェントが新しいウェブサイト上で自律的に発見、実践、洗練を行い、反復的な探索を通じてAPIライブラリを拡張することで、エージェントの能力を強化します。SkillWeaverは、ウェブ閲覧タスクの自動化、複雑なデジタル環境におけるエージェントの適応能力の向上など、さまざまなシナリオに適用できます。さらに、開発者が自身のAGIフレームワークを設計、実装、テストするのにも役立ちます。

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

SkillWeaverの主な機能

  • 自律的なスキル発見と練習:新しいウェブサイトに直面した際、エージェントは潜在的なスキルを自律的に発見し、実践を通じてこれらのスキルを堅牢なAPIへと洗練させることができます。

  • 反復的な探索と能力向上:継続的な探索と新しいスキルの追加により、エージェントは軽量でプラグアンドプレイのAPIライブラリを拡張し、自身の能力を大幅に向上させます。

  • スキルの転移と共有:高性能なエージェントが合成したAPIを、能力の低いエージェントに伝達することで、学習プロセスを加速し、共有ナレッジベースの発展を促進します。

  • 高いパフォーマンス向上:実験によると、SkillWeaverはWebArenaプラットフォームと実際のウェブサイトへの適用において、それぞれ31.8%と39.8%の成功率向上を実現しています。

  • 複雑な環境への適応:SkillWeaverは、エージェントが現実のWebサイトの高い多様性と複雑性によりよく適応できるようにします。

SkillWeaverの応用シーン

  • ウェブタスクの自動化:ウェブ閲覧、検索、フィルタリングなどのタスクを自動化し、ECサイトの商品情報やユーザーレビューなど、ウェブページから情報を抽出します。

  • 複雑なタスクの組み合わせ:複数のシンプルなスキルを組み合わせて、複数ステップの操作などの複雑なタスクを実行します。

  • エージェント間の知識共有:エージェント間でスキルを共有し、全体的な効率を向上させます。

  • 複雑なウェブ環境への適応:複雑で変化に富むウェブ環境でも高い効率を維持します。

  • 再利用可能なスキルライブラリの生成:軽量で再利用可能なスキルライブラリを生成し、その後のタスクから簡単に呼び出せるようにします。

  • 意思決定能力の向上:スキル合成を通じて、エージェントの意思決定と推論能力を向上させます。

  • 自動テストとデバッグ:スキルの信頼性と安定性を確保します。

  • 汎化能力:合成されたスキルは異なるウェブサイト間で汎用的に使用できます。

  • ローコード開発:開発者が自動化タスクを迅速に構築および展開し、コード記述量を削減するのを支援します。

SkillWeaver应用场景.webp

SkillWeaverのインストールと使用方法

インストール:仮想環境の作成

conda create -n skillweaver python=3.10
conda activate skillweaver
pip install -r requirements.txt
playwright install

次にOpenai APIを設定します:

export OPENAI_API_KEY=

サンプルコード

以下は、SkillWeaverを使用して検索タスクを実行するHuman入力エージェントを作成する方法を説明する簡単なサンプルです:

from skillweaver import Schema
from skillweaver.llms import OpenAI
# 创建 AGI 画布
skillweb = Schema(llm=OpenAI(openai_api_key="*****"))  # 设置全局变量
# 添加并暴露在 schema 中使用的技能
search, human = skillweb.load_skills(['SearchRetreival', 'HumanInputObserver'])
# 连接两个代理,并可以在此处指定自定义处理逻辑
skillweb.schedule([human, search])
# 运行
skillweb.run()

Githubアドレス:https://github.com/OSU-NLP-Group/SkillWeaver

プロジェクトホームページ:https://osu-nlp-group.github.io/SkillWeaver/