Claude Agent SDK の本番運用|デプロイ前に決める7つのこと

公開 更新 著者 永上裕之導入とルール
試作のAIエージェントを、本番の工場ラインに載せ替えて動かすイメージ

この記事の要点

  • Agent SDK は呼び出しのたびに claude の別プロセスを立てる。1セッション=1プロセスで、会話の記録はそのサーバーのディスクに残る
  • セッションの型は「使い捨て・常駐・休眠と復帰・複数エージェント同居」の4つ。業務の長さで選ぶ
  • 本番前に、会話の保存先・監視・鍵の置き場・台数・利用者ごとの分離を決めておく

Claude Agent SDK は、Claude Code と同じ仕組みの AI エージェントを自社のアプリに組み込める道具です。全体像は Claude Agent SDK とは で、自社の処理を道具として渡す方法は カスタムツール で解説しました。

今回は「作ったエージェントを、本番のサーバーでどう動かすか」です。公式ドキュメント「Hosting the Agent SDK」(2026年11月8日確認)にもとづいて、デプロイ前に決めておくこと を順番に整理します。

結論:ふつうの API サーバーとは別物として設計する

Agent SDK を本番で動かすときに、最初に押さえるべきことは1つです。エージェント1つが、長く生きるプロセス1つと、そのサーバーのディスク上の状態に結びついている という点です。

リクエストを受けて返すだけの軽い API とは違い、メモリ・ディスク・台数の考え方が変わります。決めることを表にまとめます。

決めること公式の考え方
セッションの型使い捨て・常駐・休眠と復帰・複数同居の4つから選ぶ
動かす場所隔離されたコンテナ(サンドボックス)の中で動かす
会話の保存先再開させたい会話は SessionStore で外の保存先に写す
監視OpenTelemetry の環境変数でまとめて出す
鍵の扱いエージェントの外(手前の関所・外向きの中継)で鍵を足す
台数1台に載るセッション数をメモリから計算する
利用者ごとの分離設定・記憶・作業フォルダを利用者ごとに分ける
アプリがAIエージェントの別プロセスを立て、そのプロセスがディスクと公式APIにつながる流れの図
アプリがAIエージェントの別プロセスを立て、そのプロセスがディスクと公式APIにつながる流れの図(イメージ)

仕組み:1セッションごとに別プロセスが立つ

コードで query() を呼ぶと、SDK は claude の CLI を別プロセスとして立ち上げ、標準入出力でやりとりします。 シェル・作業フォルダ・会話の記録(JSONL)は、そのプロセスが持っています。

同時に10セッション動かせば、プロセスも10個です。何も指定しないと全部がアプリと同じ作業フォルダを使うので、ファイルを分けたいときはセッションごとに cwd を渡します。

既定では、次の3つがコンテナのディスク上にだけあります。どれもコンテナの再起動・台数の縮小・別のノードへの移動で消えます。

状態既定の置き場
会話の記録ホーム直下の .claude/projects/(CLAUDE_CONFIG_DIR があればその下)
CLAUDE.md の記憶ユーザー用はホーム直下の .claude、プロジェクト用は作業フォルダ
作業で作ったファイルそのセッションの作業フォルダ

セッションの型は4つ。業務の長さで選ぶ

コンテナをどれくらい生かしておくかで、4つの型に分かれます。 公式は、ここで型を選び、置き場所は別途選ぶ、という順番をすすめています。

型動き方向いている仕事の例
使い捨て1件ごとにコンテナを作り、終わったら壊す不具合の調査と修正、請求書の読み取り、文書の翻訳
常駐コンテナを立てっぱなしにし、複数のセッションを抱える受信メールの仕分け、チャットの常時対応
休眠と復帰使わない間は止め、戻ってきたら保存先から会話を読み込むときどき相談する案件管理、何時間もかけるリサーチ
複数同居1つのコンテナで複数のエージェントを動かすエージェント同士がやりとりするシミュレーション

使い捨て型は、maxTurns(Python は max_turns)で往復の上限を決めておきます。上限に達すると結果の種類が error_max_turns になり、呼び出しがエラーを投げるので、きれいに終わらせたいなら try で囲む 必要があります。

常駐型では、TypeScript なら streamInput() で会話を足し、startup() で事前にプロセスを温めておけます。Python では ClaudeSDKClient でセッションを開いたままにします。

休眠と復帰の型では SessionStore が必須です。 保存先なしでコンテナを止めると、会話の記録ごと消えます。

動かす場所:隔離されたコンテナに入れる

SDK は、隔離されたコンテナ(サンドボックス)の中で動かすのが基本です。 プロセスの分離・資源の上限・通信の制御・使い捨てのディスクがそろうからです。考え方は Claude Code のサンドボックス とも共通します。

サービスを選ぶときに確かめる点として、公式は次を挙げています。

必要なものは、Python SDK なら Python 3.10 以上、TypeScript SDK なら Node.js 18.14 以上です。多くの場合 SDK に Claude Code 本体が同梱されていて、SDK を上げると CLI も上がります。 小さな更新は随時取り込み、機能追加の版は変更履歴を読んでから上げる、というのが公式の方針です。

資源の目安は、エージェント1つあたりメモリ 1GiB・ディスク 5GiB・CPU 1つ から。会話が長くなるほどメモリは増えるので、これは下限として扱います。

通信は、外向きに api.anthropic.com(Bedrock などを使うならその窓口)と、使う MCP サーバーへの HTTPS が要ります。本番では、許可した宛先だけを通し、鍵を足し、記録を取る外向きの中継(プロキシ) を通すよう公式はすすめています。受け付けはアプリ側のポートで行い、SDK のプロセス自体は外からの接続を待ちません。

本番前に決める4つ:保存・監視・鍵・台数

会話の保存:SessionStore は「写し」

再開させたい会話は、SessionStore で外の保存先に写します。 注意点は3つです。

監視:環境変数で OpenTelemetry に出す

SDK は OpenTelemetry の設定を環境変数から引き継ぎます。 コンテナや配置の段階でまとめて設定すれば、どの道具がどれだけ時間を使ったか、どこで止まったかが見えるようになります。既定では、指示の文章や道具への入力は出力に含まれません。考え方は Claude Code の利用状況の監視 と同じです。

鍵:エージェントに持たせない

公式が挙げる考え方は3つです。

場面考え方
モデルの呼び出し鍵は秘密情報の管理の仕組みから渡す。または中継を通して外で鍵を足す
外からのリクエスト認証は手前の関所で済ませ、エージェントには確認済みのリクエストだけを渡す
道具が外を呼ぶとき道具用の鍵もエージェントの環境に置かず、外向きの中継で足す

エージェントは呼び出すだけ、鍵を足すのは中継 という分担です。

台数:メモリから計算する

1台に載るエージェント数=(サーバーのメモリ − ほかが使う分)÷ 1セッションの最大メモリ で見積もります。最大メモリは、実際の長さと道具の使い方で代表的なセッションを動かし、ピークを測って決めます。

常駐型を横に増やすときは、ロードバランサーの後ろに並べ、セッションIDで同じコンテナに振り分け続ける と、同じプロセスを使い続けられます。

費用については、コンテナ代よりトークン代のほうが桁違いに大きくなるのがふつう と公式は書いています。最小構成のコンテナは1時間あたり約0.05ドル、長いセッションはトークンで数ドル使うこともあります。

利用者が複数いるなら、混ざらないように分ける

1つのコンテナで複数の利用者(テナント)を扱うと、設定や記憶のファイルを通じて、ある利用者の文脈が別の利用者に漏れるおそれがあります。 公式の分け方は次のとおりです。

TypeScript では env が環境変数を丸ごと置き換えるので、元の環境変数も一緒に渡す必要があります。Python では上に重ねる形です。

仕事に入れるときの考え方

最初は「使い捨て型」から始めるのが安全です。 1件ごとに作って壊すので、状態の持ち越しや利用者の混ざりを気にしなくて済みます。

  1. 書類の読み取りや翻訳など、1回で終わる業務を使い捨て型で動かす
  2. maxTurns で上限を決め、監視の出力を最初から入れておく
  3. 会話を続けたい業務が出てきたら、SessionStore を入れて休眠と復帰の型へ

なお、公式は既知の制約として、セッション全体の時間切れがない・長いセッションでメモリが増える・サブエージェントを一度に大量に出すと回数制限に当たりやすい、を挙げています。往復の上限と、プロセスの定期的な入れ替えで備えます。

エージェントの仕組み自体を自社で持つ必要がない場合は、Anthropic が動かす Managed Agents も選択肢だと公式は書いています。クラウドで Claude Code に作業させる方法は Claude Code のクラウド実行 を、自社の機械でクラウドのセッションを動かす方法は Claude Code のセルフホスト環境 を参考にしてください。

まとめ

出典

永上裕之

ユニコスクール株式会社 代表取締役。AIエージェント専門のスクール&コミュニティを運営しています。

この記事はAIを使って下書きし、著者が事実確認・加筆しています。ツールの機能や料金は変わることがあるため、最新の情報は各社の公式ページでご確認ください。

関連する記事