はじめに
Arrakisは、AIインテリジェンスのために設計されたサンドボックス環境で、セキュアでカスタマイズ可能な環境を提供する。Abhishek Bhardwajによって開発され、AGPL v3ライセンスの下でGitHubにホストされているArrakisは、AIコードを分離し、MicroVM技術によってホストを保護する。各サンドボックスにはUbuntuが組み込まれており、独自のコード実行サービスとVNCサーバーで起動し、グラフィカル・インターフェースをサポートする。このツールはPython SDKとREST APIを提供し、開発者がサンドボックスを管理しやすくしている。また、スナップショットとバックトラックをサポートしており、AIエラーが発生した場合にAIを以前の状態に戻すことができます。Arrakisは、コードを安全に実行したり、マルチステッププロセスをテストする必要がある開発者に最適です。
機能一覧
- 安全な隔離MicroVM テクノロジーを使用して、AI コードを分離し、ホストやその他のタスクを保護します。
- スナップショットとバックトラックサンドボックス状態の保存と復元をサポートし、マルチステップ・タスクのAIテストを容易にします。
- Python SDK提供
py-arrakis
プログラマブル・コントロール・サンドボックス - REST APIスルー
arrakis-restserver
サンドボックスを管理するためのインターフェースを提供する。 - グラフィカル・ユーザー・インターフェース(GUI)(コンピューティング)各サンドボックスには、VNCサーバーとGUIをサポートするChromeが組み込まれています。
- ネットワーク構成ポートフォワーディングとSSHアクセスをサポートした自動ネットワークセットアップ。
- カスタマイズされた環境スルー
Dockerfile
サンドボックスのソフトウェアと設定を調整する。 - MCP対応サポート エムシーピー クライアント(例 クロード Desktop)に簡単に統合できる。
ヘルプの使用
Arrakisのインストールと使用にはいくつかのステップが必要です。ここでは、すぐに使い始めるための詳しい手順を説明します。
設置プロセス
- システム要件の確認
ArrakisはLinuxシステムでのみサポートされている。/dev/kvm
仮想化。仮想化のサポートはコマンドで確認できる:
stat /dev/kvm
エラーが返された場合、そのホストはサポートされておらず、仮想化を有効にする必要がある。
- ダウンロードとインストール
Linux上で以下のコマンドを実行し、ビルド済みファイルをダウンロードする:
curl -sSL https://raw.githubusercontent.com/abshkbh/arrakis/main/setup/setup.sh | bash
ダウンロードによって生成される arrakis-prebuilt
フォルダにバイナリとイメージを格納する。
- RESTサーバーの起動
フォルダに移動し、サービスを開始する:
cd arrakis-prebuilt
sudo ./arrakis-restserver
サービスはデフォルトで 127.0.0.1:7000
.ニーズ sudo
仮想マシン管理に関連する。
- Python SDKのインストール(オプション)
Pythonでサンドボックスを制御したい場合は、SDKをインストールしてください:
pip install py-arrakis
主な機能
サンドボックスの作成
- CLIの使用
サンドボックスを作る:
./arrakis-client start -n my-sandbox
サンドボックスのIPとステータス情報を返します。
- Pythonの使用
SDKで作成:
from arrakis_client import SandboxManager
manager = SandboxManager('http://127.0.0.1:7000')
sandbox = manager.start_sandbox('my-sandbox')
print(sandbox.info())
実行コード
- CLIメソッド
サンドボックス内でコマンドを実行する:./arrakis-client run -n my-sandbox --cmd "echo Hello World"
- パイソン流
SDKで実行する:sandbox.run_cmd('echo Hello World')
出力はターミナルに戻される。
グラフィカル・インターフェースの使用
各サンドボックスは独自のVNCサーバーとChromeで起動し、接続情報を取得する:
- CLIを使う:
./arrakis-client info -n my-sandbox
のようなものを返す。
port_forwards: [{'host_port': '3000', 'guest_port': '5901', 'description': 'gui'}]
. - Pythonを使う:
print(sandbox.info()['port_forwards'])
- VNCを接続する:
VNCクライアントで接続する(例:noVNC)主机IP:3000
グラフィカルなインターフェイスを見ることができる。
スナップショットとバックトラック
- スナップショットの保存
CLIを使う:./arrakis-client snapshot -n my-sandbox -o snap1
Pythonを使う:
snapshot_id = sandbox.snapshot('snap1')
- スナップショットの復元
まずサンドボックスを破壊する:./arrakis-client destroy -n my-sandbox
復権:
./arrakis-client restore -n my-sandbox --snapshot snap1
あるいはパイソンを使ってね:
sandbox.destroy() sandbox = manager.restore('my-sandbox', snapshot_id)
カスタマイズされたサンドボックス
- 見つける
rootfs/Dockerfile
. - 例えば、ソフトウェアを追加するために編集する:
RUN apt-get update && apt-get install -y vim
- サンドボックスを再起動する:
./arrakis-client start -n my-sandbox --rootfs custom-rootfs
SSHアクセス
各サンドボックスはSSHをサポートしている:
- IPを取得する:
./arrakis-client info -n my-sandbox
のようなものを返す。
ip: "10.20.1.2/24"
. - ログイン
ssh elara@10.20.1.2
デフォルトユーザー
elara
パスワードelara0000
.
運用フロー例
サンドボックス内でAIにファイルを書き込ませ、バックトラックをテストしようとしている:
- サンドボックスを開始する:
./arrakis-client start -n test-sandbox
- コマンドを実行する:
./arrakis-client run -n test-sandbox --cmd "echo '第一步' > /tmp/test.txt"
- スナップショットを保存する:
./arrakis-client snapshot -n test-sandbox -o step1
- ファイルを修正する:
./arrakis-client run -n test-sandbox --cmd "echo '第二步' > /tmp/test.txt"
- スナップショットを復元する:
./arrakis-client destroy -n test-sandbox ./arrakis-client restore -n test-sandbox --snapshot step1
- ファイルをチェックする:
./arrakis-client run -n test-sandbox --cmd "cat /tmp/test.txt"
出力は次のようになる。
第一步
.
詳細はGitHubの README.md
.
アプリケーションシナリオ
- AIコードのデバッグ
開発者は信頼できないコードをArrakisで実行し、リスクを分離する。エラーの後、バックトラックで問題をチェックします。 - 教育実験
教師は、生徒がAIプログラミングを練習するためのサンドボックスを作り、生徒はメインフレームに影響を与えることなく、サンドボックスを自由に操作することができる。 - 多段階タスクテスト
企業はArrakisを使用して、スナップショット・リカバリをサポートするWeb操作やファイル処理などのAI自動化プロセスをテストします。
品質保証
- ArrakisはWindowsに対応していますか?
に依存しているため、サポートされておらず、現在のところLinux上でのみ動作する。cloud-hypervisor
. - サンドボックスを止めるには?
支出./arrakis-client stop -n 名称
停止、またはdestroy
削除する。 - スナップショットにはどのくらいの容量が必要ですか?
サンドボックスの内容にもよるが、通常は数百MB程度。未使用のスナップショットをクリーンアップすることをお勧めする。