記事

クラウドサンドボックスでAIエージェントを動かした実測結果とパフォーマンス検証

実機テストの結果、持続的 WebSocket 通信は安定していましたが、外向き通信を完全遮断するとエージェントが動作不能になることが判明しました。

当初は外向き通信を完全遮断する計画でしたが、実機テストによりモデルAPIやGitへのアクセスが必要不可欠であることが明らかになりました。

A sealed machine with one channel through its wall, carrying frames both ways, and a second attempt refused for want of a token.controlsandboxwith a token403without one
認証トークンで保護された単一の双方向通信チャネル。

WebSocket の重要性

ターミナル操作には HTTP Upgrade による持続的なストリーム通信が必須です。

GET /?identifier=<id>&api-version=2024-02-02-preview
Authorization: Bearer <token>

101 Switching Protocols
  frames server to client, and client to server

未認証リクエストは 403 Unauthenticated で即時遮断されます。

外向き通信遮断の不可能性

ネット遮断では Anthropic や OpenAI の API を呼べないため、セキュリティは保持データ側の隔離で実現します。

机上の設計図よりもプラットフォームの実測制約がアーキテクチャを決定します。

運用のまとめ

早期の実機検証を行い、通信プロトコルとアプリロジックを疎結合に保つことが重要です。

設計への反映は エージェントを実行するマシンは秘密を持たない、ターミナル接続は 自分がホストしていないターミナルを見守る技術 をご覧ください。

率直な答え

マネージドサンドボックスでコーディングエージェントを動かせますか?

可能です。双方向 WebSocket 通信の安定動作が確認されています。

ドキュメントだけでなく実機テストが必要な理由は?

プロキシのタイムアウトやトークン認証範囲など、実機でのみ判明する挙動があるためです。

テスト結果による設計変更は?

無理な外向き通信遮断を避け、DBや暗号鍵を置かないソフトウェア分離へ方針転換しました。