メインコンテンツへスキップ
Claude Agent SDK は従来のステートレス LLM API とは異なり、会話状態を維持し、永続的な環境でコマンドを実行します。このガイドでは、本番環境で SDK ベースのエージェントをデプロイするためのアーキテクチャ、ホスティングに関する考慮事項、およびベストプラクティスについて説明します。
基本的なサンドボックス化を超えたセキュリティ強化(ネットワーク制御、認証情報管理、分離オプションを含む)については、セキュアデプロイメントを参照してください。

ホスティング要件

コンテナベースのサンドボックス化

セキュリティと分離のため、SDK はサンドボックス化されたコンテナ環境内で実行する必要があります。これにより、プロセス分離、リソース制限、ネットワーク制御、および一時的なファイルシステムが提供されます。 SDK は、コマンド実行のためのプログラマティックサンドボックス設定もサポートしています。

システム要件

各 SDK インスタンスには以下が必要です:
  • ランタイム依存関係
    • Python SDK の場合は Python 3.10 以上、TypeScript SDK の場合は Node.js 18 以上
    • 両方の SDK パッケージには、ホストプラットフォーム用のネイティブ Claude Code バイナリが含まれているため、生成された CLI に対して Claude Code または Node.js の個別インストールは不要です
  • リソース割り当て
    • 推奨:1GiB RAM、5GiB のディスク、および 1 CPU(タスクに応じて必要に応じて変更してください)
  • ネットワークアクセス
    • api.anthropic.com への送信 HTTPS
    • オプション:MCP サーバーまたは外部ツールへのアクセス

SDK アーキテクチャの理解

ステートレス API 呼び出しとは異なり、Claude Agent SDK は以下を行う長時間実行プロセスとして動作します:
  • 永続的なシェル環境でコマンドを実行
  • 作業ディレクトリ内でファイル操作を管理
  • 前の相互作用からのコンテキストでツール実行を処理

サンドボックスプロバイダーオプション

AI コード実行用のセキュアなコンテナ環境を専門とするいくつかのプロバイダーがあります: 自己ホスト型オプション(Docker、gVisor、Firecracker)および詳細な分離設定については、分離テクノロジーを参照してください。

本番環境デプロイメントパターン

パターン 1:エフェメラルセッション

各ユーザータスク用に新しいコンテナを作成し、完了時に破棄します。 ワンオフタスクに最適です。ユーザーはタスク完了中も AI と相互作用できますが、完了後はコンテナが破棄されます。 例:
  • バグ調査と修正:関連するコンテキストを使用して特定の問題をデバッグして解決
  • 請求書処理:領収書/請求書からデータを抽出して会計システム用に構造化
  • 翻訳タスク:言語間でドキュメントまたはコンテンツバッチを翻訳
  • 画像/ビデオ処理:メディアファイルに変換、最適化を適用するか、メタデータを抽出

パターン 2:長時間実行セッション

長時間実行タスク用に永続的なコンテナインスタンスを維持します。多くの場合、需要に基づいてコンテナ内で複数の Claude Agent プロセスを実行します。 ユーザー入力なしでアクションを実行するプロアクティブエージェント、コンテンツを提供するエージェント、または大量のメッセージを処理するエージェントに最適です。 例:
  • メールエージェント:受信メールを監視し、コンテンツに基づいて自律的にトリアージ、応答、またはアクションを実行
  • サイトビルダー:ユーザーごとのカスタムウェブサイトをホストし、コンテナポート経由で提供されるライブ編集機能を備えています
  • 高頻度チャットボット:Slack などのプラットフォームからの継続的なメッセージストリームを処理し、迅速な応答時間が重要です

パターン 3:ハイブリッドセッション

履歴と状態で水和されたエフェメラルコンテナ。データベースから、または SDK のセッション再開機能から取得される可能性があります。 ユーザーからの断続的な相互作用があり、作業をキックオフして作業完了時にスピンダウンするが、続行できるコンテナに最適です。 例:
  • 個人プロジェクトマネージャー:断続的なチェックインで進行中のプロジェクトを管理するのに役立ち、タスク、決定、進捗のコンテキストを維持
  • 深い調査:数時間の調査タスクを実施し、調査結果を保存し、ユーザーが戻ったときに調査を再開
  • カスタマーサポートエージェント:複数の相互作用にまたがるサポートチケットを処理し、チケット履歴と顧客コンテキストを読み込みます

パターン 4:単一コンテナ

1 つのグローバルコンテナで複数の Claude Agent SDK プロセスを実行します。 密接に協力する必要があるエージェントに最適です。これはおそらく最も人気のないパターンです。エージェントが互いに上書きするのを防ぐ必要があるためです。 例:
  • シミュレーション:ビデオゲームなどのシミュレーション内で相互作用するエージェント。

FAQ

サンドボックスと通信するにはどうすればよいですか?

コンテナでホストする場合、SDK インスタンスと通信するためにポートを公開します。アプリケーションは外部クライアント用に HTTP/WebSocket エンドポイントを公開できますが、SDK はコンテナ内で内部的に実行されます。

コンテナをホストするコストはいくらですか?

エージェントを提供する場合の主なコストはトークンです。コンテナはプロビジョニング内容に基づいて異なりますが、最小コストは実行時間あたり約 5 セントです。

アイドルコンテナをシャットダウンするべきか、それとも温かく保つべきか?

これはおそらくプロバイダーに依存します。異なるサンドボックスプロバイダーは、アイドルタイムアウト後にサンドボックスがスピンダウンする可能性がある異なる基準を設定できます。 ユーザーの応答がどのくらい頻繁に発生すると思われるかに基づいて、このタイムアウトを調整する必要があります。

Claude Code CLI はどのくらいの頻度で更新する必要がありますか?

Claude Code CLI は semver でバージョン管理されているため、破壊的な変更はバージョン管理されます。

コンテナの健全性とエージェントのパフォーマンスを監視するにはどうすればよいですか?

コンテナはサーバーであるため、バックエンド用に使用するのと同じログインフラストラクチャがコンテナで機能します。

エージェントセッションはタイムアウトする前にどのくらい実行できますか?

エージェントセッションはタイムアウトしませんが、Claude がループに陥るのを防ぐために「maxTurns」プロパティを設定することを検討してください。

次のステップ