33 KiB
🦉 OWL: 労働力学習の最適化による、現実世界のタスク自動化における一般的なマルチエージェント支援
🚀 Eigentの紹介:世界初のマルチエージェント・ワークフォース・デスクトップアプリケーション 🚀
Eigentは、最も複雑なワークフローを自動化されたタスクに変換できるカスタムAIワークフォースの構築、管理、展開を可能にします。
✨ 100%オープンソース • 🔧 完全にカスタマイズ可能 • 🔒 プライバシー重視 • ⚡ 並列実行
CAMEL-AIの高く評価されているオープンソースプロジェクトをベースに構築されたEigentは、並列実行、カスタマイズ、プライバシー保護を通じて生産性を向上させるマルチエージェント・ワークフォースを導入します。
中文阅读 | コミュニティ | インストール | 例 | 論文 | 引用 | 貢献 | CAMEL-AI
🏆 OWLはGAIAベンチマークで58.18の平均スコアを達成し、オープンソースフレームワークの中で🏅️ #1にランクインしました! 🏆
🦉 OWLは、タスク自動化の限界を押し広げる最先端のマルチエージェント協力フレームワークであり、CAMEL-AIフレームワークの上に構築されています。
私たちのビジョンは、AIエージェントが現実のタスクを解決するためにどのように協力するかを革命的に変えることです。動的なエージェントの相互作用を活用することで、OWLは多様な分野でより自然で効率的かつ堅牢なタスク自動化を実現します。
📋 目次
- 📋 目次
- 🚀 Eigent: マルチエージェント・ワークフォース・デスクトップアプリケーション
- 🔥 ニュース
- 🎬 デモビデオ
- ✨️ コア機能
- 🛠️ インストール
- 🚀 クイックスタート
- 🧰 ツールキットと機能
- 🌐 ウェブインターフェース
- 🧪 実験
- ⏱️ 将来の計画
- 📄 ライセンス
- 🖊️ 引用
- 🤝 貢献
- 🔥 コミュニティ
- ❓ FAQ
- 📚 CAMEL依存関係の探索
- ⭐ Star History
🚀 Eigent: マルチエージェント・ワークフォース・デスクトップアプリケーション
**Eigent**は、AIエージェントとの作業方法を革新しています。世界初のマルチエージェント・ワークフォース・デスクトップアプリケーションとして、Eigentは複雑なワークフローを自動化された知的プロセスに変換します。
なぜEigentなのか?
- 🤖 マルチエージェントコラボレーション: シームレスに連携する特化型AIエージェントを展開
- 🚀 並列実行: 複数のタスクを同時に処理できるエージェントで生産性を向上
- 🎨 完全なカスタマイズ: 特定のニーズに合わせてAIワークフォースを構築・設定
- 🔒 プライバシー重視の設計: データはマシン上に保持され、クラウド依存なし
- 💯 100%オープンソース: 完全な透明性とコミュニティ主導の開発
主要機能
- カスタムワークフローの構築: エージェントが自律的に実行できる複雑な多段階プロセスを設計
- AIチームの管理: 異なる専門性を持つ複数のエージェントを協調させる
- 即座に展開: アイデアから実行まで数分で実現
- 進捗状況の監視: エージェントの活動とタスクの完了状況をリアルタイムで確認
ユースケース
- 📊 データ分析: 複雑なデータ処理と分析ワークフローを自動化
- 🔍 リサーチ: 情報の収集、統合、レポート作成をエージェントに任せる
- 💻 開発: AI駆動の開発チームでコーディングタスクを加速
- 📝 コンテンツ作成: 大規模なコンテンツの生成、編集、最適化
- 🤝 ビジネス自動化: 繰り返しのビジネスプロセスを自動化ワークフローに変換
Eigentを始める
EigentはOWLフレームワークの上に構築され、CAMEL-AIの強力なマルチエージェント機能を活用しています。
🔗 **Eigentリポジトリを訪問**して、コードベースの探索、貢献、または独自のAIワークフォースの構築について詳しく学んでください。
インストールガイドに従って、今すぐ独自のAIワークフォースの構築を始めましょう!
🔥 ニュース
🧩 新機能:コミュニティエージェントチャレンジ! 🧩
AIエージェントのためのユニークなチャレンジをデザインして、あなたの創造力を発揮してください!
コミュニティに参加して、最先端のAIによってあなたの革新的なアイデアが実現されるのを見てみましょう。
🎉 最新の主要アップデート - 2025年3月15日
重要な改善点:
- システムの安定性を向上させるために、ウェブベースのUIアーキテクチャを再構築しました 🏗️
- パフォーマンスを向上させるために、OWLエージェントの実行メカニズムを最適化しました 🚀
- [2025.03.21]: OpenRouterモデルプラットフォームを統合し、Geminiツール呼び出しのバグを修正
- [2025.03.20]: MCPツールキットにAcceptヘッダーを追加し、Playwrightの自動インストールをサポート
- [2025.03.16]: Bing検索、Baidu検索をサポート
- [2025.03.12]: SearchToolkitにBocha検索を追加し、Volcano Engineモデルプラットフォームを統合し、AzureおよびOpenAI互換モデルの構造化出力とツール呼び出し機能を強化
- [2025.03.11]: MCPToolkit、FileWriteToolkit、およびTerminalToolkitを追加し、MCPツール呼び出し、ファイル書き込み機能、およびターミナルコマンド実行機能を強化
- [2025.03.09]: システムとの対話を容易にするためのウェブベースのユーザーインターフェースを追加
- [2025.03.07]: 🦉 OWLプロジェクトのコードベースをオープンソース化
- [2025.03.03]: OWLはGAIAベンチマークで58.18のスコアを達成し、オープンソースフレームワークの中で1位を獲得
🎬 デモビデオ
https://github.com/user-attachments/assets/2a2a825d-39ea-45c5-9ba1-f9d58efbc372
✨️ コア機能
- オンライン検索:複数の検索エンジン(Wikipedia、Google、DuckDuckGo、Baidu、Bochaなど)をサポートし、リアルタイムの情報検索と知識取得を実現
- マルチモーダル処理:インターネットまたはローカルのビデオ、画像、音声データの処理をサポート
- ブラウザ自動化:Playwrightフレームワークを利用してブラウザの操作をシミュレートし、スクロール、クリック、入力処理、ダウンロード、ナビゲーションなどをサポート
- ドキュメント解析:Word、Excel、PDF、PowerPointファイルからコンテンツを抽出し、テキストまたはMarkdown形式に変換
- コード実行:Pythonコードを記述してインタープリタを使用して実行
- 組み込みツールキット:包括的な組み込みツールキットにアクセス可能
- モデルコンテキストプロトコル (MCP):AIモデルとさまざまなツールやデータソースとの相互作用を標準化するユニバーサルプロトコルレイヤー
- コアツールキット:ArxivToolkit、AudioAnalysisToolkit、CodeExecutionToolkit、DalleToolkit、DataCommonsToolkit、ExcelToolkit、GitHubToolkit、GoogleMapsToolkit、GoogleScholarToolkit、ImageAnalysisToolkit、MathToolkit、NetworkXToolkit、NotionToolkit、OpenAPIToolkit、RedditToolkit、SearchToolkit、SemanticScholarToolkit、SymPyToolkit、VideoAnalysisToolkit、WeatherToolkit、BrowserToolkitなど、専門的なタスクに対応する多くのツールキット
🛠️ インストール
OWLは、ワークフロープリファレンスに合わせた複数のインストール方法をサポートしています。最適なオプションを選択してください。
オプション1:uvを使用する(推奨)
# GitHubリポジトリをクローン
git clone https://github.com/camel-ai/owl.git
# プロジェクトディレクトリに移動
cd owl
# uvがインストールされていない場合はインストール
pip install uv
# 仮想環境を作成し、依存関係をインストール
# Python 3.10、3.11、3.12の使用をサポート
uv venv .venv --python=3.10
# 仮想環境をアクティブ化
# macOS/Linuxの場合
source .venv/bin/activate
# Windowsの場合
.venv\Scripts\activate
# すべての依存関係を含むCAMELをインストール
uv pip install -e .
# 完了したら仮想環境を終了
deactivate
オプション2:venvとpipを使用する
# GitHubリポジトリをクローン
git clone https://github.com/camel-ai/owl.git
# プロジェクトディレクトリに移動
cd owl
# 仮想環境を作成
# Python 3.10の場合(3.11、3.12でも動作)
python3.10 -m venv .venv
# 仮想環境をアクティブ化
# macOS/Linuxの場合
source .venv/bin/activate
# Windowsの場合
.venv\Scripts\activate
# requirements.txtからインストール
pip install -r requirements.txt --use-pep517
オプション3:condaを使用する
# GitHubリポジトリをクローン
git clone https://github.com/camel-ai/owl.git
# プロジェクトディレクトリに移動
cd owl
# conda環境を作成
conda create -n owl python=3.10
# conda環境をアクティブ化
conda activate owl
# オプション1:パッケージとしてインストール(推奨)
pip install -e .
# オプション2:requirements.txtからインストール
pip install -r requirements.txt --use-pep517
# 完了したらconda環境を終了
conda deactivate
環境変数の設定
OWLは、さまざまなサービスと対話するために複数のAPIキーを必要とします。owl/.env_templateファイルには、すべての必要なAPIキーのプレースホルダーと、それらのサービスに登録するためのリンクが含まれています。
オプション1:.envファイルを使用する(推奨)
-
テンプレートをコピーして名前を変更:
cd owl cp .env_template .env -
APIキーを設定: お好みのテキストエディタで
.envファイルを開き、対応するフィールドにAPIキーを挿入します。注意:最小限の例(
examples/run_mini.py)の場合、LLM APIキー(例:OPENAI_API_KEY)のみを設定する必要があります。
オプション2:環境変数を直接設定
または、ターミナルで環境変数を直接設定することもできます:
-
macOS/Linux (Bash/Zsh):
export OPENAI_API_KEY="your-openai-api-key-here" -
Windows (コマンドプロンプト):
set OPENAI_API_KEY="your-openai-api-key-here" -
Windows (PowerShell):
$env:OPENAI_API_KEY = "your-openai-api-key-here"
注意:ターミナルで直接設定された環境変数は、現在のセッションでのみ有効です。
Dockerでの実行
OWLはDockerを使用して簡単にデプロイでき、異なるプラットフォーム間で一貫した環境を提供します。
セットアップ手順
# リポジトリをクローン
git clone https://github.com/camel-ai/owl.git
cd owl
# 環境変数を設定
cp owl/.env_template owl/.env
# .envファイルを編集し、APIキーを入力
デプロイメントオプション
オプション1:事前構築されたイメージを使用する(推奨)
# このオプションはDocker Hubから即使用可能なイメージをダウンロードします
# 最速であり、ほとんどのユーザーに推奨されます
docker compose up -d
# コンテナ内でOWLを実行
docker compose exec owl bash
cd .. && source .venv/bin/activate
playwright install-deps
xvfb-python examples/run.py
オプション2:ローカルでイメージを構築する
# Dockerイメージをカスタマイズする必要があるユーザーやDocker Hubにアクセスできないユーザー向け:
# 1. docker-compose.ymlを開く
# 2. "image: mugglejinx/owl:latest"行をコメントアウト
# 3. "build:"セクションとそのネストされたプロパティをコメント解除
# 4. 次に実行:
docker compose up -d --build
# コンテナ内でOWLを実行
docker compose exec owl bash
cd .. && source .venv/bin/activate
playwright install-deps
xvfb-python examples/run.py
オプション3:便利なスクリプトを使用する
# コンテナディレクトリに移動
cd .container
# スクリプトを実行可能にし、Dockerイメージを構築
chmod +x build_docker.sh
./build_docker.sh
# 質問を使用してOWLを実行
./run_in_docker.sh "your question"
MCPデスクトップコマンダーのセットアップ
Docker内でMCPデスクトップコマンダーを使用する場合、次を実行:
npx -y @wonderwhy-er/desktop-commander setup --force-file-protocol
クロスプラットフォームサポート、最適化された構成、トラブルシューティングなど、詳細なDocker使用手順については、DOCKER_README.mdを参照してください。
🚀 クイックスタート
基本的な使用法
インストールと環境変数の設定が完了したら、すぐにOWLを使用できます:
python examples/run.py
異なるモデルでの実行
モデルの要件
-
ツール呼び出し:OWLは、さまざまなツールキットと対話するために強力なツール呼び出し機能を持つモデルを必要とします。モデルはツールの説明を理解し、適切なツール呼び出しを生成し、ツールの出力を処理する必要があります。
-
マルチモーダル理解:ウェブインタラクション、画像解析、ビデオ処理を含むタスクには、視覚コンテンツとコンテキストを解釈するためのマルチモーダル機能を持つモデルが必要です。
サポートされているモデル
AIモデルの設定に関する情報については、CAMELモデルドキュメントを参照してください。
注意:最適なパフォーマンスを得るために、OpenAIモデル(GPT-4以降のバージョン)を強く推奨します。私たちの実験では、他のモデルは複雑なタスクやベンチマークで著しく低いパフォーマンスを示すことがあり、特に高度なマルチモーダル理解とツール使用を必要とするタスクでは顕著です。
OWLはさまざまなLLMバックエンドをサポートしていますが、機能はモデルのツール呼び出しおよびマルチモーダル機能に依存する場合があります。以下のスクリプトを使用して、異なるモデルで実行できます:
# Qwenモデルで実行
python examples/run_qwen_zh.py
# Deepseekモデルで実行
python examples/run_deepseek_zh.py
# 他のOpenAI互換モデルで実行
python examples/run_openai_compatible_model.py
# Azure OpenAIで実行
python examples/run_azure_openai.py
# Ollamaで実行
python examples/run_ollama.py
LLM APIキーのみを必要とするシンプルなバージョンについては、最小限の例を試してみてください:
python examples/run_mini.py
examples/run.pyスクリプトを変更して、独自のタスクでOWLエージェントを実行できます:
# 独自のタスクを定義
task = "Task description here."
society = construct_society(question)
answer, chat_history, token_count = run_society(society)
print(f"\033[94mAnswer: {answer}\033[0m")
ファイルをアップロードする場合は、質問と一緒にファイルパスを提供するだけです:
# ローカルファイルを使用したタスク(例:ファイルパス:`tmp/example.docx`)
task = "What is in the given DOCX file? Here is the file path: tmp/example.docx"
society = construct_society(question)
answer, chat_history, token_count = run_society(society)
print(f"\033[94mAnswer: {answer}\033[0m")
OWLは自動的にドキュメント関連のツールを呼び出してファイルを処理し、回答を抽出します。
例のタスク
以下のタスクをOWLで試してみてください:
- "Apple Inc.の最新の株価を調べる"
- "気候変動に関する最近のツイートの感情を分析する"
- "このPythonコードのデバッグを手伝ってください:[ここにコードを貼り付け]"
- "この研究論文の主要なポイントを要約してください:[論文のURL]"
- "このデータセットのデータビジュアライゼーションを作成してください:[データセットのパス]"
🧰 ツールキットと機能
モデルコンテキストプロトコル(MCP)
OWLのMCP統合は、AIモデルがさまざまなツールやデータソースと相互作用するための標準化された方法を提供します:
MCPを使用する前に、まずNode.jsをインストールする必要があります。
Node.jsのインストール
Windows
公式インストーラーをダウンロード:Node.js。
インストール中に「Add to PATH」オプションをチェックします。
Linux
sudo apt update
sudo apt install nodejs npm -y
Mac
brew install node
Playwright MCPサービスのインストール
npm install -g @executeautomation/playwright-mcp-server
npx playwright install-deps
examples/run_mcp.pyの包括的なMCP例を試して、これらの機能を実際に体験してください!
利用可能なツールキット
重要:ツールキットを効果的に使用するには、強力なツール呼び出し機能を持つモデルが必要です。マルチモーダルツールキット(Web、画像、ビデオ)には、マルチモーダル理解機能を持つモデルも必要です。
OWLはさまざまなツールキットをサポートしており、スクリプト内のtoolsリストを変更してカスタマイズできます:
# ツールキットの設定
tools = [
*BrowserToolkit(headless=False).get_tools(), # ブラウザ自動化
*VideoAnalysisToolkit(model=models["video"]).get_tools(),
*AudioAnalysisToolkit().get_tools(), # OpenAIキーが必要
*CodeExecutionToolkit(sandbox="subprocess").get_tools(),
*ImageAnalysisToolkit(model=models["image"]).get_tools(),
SearchToolkit().search_duckduckgo,
SearchToolkit().search_google, # 利用できない場合はコメントアウト
SearchToolkit().search_wiki,
SearchToolkit().search_bocha,
SearchToolkit().search_baidu,
*ExcelToolkit().get_tools(),
*DocumentProcessingToolkit(model=models["document"]).get_tools(),
*FileWriteToolkit(output_dir="./").get_tools(),
]
利用可能なツールキット
主要なツールキットには以下が含まれます:
マルチモーダルツールキット(マルチモーダルモデル機能が必要)
- BrowserToolkit:ウェブインタラクションとナビゲーションのためのブラウザ自動化
- VideoAnalysisToolkit:ビデオ処理とコンテンツ分析
- ImageAnalysisToolkit:画像解析と解釈
テキストベースのツールキット
- AudioAnalysisToolkit:音声処理(OpenAI APIが必要)
- CodeExecutionToolkit:Pythonコードの実行と評価
- SearchToolkit:ウェブ検索(Google、DuckDuckGo、Wikipedia)
- DocumentProcessingToolkit:ドキュメント解析(PDF、DOCXなど)
その他の専門ツールキット:ArxivToolkit、GitHubToolkit、GoogleMapsToolkit、MathToolkit、NetworkXToolkit、NotionToolkit、RedditToolkit、WeatherToolkitなど。完全なツールキットのリストについては、CAMELツールキットドキュメントを参照してください。
カスタマイズ設定
利用可能なツールをカスタマイズするには:
# 1. ツールキットをインポート
from camel.toolkits import BrowserToolkit, SearchToolkit, CodeExecutionToolkit
# 2. ツールリストを設定
tools = [
*BrowserToolkit(headless=True).get_tools(),
SearchToolkit().search_wiki,
*CodeExecutionToolkit(sandbox="subprocess").get_tools(),
]
# 3. アシスタントエージェントに渡す
assistant_agent_kwargs = {"model": models["assistant"], "tools": tools}
必要なツールキットのみを選択することで、パフォーマンスを最適化し、リソース使用量を削減できます。
🌐 ウェブインターフェース
🚀 強化されたウェブインターフェースが利用可能になりました!
最新のアップデートでシステムの安定性とパフォーマンスが向上しました。 使いやすいインターフェースを通じて、OWLの力を探索し始めましょう!
ウェブUIの起動
# 中国語版を起動
python owl/webapp_zh.py
# 英語版を起動
python owl/webapp.py
# 日本語版を起動
python owl/webapp_jp.py
機能
- 簡単なモデル選択:異なるモデル(OpenAI、Qwen、DeepSeekなど)を選択
- 環境変数管理:UIから直接APIキーやその他の設定を構成
- インタラクティブなチャットインターフェース:使いやすいインターフェースを通じてOWLエージェントと対話
- タスク履歴:対話の履歴と結果を表示
ウェブインターフェースはGradioを使用して構築されており、ローカルマシン上で実行されます。設定したモデルAPI呼び出しに必要なデータ以外は外部サーバーに送信されません。
🧪 実験
OWLのGAIAベンチマークスコア58.18を再現するには:
-
gaia58.18ブランチに切り替え:git checkout gaia58.18 -
評価スクリプトを実行:
python run_gaia_roleplaying.py
これにより、GAIAベンチマークでトップランクのパフォーマンスを達成したのと同じ構成が実行されます。
⏱️ 将来の計画
私たちはOWLの改善に継続的に取り組んでいます。以下は私たちのロードマップです:
- 現実のタスクにおけるマルチエージェント協力の探求と洞察を詳述する技術ブログ記事を書く
- 特定の分野のタスクに対応する専門ツールを追加してツールキットエコシステムを強化
- より高度なエージェント相互作用パターンと通信プロトコルを開発
- 複雑な多段階推論タスクのパフォーマンスを向上
📄 ライセンス
ソースコードはApache 2.0ライセンスの下でライセンスされています。
🖊️ 引用
このリポジトリが役立つと思われる場合は、以下を引用してください:
@misc{owl2025,
title = {OWL: Optimized Workforce Learning for General Multi-Agent Assistance in Real-World Task Automation},
author = {{CAMEL-AI.org}},
howpublished = {\url{https://github.com/camel-ai/owl}},
note = {Accessed: 2025-03-07},
year = {2025}
}
🤝 貢献
私たちはコミュニティからの貢献を歓迎します!以下は、どのように支援できるかです:
現在貢献を受け付けている問題:
問題を引き受けるには、興味を示すコメントを残すだけです。
🔥 コミュニティ
エージェントのスケーリング法則を見つけるための限界を押し広げるために、私たちと一緒に参加してください(DiscordまたはWeChat)。
さらなる議論に参加してください!
❓ FAQ
Q: サンプルスクリプトを起動した後、なぜローカルでChromeが実行されていないのですか?
A: OWLがタスクを非ブラウザツール(検索やコード実行など)を使用して完了できると判断した場合、ブラウザは起動しません。ブラウザベースのインタラクションが必要と判断された場合にのみ、ブラウザウィンドウが表示されます。
Q: どのPythonバージョンを使用すべきですか?
A: OWLはPython 3.10、3.11、および3.12をサポートしています。
Q: プロジェクトにどのように貢献できますか?
A: 参加方法の詳細については、貢献セクションを参照してください。コードの改善からドキュメントの更新まで、あらゆる種類の貢献を歓迎します。
📚 CAMEL依存関係の探索
OWLはCAMELフレームワークの上に構築されています。以下は、CAMELのソースコードを探索し、OWLとの連携方法を理解する方法です:
CAMELソースコードへのアクセス
# CAMELリポジトリをクローン
git clone https://github.com/camel-ai/camel.git
cd camel

