このトピックでは、AgentBay Computer Use Linux イメージを使用して、フル機能のオールインワンサンドボックス環境を構築する方法について説明します。
背景情報
オールインワンサンドボックスは、高度に統合されたクラウド開発および実行環境です。Linux デスクトップオートメーション、ブラウザ、コード実行エンジンを組み合わせています。これにより、自動化タスク (特に AI エージェント)、クラウド開発、安全なコード実行のための、標準化されたすぐに使えるランタイム環境が提供されます。
このソリューションは、統一されたコンテナ化アーキテクチャを使用して、従来の断片化されたツールチェーンに見られる環境差、ファイル転送の複雑さ、インタラクションの障壁を解消します。このアプローチにより、エンドツーエンドの統合とシームレスな操作が可能になります。
ソリューション概要
このソリューションでは、Linux サンドボックスセッションをオールインワンサンドボックスとして使用します。linux_latest イメージを使用して、以下の操作を実行します:
session.computerによるデスクトップオートメーション。session.browserによるブラウザオートメーション。session.codeによるコード実行 (Python など)。
この環境は、イメージを切り替えることなく、単一のセッションでユーザーインターフェースインタラクションとスクリプト実行 (または Web コンテンツの迅速な取得) を行う必要がある場合に特に役立ちます。
主な特徴
環境の一貫性:ブラウザ、ターミナル、ファイルシステム、開発者ツールを統一された環境にカプセル化し、不整合を排除します。
すぐに使える:一般的な言語、フレームワーク、ビルドツールがプリインストールされているため、環境構築の時間を節約できます。
セキュリティ分離:VPC ネットワーク分離と独立したコンテナ環境を使用し、安全なタスク実行とデータコントロールを保証します。
弾力的なスケーリング:オンデマンドのリソース構成により、数秒で環境の作成と破棄をサポートし、コストを最適化します。
マルチモーダル統合:単一の Linux イメージ内に Browser Use、CodeSpace、Computer Use の機能を統合し、シームレスなツールチェーンの連携を実現します。
事前準備
ご利用の環境で API キーの設定 を完了させます。
実装例
以下の例では、同じ linux_latest セッションタイプを使用し、次の内容をデモンストレーションします:
session.code.run_code()を使用したコードの実行。session.browserを使用したブラウザエージェント API の利用。
例 1:linux_latest でのコード実行 (Codespace と同様)
import os
from agentbay import AgentBay, CreateSessionParams
def main() -> None:
api_key = os.getenv("AGENTBAY_API_KEY")
if not api_key:
raise RuntimeError("AGENTBAY_API_KEY environment variable not set")
ab = AgentBay(api_key=api_key)
create_result = ab.create(CreateSessionParams(image_id="linux_latest"))
if not create_result.success:
raise RuntimeError(create_result.error_message)
session = create_result.session
try:
code = """
print("RUN_CODE_OK")
print(6 * 7)
""".strip()
result = session.code.run_code(code, "python")
if not result.success:
raise RuntimeError(result.error_message)
print(result.result)
finally:
session.delete()
if __name__ == "__main__":
main()
例 2:linux_latest でのブラウザ API の使用
この例では、ブラウザエージェント API (ローカルの Playwright は不要) を使用して、ページに移動し、スクリーンショットを撮ります。
import os
from agentbay import AgentBay, BrowserOption, CreateSessionParams
def main() -> None:
api_key = os.getenv("AGENTBAY_API_KEY")
if not api_key:
raise RuntimeError("AGENTBAY_API_KEY environment variable not set")
ab = AgentBay(api_key=api_key)
create_result = ab.create(CreateSessionParams(image_id="linux_latest"))
if not create_result.success:
raise RuntimeError(create_result.error_message)
session = create_result.session
try:
if not session.browser.initialize(BrowserOption()):
raise RuntimeError("Failed to initialize browser")
session.browser.agent.navigate("https://example.com")
data = session.browser.agent.screenshot(full_page=False)
print("Screenshot data prefix:", data[:30])
finally:
session.delete()
if __name__ == "__main__":
main()