Claude Agent SDKは、従来のステートレスなLLM APIとは異なり、会話状態を維持し、永続的な環境でコマンドを実行します。このガイドでは、本番環境でSDKベースのエージェントをデプロイするためのアーキテクチャ、ホスティングに関する考慮事項、およびベストプラクティスについて説明します。
セキュリティと分離のため、SDKはサンドボックス化されたコンテナ環境内で実行する必要があります。これにより以下が提供されます:
各SDKインスタンスには以下が必要です:
ランタイム依存関係
npm install -g @anthropic-ai/claude-codeリソース割り当て
ネットワークアクセス
api.anthropic.comへのアウトバウンドHTTPSステートレスなAPI呼び出しとは異なり、Claude Agent SDKは長時間実行されるプロセスとして動作します。このプロセスは以下を行います:
複数のプロバイダーがAIコード実行用のセキュアなコンテナ環境を専門としています:
各ユーザータスク用に新しいコンテナを作成し、完了時に破棄します。
ワンオフタスクに最適です。ユーザーはタスク完了中もAIと対話できますが、完了後はコンテナが破棄されます。
例:
長時間実行されるタスク用に永続的なコンテナインスタンスを維持します。多くの場合、需要に基づいてコンテナ内で複数の Claude Agent プロセスを実行します。
ユーザー入力なしで行動を起こすプロアクティブなエージェント、コンテンツを提供するエージェント、または大量のメッセージを処理するエージェントに最適です。
例:
履歴と状態でハイドレートされたエフェメラルコンテナ。データベースまたはSDKのセッション再開機能から取得される可能性があります。
ユーザーからの断続的なインタラクションがあり、作業をキックオフして完了時にスピンダウンするが、継続できるコンテナに最適です。
例:
1つのグローバルコンテナで複数のClaude Agent SDKプロセスを実行します。
密接に協力する必要があるエージェントに最適です。これはおそらく最も人気の低いパターンです。エージェント同士が互いに上書きするのを防ぐ必要があるためです。
例:
コンテナでホストする場合、SDKインスタンスと通信するためにポートを公開します。アプリケーションは外部クライアント用のHTTP/WebSocketエンドポイントを公開できますが、SDKはコンテナ内で内部的に実行されます。
エージェントを提供する場合の支配的なコストはトークンであることがわかっています。コンテナはプロビジョニング内容に基づいて異なりますが、最小コストは実行中の時間あたり約5セントです。
これはおそらくプロバイダー依存です。異なるサンドボックスプロバイダーは、アイドルタイムアウト後にサンドボックスがスピンダウンする可能性がある異なる基準を設定できます。 ユーザーの応答がどのくらい頻繁に起こると思われるかに基づいて、このタイムアウトを調整する必要があります。
Claude Code CLIはsemverでバージョン管理されているため、破壊的な変更はバージョン管理されます。
コンテナはサーバーであるため、バックエンド用に使用するのと同じログインフラストラクチャがコンテナに対して機能します。
エージェントセッションはタイムアウトしませんが、Claudeがループに陥るのを防ぐために「maxTurns」プロパティを設定することをお勧めします。