Magentic-UIは、Microsoft Researchによって開発されたオープンソースのインテリジェントエージェントツールで、コラボレーションを通じて複雑なウェブタスクを完了するユーザーを支援するように設計されています。AutoGenフレームワークをベースとし、マルチエージェントシステムを組み合わせることで、透過的で制御されたユーザー体験を提供します。Magentic-UIは、ウェブブラウジングやコード実行を自動化するだけでなく、ファイルの管理も行うため、詳細なウェブナビゲーションやデータ操作を必要とするタスクに適しています。ユーザーはタスクスケジュールを編集し、エージェントオペレーションをリアルタイムで監視して、結果が期待通りであることを確認することができる。このツールはMITライセンスのもとGitHubで公開されており、開発者はコードの貢献や提案を歓迎する。
機能一覧
- ウェブオートメーションフォームへの入力、注文のカスタマイズ、フライトのフィルタリングなど、複雑なウェブ作業をサポートします。
- マルチエージェントコラボレーションWebSurfer(ウェブページ操作)、Coder(コード実行)、FileSurfer(ファイル管理)などのエージェントが含まれます。
- タスクプランエディタユーザーはタスクステップを作成、修正、削除し、タスクプランニングに参加することができます。
- リアルタイムの業務フィードバックボタンのクリックやクエリの入力など、エージェントのアクションの各ステップを表示します。
- コード実行サポートDockerコンテナを通してPythonやShellコマンドを安全に実行できます。
- 文書処理能力文書の検索、Markdownフォーマットへの変換、文書に関する質問への回答。
- マルチモデル対応クロード3.7ソネット、クウェン2.5VL、その他の多言語モデルに対応。
- 計画された学習機能将来のタスク実行効率を最適化するために、過去のタスク計画を保存します。
ヘルプの使用
設置プロセス
Magentic-UIはGitHubリポジトリ経由でインストールする必要があり、完全な機能を確保するためにDockerを推奨する。以下に詳細なインストール手順を示す:
- 環境準備::
- GitとDockerがシステムにインストールされていることを確認し、Windowsを使用している場合はWSL2(Windows Subsystem for Linux)を有効にする。
- Dockerが正しく動作していることを確認する:
docker --version
- Dockerがインストールされていない場合は、公式ドキュメント(https://docs.docker.com/get-docker/)を参照してください。
- クローン倉庫::
- ターミナルを開き、以下のコマンドを実行してMagentic-UIのリポジトリをクローンする:
git clone https://github.com/microsoft/magentic-ui.git cd magentic-ui
- ターミナルを開き、以下のコマンドを実行してMagentic-UIのリポジトリをクローンする:
- 依存関係のインストール::
- 倉庫には
requirements.txt
ファイルを開き、以下のコマンドを実行してPythonの依存関係をインストールする:pip install -r requirements.txt
- Dockerを使用していない場合は、コマンドの限定バージョン(コード実行サポートなし)を実行できる:
python main.py --no-docker
- 倉庫には
- Dockerの設定::
- 必要なDockerイメージを取り出し、実行する:
docker-compose up -d
- WebSurfer、Coder、FileSurferのコンテナが正しく起動していることを確認する。
- 必要なDockerイメージを取り出し、実行する:
- Magentic-UIの開始::
- プロジェクトのルート・ディレクトリで実行する:
python main.py
- ブラウザが起動すると、Magentic-UIのインターフェイスが開きます。
http://localhost:8000
.
- プロジェクトのルート・ディレクトリで実行する:
使用方法
Magentic-UIのインターフェイスは、左側のセッションナビゲーションパネルと右側のブラウザ操作ウィンドウの2つの部分に分かれています。以下に主な機能の流れを示します:
- 新しいタスクを作成する::
- 左のパネルで "新規セッション "をクリックし、"ピザの注文 "や "航空券の検索 "などのタスクの説明を入力します。
- ウェブページのスクリーンショットなど、タスクの説明を補助する画像をアップロードできる。
- Magentic-UIは、「ウェブサイトを開く」「フォームに記入する」といったステップをリストアップした最初のタスクプランを生成する。
- タスクプランの編集::
- 生成されたステップを表示し、"Edit "ボタンをクリックしてステップの修正、追加、削除を行います。
- プランを確認後、"Execute "ボタンをクリックしてエージェント業務を開始します。
- ユーザーはいつでも一時停止、操作の引き継ぎ、プログラムの調整ができる。
- ウェブオートメーション::
- WebSurferエージェントは、ボタンをクリックしたり、テキストを入力したり、ファイルをアップロードしたりなど、ウェブページのインタラクションを担当します。
- Submit "ボタンをクリックしてください」「"flights "という検索語を入力してください」など、操作の詳細がリアルタイムで表示されます。
- ユーザーは、エージェントが正しく動作していることを確認するために、インターフェイスを通してウェブページの内容を確認することができる。
- コード実行::
- Coderエージェントは、データ処理タスクに適したPythonやShellのコードを書いて実行する。
- 例:ユーザーが「ウェブページからデータを抽出してチャートを生成する」と入力すると、コーダーがコードを生成し、Dockerコンテナで実行する。
- 実行結果はインターフェイスに表示され、ユーザーが閲覧またはダウンロードできる。
- 文書管理::
- FileSurferエージェントは、プロジェクトディレクトリ内のファイルを検索したり、Markdownフォーマットに変換したり、ファイルの内容に関する質問に答えたりすることができます。
- 例:「README.mdの内容を検索」と入力すると、FileSurferはファイルの概要を返します。
- マルチモデル対応::
- OpenAIのモデルはデフォルトでサポートされており、以下の場所にあります。
config.json
で他のモデル(例えばクロード3.7ソネット)を設定する。 - 設定例:
{ "model": "claude-3.7-sonnet", "api_key": "your-api-key" }
- OpenAIのモデルはデフォルトでサポートされており、以下の場所にあります。
- リアルタイムのモニタリングと介入::
- 左側のパネルにはタスクのステータスが表示されます: 🔴 (ユーザー入力が必要)、✅ (タスク完了)、↺ (タスク進行中)。
- ユーザはいつでもエージェントを一時停止したり、ステップを変更したり、ブラウザを手動で操作することができます。
ほら
- Dockerモードは全機能を提供し、非Dockerモードはコード実行をサポートせず、単純なウェブタスクに適している。
- 問題がある場合は、それをチェックしてください。
TROUBLESHOOTING.md
ファイルを作成するか、GitHubにIssueを投稿してください。 - エージェント業務の中断を避けるため、ネットワークの安定性を確保する。
アプリケーションシナリオ
- ウェブフォーム・オートメーション
magentic-UIは、自動的にウェブページをナビゲートし、情報を入力することで、時間を節約します。 - 詳細なウェブ・ナビゲーション
個々のウェブサイトへのリンクや特定のフライト情報など、検索エンジンにインデックスされていないコンテンツを検索します。WebSurferエージェントは、正確なターゲティングのためにウェブサイトの階層構造の奥深くまで浸透します。 - データ処理と視覚化
Coderエージェントは、データをクロールし、ビジュアライゼーションを生成するコードを記述します。 - 文書の内容分析
開発者は、プロジェクトファイルの内容を素早く見つける必要があります。FileSurferエージェントは、ファイルを見つけ、それらに関する質問に答えます。
品質保証
- Magentic-UIにはDockerが必要ですか?
Dockerは推奨される方法で、コード実行とファイル管理をサポートする。Docker以外のモードも実行可能だが、機能は制限される。 - 新しいエージェントを追加するには?
あるagents
新しいMCPエージェント・コードを追加するために、カタログを更新する。config.json
サービスを再起動する。 - どのような言語モデルに対応していますか?
OpenAI、Claude 3.7 Sonnet、Qwen 2.5 VLなどをサポートします。設定ファイルにAPIキーを設定する必要があります。 - ミッションの失敗にどう対処するか?
プローブTROUBLESHOOTING.md
失敗したら、GitHub に Issue を提出する。それでも失敗する場合は、GitHubにIssueを提出してください。