Movatterモバイル変換


[0]ホーム

URL:


株式会社 AI Shift

MENU
CyberAgent
サーバーサイドエンジニアはこちらフロントエンドエンジニアはこちらコンサルティングセールス・PMはこちらカジュアル面談をご希望の方はこちら
  1. TOP
  2. TECH BLOG
  3. E2B Desktop Sandbox: GUI操作Agentのための安全な仮想環境

E2B Desktop Sandbox: GUI操作Agentのための安全な仮想環境

こんにちは!AIチームの戸田です。

近年、様々な作業の自動化を目的としたAI Agent(以下、Agent)が注目を集めています。特に、GUIを操作するAgentは、ユーザーインターフェースを介したタスクの自動化を可能にするため、大きな可能性を秘めています。AnthropicのClaude 3.5 Computer UseOpenAIのOperator、オープンソースはbrowser-useなどがその代表例です。研究分野でも、学習用データセット(GUI-World: A Dataset for GUI-Oriented Multimodal Large Language Modelsなど)やベンチマーク(WebWalker: Benchmarking LLMs in Web Traversalなど)が多数公開されており、GUI操作Agentの研究開発は活発化しています。

一方で、Agentにコンピューターの操作を委任することには注意が必要です。意図せず危険なコードを実行してしまう恐れがあるため、セキュリティリスクが非常に大きいと考えられます。

そこで注目したいのが、E2Bというオープンソースのインフラストラクチャです。E2BはVMWareやVirtualboxのような仮想環境を提供し、Agentの誤操作のリスクを回避する仕組みを整えています。前回の記事でも、CodeAgentの実行環境としてE2Bを活用できることを少し触れました。

今回は、E2Bが提供するGUI環境「Desktop Sandbox」を実際に試用し、その機能や使い方、そしてLLMを用いたGUI操作のサンプルアプリケーション「Open Computer Use」について解説します。

https://e2b.dev/

Desktop Sandboxの使い方

Desktop Sandboxの使い方や、Desktop Sandboxの環境をLLMを使って操作するサンプルアプリOpen Computer Useを紹介していきます。PythonとJavaScriptのSDKが提供されていますが、本記事ではPythonを使用します

初期設定

ライブラリはpipでインストールすることができます。

pip install e2b-desktop

加えて、E2Bにサインアップし、APIキーを取得する必要があります。

KeysのAdd API Keyから追加し、発行されたAPI Keyを環境変数E2B_API_KEYに設定して下さい。

# .bashrcなどに設定export E2B_API_KEY="xxx"

仮想環境の作成

以下のコードで仮想環境を構築できます。

from e2b_desktop import Sandboxdesktop = Sandbox()

import文を除けばたった一行で構築できます。お手軽ですね。

GUI操作の様子を映像で確認したい場合、video_stream引数にTrueを設定することで実現できます。

from e2b_desktop import Sandboxdesktop = Sandbox(video_stream=True)stream_url = desktop.get_video_stream_url()print(stream_url)  # https://e2b.dev/stream/sandbox/<sandbox-id>?token=<secret-token>の形式

最後のprint文で表示されたURLをブラウザで開くと、仮想マシンのデスクトップ画面がリアルタイムでストリーミング配信されます。

OSには高速で軽量なデスクトップ環境として知られるxfceが採用されており、実際に仮想環境を作成してみたところ、数秒で起動するほど軽量でした。

GUI操作

Desktop Sandboxでは、以下のGUI操作が可能です。

  • マウス操作(移動やクリック)
  • スクリーンショットを撮る
  • キーボード操作(テキストを打ち込む)
  • ファイル操作
  • bashコマンドの実行

実際に右クリックを実行する例を見てみましょう。

from e2b_desktop import Sandboxdesktop = Sandbox(video_stream=True)stream_url = desktop.get_video_stream_url()print(stream_url)desktop.right_click()

他の操作に関してはここでは紹介しませんが、READMEにまとまっているので気になる方はそちらを参照していただければと思います。

GUI操作はデフォルトで提供されているメソッドに加え、PyAutoGUIを使うこともできます。PyAutoGUIを使った右クリックの例を見てみましょう。

from e2b_desktop import Sandboxdesktop = Sandbox(video_stream=True)stream_url = desktop.get_video_stream_url()print(stream_url)desktop.pyautogui("pyautogui.click(button='right')")  # PyAutoGUI で右クリックする

これによりプログラマティックなGUI操作が可能になります。

以下は私がテストで作ったデスクトップ上でマウスを円形に動かすコードを紹介します。

import timeimport mathfrom e2b_desktop import Sandboxdesktop = Sandbox(video_stream=True)stream_url = desktop.get_video_stream_url()print(stream_url)# 円の中心座標(画面の中央付近に設定)screen_width, screen_height = desktop.get_screen_size()cx, cy = screen_width // 2, screen_height // 2r = 100  # 半径の設定interval = 0.01  # 動作間隔loops = 3  # 3周回すfor _ in range(loops):    for angle in range(0, 360, 15):  # 15度刻みで移動        x = cx + r * math.cos(math.radians(angle))        y = cy + r * math.sin(math.radians(angle))        desktop.pyautogui(f"pyautogui.moveTo({x}, {y}, duration={interval})")

このコードを実行し、出力されたURLにアクセスすると、以下のような映像が確認できます。

少しカクついてはいますが、マウスがぐるぐる円運動をしていることがわかります。

Open Computer Use

Desktop Sandboxの基本的な使い方を紹介しましたが、LLMを用いて操作するには、さらに工夫が必要です。browser-useなどの既存のGUIを操作する Agentを参考にすると、LLMによるGUI操作Agentの一般的な処理フローは以下の通りです。

  1. ユーザーからの指示を受け取る
  2. スクリーンショットを撮る
  3. マウスの座標など指示されたタスク遂行に必要な情報を得る
  4. 必要な操作を予測する
  5. 予測された操作を実行する
    以下、指示が完了するまで2-5を繰り返す

このフローを自力で実装することも可能ですが、少々手間がかかります。E2Bは、このフローを簡単に実現できるサンプルアプリケーション「Open Computer Use」を提供しています。以下はOpen Computer Useのアーキテクチャ図です。

以下に環境構築手順を示します。(macOSを想定しています)

# 必要なライブラリのインストールbrew install poetry ffmpeg# リポジトリのクローンgit clone https://github.com/e2b-dev/open-computer-use/# 依存するPythonライブラリのインストールcd open-computer-use && poetry install

次に、使用したいLLMプロバイダのAPIキーを環境変数に設定し、該当するプロバイダの設定を有効にします。そしてリポジトリ内のconfig.pyの設定をプロバイダに合わせます。私はOpenAIのAPI Keyを設定したので、vision_model = providers.OpenAIProvider("gpt-4o")action_model = providers.OpenAIProvider("gpt-4o")のコメントを外しました。

以上で準備は完了です。実際にOpen Computer Useを実行してみましょう。今回はAgentに「Webブラウザを開いて、UCIのirisのデータセットをダウンロードし、ダウンロードされたzipファイルを解凍して中身を確認する」といった指示を与えます。

poetry run start --prompt "Download the UCI iris dataset using a web browser, unzip the downloaded zip file, and check the contents."

上記のコマンドを実行すると、仮想環境内でブラウザが起動し、指示に従って操作が開始されます。操作ログの動画とAgentの行動ログを以下に示します。

▼ Agentの行動ログ

    Computer Use Log

    USER: Download the UCI iris dataset using a web browser, unzip the downloaded zip file, and check the contents.

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_1.png

    THOUGHT: The objective is: Download the UCI iris dataset using a web browser, unzip the downloaded zip file, and check the contents.On the screen, I see: - Desktop environment with a blue background.- Icons for "Trash," "File System," and "Home."- A taskbar at the bottom with icons that include an internet browser symbol (looks like a globe).- Time and user information on the top right.This means the objective is: not complete.The next step is to click the internet browser icon in order to open the web browser.

    ACTION: click {'query': 'browser'}

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_2.png

    click /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/location_3.png)

    OBSERVATION: The mouse has clicked.

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_4.png

    THOUGHT: The objective is: Download the UCI iris dataset using a web browser, unzip the downloaded zip file, and check the contents.On the screen, I see:- Desktop background with blue color featuring a stylized mouse design.- Desktop icons: Trash, File System, and Home.- A panel at the bottom with some applications, including a web browser icon and a file manager.This means the objective is: not complete.The next step is to click the web browser icon in order to open the browser and navigate to the UCI Machine Learning Repository website.

    ACTION: click {'query': 'Web Browser'}

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_5.png

    click /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/location_6.png)

    OBSERVATION: The mouse has clicked.

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_7.png

    THOUGHT: The objective is: Download the UCI iris dataset using a web browser, unzip the downloaded zip file, and check the contents.On the screen, I see:- Applications menu at the top left.- Desktop icons: Trash, File System, Home.- A taskbar at the bottom with icons, including: - A globe icon (Web Browser). - A terminal icon. - A file manager icon.This means the objective is: not complete.The next step is to click the globe icon (Web Browser) in order to open the web browser.

    ACTION: click {'query': 'Web Browser'}

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_8.png

    click /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/location_9.png)

    OBSERVATION: The mouse has clicked.

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_10.png

    THOUGHT: The objective is: Download the UCI iris dataset using a web browser, unzip the downloaded zip file, and check the contents.On the screen, I see: - A web browser open, displaying a welcome screen for Firefox.- Options to "Save and continue" or "Skip this step."- A search or address bar at the top.This means the objective is: not complete.The next step is to click "Skip this step" in order to proceed to the main browser interface.

    ACTION: click {'query': 'Skip this step'}

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_11.png

    click /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/location_12.png)

    OBSERVATION: The mouse has clicked.

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_13.png

    THOUGHT: The objective is: Download the UCI iris dataset using a web browser, unzip the downloaded zip file, and check the contents.On the screen, I see: - Firefox web browser open with a welcome page.- A "Save and continue" button on the welcome page.- Tabs titled "Welcome to Firefox" and "Mozilla Firefox Privacy Notice".- A search/address bar at the top.This means the objective is: not complete.The next step is to type "UCI iris dataset" in the search/address bar in order to perform a web search to find and download the dataset.

    ACTION: click {'query': 'Search or enter address'}

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_14.png

    click /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/location_15.png)

    OBSERVATION: The mouse has clicked.

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_16.png

    THOUGHT: The objective is: Download the UCI iris dataset using a web browser, unzip the downloaded zip file, and check the contents.On the screen, I see: - A Firefox web browser tab open with a text box labeled "Search or enter address."- Suggestions and trending searches listed below.This means the objective is: not complete.The next step is to type "UCI Machine Learning Repository Iris dataset" in the search bar in order to find and navigate to the website where the dataset can be downloaded.

    ACTION: type_text {'text': 'UCI Machine Learning Repository Iris dataset'}

    OBSERVATION: The text has been typed.

    ACTION: send_key {'name': 'Return'}

    OBSERVATION: The key has been pressed.

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_17.png

    THOUGHT: The objective is: Download the UCI iris dataset using a web browser, unzip the downloaded zip file, and check the contents.On the screen, I see: A web browser window displaying a Google search page for "UCI Machine Learning Repository Iris dataset."This means the objective is: not complete.The next step is to click on the search result link for the UCI Machine Learning Repository that leads to the Iris dataset in order to access and download the dataset.

    ACTION: click {'query': 'UCI Machine Learning Repository: Iris Data Set'}

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_18.png

    click /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/location_19.png)

    OBSERVATION: The mouse has clicked.

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_20.png

    THOUGHT: The objective is: Download the UCI iris dataset using a web browser, unzip the downloaded zip file, and check the contents.On the screen, I see: A Google search results page with the query "UCI Machine Learning Repository Iris dataset." The top result is "Iris - UCI Machine Learning Repository" with a link to the repository page.This means the objective is: not complete.The next step is to click "Iris - UCI Machine Learning Repository" in order to navigate to the dataset page.

    ACTION: click {'query': 'Iris - UCI Machine Learning Repository'}

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_21.png

    click /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/location_22.png)

    OBSERVATION: The mouse has clicked.

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_23.png

    THOUGHT: The objective is: Download the UCI iris dataset using a web browser, unzip the downloaded zip file, and check the contents.On the screen, I see: - A Google search result page.- A link titled "Iris - UCI Machine Learning Repository" with the URL `https://archive.ics.uci.edu/dataset/53/iris`.This means the objective is: not complete.The next step is to click the link titled "Iris - UCI Machine Learning Repository" in order to navigate to the page where the dataset can be downloaded.

    ACTION: click {'query': 'Iris - UCI Machine Learning Repository'}

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_24.png

    click /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/location_25.png)

    OBSERVATION: The mouse has clicked.

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_26.png

    THOUGHT: The objective is: Download the UCI iris dataset using a web browser, unzip the downloaded zip file, and check the contents.On the screen, I see: - UCI Machine Learning Repository homepage.- "Iris" dataset listed under Popular Datasets.- "VIEW DATASETS" button.- Navigation links for Datasets, Contribute Dataset, About Us.- Privacy notice banner at the bottom.This means the objective is: not complete.The next step is to click "Iris" under Popular Datasets in order to access the dataset page.

    ACTION: click {'query': 'Iris'}

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_27.png

    click /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/location_28.png)

    OBSERVATION: The mouse has clicked.

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_29.png

    THOUGHT: The objective is: Download the UCI iris dataset using a web browser, unzip the downloaded zip file, and check the contents.On the screen, I see: - UCI Machine Learning Repository website.- Information about the Iris dataset.- A "DOWNLOAD (3.7 KB)" button.- Navigation tabs and dataset details.This means the objective is: not complete.The next step is to click the "DOWNLOAD (3.7 KB)" button in order to download the Iris dataset.

    ACTION: click {'query': 'DOWNLOAD (3.7 KB)'}

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_30.png

    click /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/location_31.png)

    OBSERVATION: The mouse has clicked.

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_32.png

    THOUGHT: The objective is: Download the UCI iris dataset using a web browser, unzip the downloaded zip file, and check the contents.On the screen, I see: - A web page from the UCI Machine Learning Repository.- A notification indicating that "iris.zip" has been downloaded.- The "SHOW ALL DOWNLOADS" option in the browser.This means the objective is: not complete.The next step is to click "SHOW ALL DOWNLOADS" in order to locate the downloaded zip file.

    ACTION: click {'query': 'SHOW ALL DOWNLOADS'}

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_33.png

    click /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/location_34.png)

    OBSERVATION: The mouse has clicked.

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_35.png

    THOUGHT: The objective is: Download the UCI iris dataset using a web browser, unzip the downloaded zip file, and check the contents.On the screen, I see: A 'Library' window with "iris.zip" listed under downloads. The downloads window is open.This means the objective is: Not complete.The next step is to click "iris.zip" in order to open the file location and proceed to unzip it.

    ACTION: click {'query': 'iris.zip'}

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_36.png

    click /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/location_37.png)

    OBSERVATION: The mouse has clicked.

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_38.png

    THOUGHT: The objective is: Download the UCI iris dataset using a web browser, unzip the downloaded zip file, and check the contents.On the screen, I see: - A "Library" window displaying the download history.- An entry for `iris.zip`, downloaded from uci.edu and sized at 3.7 KB.- The Firefox browser window in the background.- Options for "Organize" and "Clear Downloads".This means the objective is: not complete.The next step is to click the `iris.zip` download entry in order to locate and unzip the downloaded file.

    ACTION: click {'query': 'iris.zip'}

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_39.png

    click /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/location_40.png)

    OBSERVATION: The mouse has clicked.

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_41.png

    THOUGHT: The objective is: Download the UCI iris dataset using a web browser, unzip the downloaded zip file, and check the contents.On the screen, I see: - A "Library" window showing downloads.- The file "iris.zip" downloaded with a size of 3.7 KB from uci.edu.- A web browser open with options for downloading and viewing datasets.This means the objective is: not complete.The next step is to click "iris.zip" in order to open or unzip the file and check its contents.

    ACTION: click {'query': 'iris.zip'}

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_42.png

    click /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/location_43.png)

    OBSERVATION: The mouse has clicked.

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_44.png

    THOUGHT: The objective is: Download the UCI iris dataset using a web browser, unzip the downloaded zip file, and check the contents.On the screen, I see: - A browser window showing download history with an entry for "iris.zip" from uci.edu.- A button to clear downloads.- An active Firefox browser window in the background.This means the objective is: not complete.The next step is to click "iris.zip" in order to open or unzip the file and check its contents.

    ACTION: run_command {'command': 'unzip iris.zip -d iris_unzipped'}

    OBSERVATION: Error executing function: Command exited with code 9 and error:unzip: cannot find or open iris.zip, iris.zip.zip or iris.zip.ZIP.

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_45.png

    THOUGHT: The objective is: Download the UCI iris dataset using a web browser, unzip the downloaded zip file, and check the contents.On the screen, I see:- A Firefox window with the Downloads Library open.- A file named `iris.zip` listed in the Downloads Library.- An option to open in the file manager or perform other actions.This means the objective is: not complete.The next step is to **click** on `iris.zip` in order to locate the file in the file manager and proceed to unzip it.

    ACTION: click {'query': 'Show In Finder'}

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_46.png

    click /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/location_47.png)

    OBSERVATION: The mouse has clicked.

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_48.png

    THOUGHT: The objective is: Download the UCI iris dataset using a web browser, unzip the downloaded zip file, and check the contents.On the screen, I see:- A browser showing the Downloads Library with "iris.zip".- A file manager window showing the path `/root/Downloads/` with "iris.zip" highlighted.- A notice about using the root account.This means the objective is: not complete.The next step is to click on "iris.zip" to unzip it in order to extract the dataset contents.

    ACTION: click {'query': 'iris.zip'}

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_49.png

    click /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/location_50.png)

    OBSERVATION: The mouse has clicked.

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_51.png

    THOUGHT: The objective is: Download the UCI iris dataset using a web browser, unzip the downloaded zip file, and check the contents.On the screen, I see: - A file named "iris.zip" in the Downloads folder.- A warning message about using the root account.- A file manager window open to the Downloads directory.- A Firefox Downloads Library window showing "iris.zip".This means the objective is: not complete.The next step is to click on "iris.zip" in order to extract the contents of the zip file.

    ACTION: double_click {'query': 'iris.zip'}

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_52.png

    double click /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/location_53.png)

    OBSERVATION: The mouse has double clicked.

    screenshot /var/folders/k9/0d1smgqj6f9_hkzf80qfbw80941m76/T/tmpswcple0c/screenshot_54.png

    THOUGHT: The objective is: Download the UCI iris dataset using a web browser, unzip the downloaded zip file, and check the contents.On the screen, I see:- The Firefox browser open with the UCI iris dataset download page.- The Downloads library showing `iris.zip` file.- The xarchiver application open displaying the contents of `iris.zip`.- Files listed: `Index`, `bezdekIris.data`, `iris.data`, `iris.names`.This means the objective is: complete.The iris dataset has been downloaded, unzipped, and the contents are visible.

Agentの行動ログはAgentの思考であるTHOUGHTと実行したACTION、そして、観測した情報のOBSERVATIONに分けられています。

Agentの行動ログと操作ログの動画を合わせて見てみると、Webブラウザのアイコンを見つけられなかったり、UCIのサイトで迷子になったりと、目的のデータセットにたどり着くまでに時間がかかったりしていることがわかります。しかし、最終的には指示通りIrisデータセットのダウンロードと確認に成功しています。

終わりに

本記事では、E2Bが提供するGUI操作Agent開発のための安全な仮想環境「Desktop Sandbox」とその活用例として「Open Computer Use」を紹介しました。Desktop Sandboxを利用することで、非常に簡単に仮想環境を構築でき、Open Computer Useを使えば、GUI操作Agentへの指示をすぐに試すことが可能です。

しかし、現状のGUI操作Agentの精度はまだ発展途上であり、複雑なタスクや予期せぬ状況への対応には課題が残るようです。ベースとなるLLMの性能向上や、より洗練されたアーキテクチャの開発によりこれが解決できることを期待しています。

E2Bのような安全な開発環境は、こうした Agentの発展を後押しするとともに、身元不明の実行ファイルのテストや、マルウェア・スパイウェアの解析などにも使えるのではないでしょうか?私も活用方法を模索していきたいと思います。

最後までお読みいただきありがとうございました!

Share on

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア
  • noteでシェア
  • はてぶでシェア
PREVNEXTBACK TO LIST
  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア
  • noteでシェア
  • はてぶでシェア

CATEGORY

PICK UP

    TAG


    [8]ページ先頭

    ©2009-2025 Movatter.jp