Claude Agent SDKは、従来のステートレスなLLM APIとは異なり、会話の状態を維持し、永続的な環境でコマンドを実行します。このガイドでは、SDKベースのエージェントを本番環境にデプロイするためのアーキテクチャ、ホスティングの考慮事項、およびベストプラクティスについて説明します。
基本的なサンドボックス化を超えたセキュリティ強化(ネットワーク制御、認証情報管理、分離オプションなど)については、セキュアデプロイメントを参照してください。
セキュリティと分離のために、SDKはサンドボックス化されたコンテナ環境内で実行する必要があります。これにより、プロセスの分離、リソース制限、ネットワーク制御、およびエフェメラルファイルシステムが提供されます。
SDKは、コマンド実行のためのプログラムによるサンドボックス設定もサポートしています。
各SDKインスタンスには以下が必要です:
ランタイム依存関係
npm install -g @anthropic-ai/claude-codeリソース割り当て
Was this page helpful?
ネットワークアクセス
api.anthropic.comへのアウトバウンドHTTPSステートレスなAPI呼び出しとは異なり、Claude Agent SDKは以下を行う長時間実行プロセスとして動作します:
AIコード実行のためのセキュアなコンテナ環境を専門とするプロバイダーがいくつかあります:
セルフホストオプション(Docker、gVisor、Firecracker)および詳細な分離設定については、分離テクノロジーを参照してください。
各ユーザータスクごとに新しいコンテナを作成し、完了時に破棄します。
単発のタスクに最適です。タスクの完了中にユーザーがAIとやり取りすることは可能ですが、完了後にコンテナは破棄されます。
例:
長時間実行タスクのために永続的なコンテナインスタンスを維持します。多くの場合、需要に応じてコンテナ内で_複数の_Claude Agentプロセスを実行します。
ユーザーの入力なしにアクションを実行するプロアクティブなエージェント、コンテンツを提供するエージェント、または大量のメッセージを処理するエージェントに最適です。
例:
データベースまたはSDKのセッション再開機能から履歴と状態をハイドレートするエフェメラルコンテナです。
ユーザーからの断続的なインタラクションで作業を開始し、作業完了時にスピンダウンするが、継続可能なコンテナに最適です。
例:
1つのグローバルコンテナ内で複数のClaude Agent SDKプロセスを実行します。
エージェント同士が密接に連携する必要がある場合に最適です。エージェントが互いのデータを上書きしないようにする必要があるため、これはおそらく最も一般的でないパターンです。
例:
コンテナでホスティングする場合、SDKインスタンスと通信するためにポートを公開します。アプリケーションは外部クライアント向けにHTTP/WebSocketエンドポイントを公開でき、SDKはコンテナ内部で実行されます。
エージェントの提供における主要なコストはトークンであることがわかっています。コンテナのコストはプロビジョニングする内容によって異なりますが、最小コストは実行時間あたり約5セントです。
これはプロバイダーに依存する可能性が高く、異なるサンドボックスプロバイダーでは、サンドボックスがスピンダウンするまでのアイドルタイムアウトに異なる基準を設定できます。 ユーザーの応答がどの程度の頻度で来ると予想されるかに基づいて、このタイムアウトを調整する必要があります。
Claude Code CLIはsemverでバージョン管理されているため、破壊的変更はバージョン管理されます。
コンテナは単なるサーバーであるため、バックエンドに使用しているのと同じログインフラストラクチャがコンテナにも機能します。
エージェントセッションはタイムアウトしませんが、Claudeがループに陥るのを防ぐために'maxTurns'プロパティを設定することを推奨します。