Claude Managed Agents完全ガイド:導入から実装まで徹底解説

シェア:
Claude Managed Agents完全ガイド:導入から実装まで徹底解説のイメージ

2026年4月8日、Anthropicは「Claude Managed Agents」をパブリックベータとしてリリースしました。これは従来のMessages API(Chat Completions)とは根本的に異なる、クラウドホスト型のエージェント構築・デプロイ用APIスイートです。

本記事では、Claude Managed Agentsの概要から具体的な実装方法まで、エンジニア向けに徹底解説します。

Claude Managed Agentsとは

従来のエージェント開発の課題

これまで本番環境でAIエージェントをデプロイするには、AIモデルのプロンプティング以上に、インフラ構築に多大なエンジニアリングリソースが必要でした。

インフラ要素課題
セキュアなサンドボックスエージェントがシステムを破壊しないための隔離環境の構築
状態とメモリの管理ネットワーク断で数時間のタスクがゼロからやり直しにならないためのチェックポイント
認証情報の管理外部ツールにアクセスするための安全なシークレット注入
ツール実行のオーケストレーションツールの結果を受け取り、次の行動を決定するエージェントループの制御

Claude Managed Agentsは、これらのインフラ層をAnthropicのクラウド上で完全にマネージドな状態で提供します。開発者はエージェントが「何をすべきか」というビジネスロジックに集中でき、インフラの構築・運用から解放されます。

Claude Managed Agentsアーキテクチャ

図1: Claude Managed Agentsのアーキテクチャ - Agent、Environment、Session、Eventsの4つのコンセプトで構成

Messages API(従来)との違い

比較項目Messages APIClaude Managed Agents
主な用途直接的なプロンプト送信、チャット長時間実行タスク、非同期の自律的ワークフロー
ツール実行ループクライアント側で実装が必要Anthropic側で自動オーケストレーション
状態管理クライアント側で会話履歴を保存・送信サーバーサイドで永続化
コード実行環境開発者が自前でサンドボックスを用意組み込みクラウドコンテナが自動プロビジョニング
開発の難易度インフラ含めると高いAPI設定のみで低い

Messages APIとManaged Agentsの比較

図2: Messages API vs Managed Agents - ツール実行ループの管理主体が異なる

4つのコアコンセプト

Claude Managed Agentsは、以下の4つのコアコンセプトで構成されています。

1. Agent(エージェント構成)

どのモデルを使用するか、どのようなシステムプロンプトを与えるか、どのツールやMCPサーバーにアクセスできるかを定義する不変の構成オブジェクトです。一度作成すれば、複数のセッションで再利用できます。

エンドポイント: POST /v1/agents

主要パラメータ:

  • name: エージェントの名前(必須)
  • model: 使用するモデル(例: claude-sonnet-4-6-20260401
  • instructions: エージェントの振る舞いを定義する指示
  • tools: 使用可能なツールの配列。agent_toolset_20260401を指定すると、bash実行、ファイル操作、ウェブ検索などの事前構築済みツールが有効に
  • mcp_servers: 外部ツールプロバイダーに接続するための設定

2. Environment(実行環境)

エージェントが動作するコンテナ空間を定義します。必要なパッケージ(pip、npm等)やネットワークアクセスルールを指定でき、コンテナイメージを自分でビルドする必要はありません。

エンドポイント: POST /v1/environments

主要パラメータ:

  • name: 環境名
  • config.type: "cloud"を指定
  • config.networking: ネットワークアクセスルール(unrestrictedまたは制限付き)
  • config.packages: プレインストールするパッケージ

3. Session(セッション)

AgentとEnvironmentを結合し、実際にタスクを実行するインスタンスです。状態を保持し、長時間の実行が可能です。

エンドポイント: POST /v1/sessions

主要パラメータ:

  • agent_id: 作成済みのエージェントID
  • environment_id: 作成済みの環境ID
  • vault_ids: クレデンシャルを安全に注入するためのVault ID配列(オプション)

セッションは作成時点では「idle(アイドル)」状態で、ユーザーからのイベントを受け取ると「running(実行中)」に遷移します。

4. Events(イベントストリーム)

ユーザーアプリケーションとエージェント間の通信レイヤーです。Server-Sent Events(SSE)を用いて、エージェントの思考プロセス、ツール呼び出し、結果をリアルタイムでストリーミングします。

エンドポイント:

  • POST /v1/sessions/{session_id}/events: メッセージやツール結果を送信
  • GET /v1/sessions/{session_id}/stream: エージェントからのフィードバックを受信

セッションのライフサイクル

図3: セッションのライフサイクル - idle、running、terminatedの状態遷移

SDKでの実装方法

前提条件

すべてのエンドポイントはパブリックベータ版のため、HTTPリクエストヘッダーに以下を付与する必要があります(SDKでは自動付与):

anthropic-beta: managed-agents-2026-04-01

Python SDKでの実装

最新のanthropicパッケージ(Python 3.10以降)をインストールします。

pip install anthropic

以下は、コードレビューを行う自律型エージェントの実装例です。

import anthropic

# クライアントの初期化
# 環境変数 ANTHROPIC_API_KEY が自動で読み込まれる
client = anthropic.Anthropic()

def create_and_run_agent():
    print("--- 1. エージェントの作成 ---")
    # エージェントは永続的であるため、本来は1度だけ作成してIDを保存・再利用する
    agent = client.agents.create(
        name="code-reviewer",
        model="claude-sonnet-4-6-20260401",
        instructions=(
            "あなたはシニアコードレビュアーです。"
            "リポジトリをクローンし、コード品質を分析し、バグを特定し、"
            "具体的なコード例を用いて改善を提案してください。"
        ),
        # agent_toolset_20260401でbash、ファイルI/O、ウェブ検索等が利用可能に
        tools=[{"type": "agent_toolset_20260401"}]
    )
    print(f"Agent ID: {agent.id}")

    print("--- 2. 実行環境(Environment)の作成 ---")
    environment = client.environments.create(
        name="python-dev",
        config={
            "type": "cloud",
            "networking": {"type": "unrestricted"},
            "packages": {
                "pip": ["pandas", "numpy", "pytest", "black"]
            }
        }
    )
    print(f"Environment ID: {environment.id}")

    print("--- 3. セッションの開始 ---")
    session = client.sessions.create(
        agent_id=agent.id,
        environment_id=environment.id
    )
    print(f"Session ID: {session.id}")

    print("--- 4. タスクの委譲とストリーミング ---")
    response_stream = client.sessions.events.create(
        session_id=session.id,
        events=[
            {
                "type": "user.message",
                "content": [
                    {"type": "text", "text": "作業ディレクトリ内のファイルをリストアップし、テストを実行してください。"}
                ]
            }
        ],
        stream=True
    )

    # SSEストリームを処理して結果を出力
    for event in response_stream:
        if event.type == "message_start":
            print("エージェントが応答を開始しました...")
        elif event.type == "content_block_delta":
            if event.delta.type == "text_delta":
                print(event.delta.text, end="", flush=True)
        elif event.type == "tool_use":
            print(f"\n[Tool Use] {event.tool_name} を実行中...")
        elif event.type == "message_delta" and event.delta.stop_reason:
            print(f"\n[終了理由] {event.delta.stop_reason}")

if __name__ == "__main__":
    create_and_run_agent()

TypeScript SDKでの実装

npm install @anthropic-ai/sdk
import Anthropic from '@anthropic-ai/sdk';

const client = new Anthropic({
  apiKey: process.env.ANTHROPIC_API_KEY,
});

async function main() {
  // 1. エージェントの作成 (MCPサーバーの紐付け)
  const agent = await client.beta.agents.create({
    name: "github-manager",
    model: "claude-sonnet-4-6",
    instructions: "GitHubリポジトリの管理を行い、Pull Requestの要約を作成してください。",
    tools: [{ type: "agent_toolset_20260401" }],
    // 外部のMCPサーバーを組み込む場合
    mcp_servers: [{
      name: "github-mcp",
      url: "https://mcp.internal.company.com/github"
    }]
  });

  // 2. 環境の作成
  const environment = await client.beta.environments.create({
    name: "node-dev",
    config: {
      type: "cloud",
      networking: { type: "unrestricted" },
      packages: {
        npm: ["typescript", "jest"]
      }
    }
  });

  // 3. セッションの作成
  const session = await client.beta.sessions.create({
    agent_id: agent.id,
    environment_id: environment.id,
  });

  // 4. イベント送信
  const eventsResponse = await client.beta.sessions.events.create({
    session_id: session.id,
    events: [{
      type: "user.message",
      content: [{ type: "text", text: "最新のPRをチェックしてレビューコメントを生成して" }]
    }]
  });
  
  console.log("Session status:", eventsResponse.status);
}

main().catch(console.error);

SDKのバージョンにより、名前空間がclient.beta.agentsのようにベータプレフィックスを持つ場合があります。最新のSDK仕様を参照してください。

料金体系

Claude Managed Agentsの料金は、「トークン課金」と「セッションランタイム課金」の2つで構成されています。

トークン課金

通常のClaude APIと同じトークン単価が適用されます。プロンプトキャッシュの割引も同様に適用されます。

モデル入力トークン (100万トークン)出力トークン (100万トークン)
Claude Sonnet 4.6$3.00$15.00
Claude Opus 4.6$5.00$25.00

セッションランタイム課金

エージェントを実行するインフラの利用料として、アクティブな実行時間に対してのみ課金されます。

  • 料金: 1セッション時間あたり $0.08(ミリ秒単位で従量課金)
  • 課金対象: セッションのステータスがrunningの間のみ
  • 無料: idle(待機中)、rescheduling(再試行中)、terminated(終了後)は課金されない

ウェブ検索ツールの料金

セッション内で「ウェブ検索ツール」がトリガーされた場合、追加料金が発生します。

  • 料金: 1,000回の検索あたり $10.00

コスト計算例

Opus 4.6を使用した1時間のコーディングセッション(入力50,000トークン、出力15,000トークン):

  1. 入力トークンコスト: 50,000 × (5/1,000,000)=5 / 1,000,000) = 5/1,000,000)=0.25
  2. 出力トークンコスト: 15,000 × (25/1,000,000)=25 / 1,000,000) = 25/1,000,000)=0.375
  3. セッションランタイムコスト: 1時間 × 0.08=0.08 = 0.08=0.08
  4. 合計コスト: $0.705

ランタイムコストはモデルの推論トークンコストと比較すると無視できるほど小さく、実際のコストドライバーはエージェントの読み書き量に依存します。

ユースケースと活用シナリオ

1. ソフトウェアエンジニアリングと自律的PRレビュー

最も強力なユースケースの1つが、コードの修正とプルリクエストの自動生成です。

事例(Sentry): エラー監視サービスのSentryは、Managed Agentsを利用して「根本原因の分析」から「パッチの作成とPRの発行」までをシームレスに行うエージェントを構築しました。SentryのAI/MLエンジニアリングディレクターは、「独自のインフラを維持する運用上のオーバーヘッドが排除され、数週間で統合を完了できた」と述べています。

2. データ分析と可視化エージェント

CSVやデータベースのダンプファイルを渡し、自律的に分析スクリプトを書いて実行させるシナリオです。pandasnumpyが事前にインストールされたPython環境を用意しておけば、エージェントが自らスクリプトを書き、エラーが出れば自ら修正し、最終的なインサイトやグラフを生成して返します。

3. チームの生産性向上とワークフロー自動化

プロジェクト管理ツールに常駐し、人間のチームメンバーのように自律的にタスクを処理します。

事例(Asana / Notion): Asanaは「AI Teammates」機能の構築にManaged Agentsを採用し、インフラ構築の手間を省きエンタープライズ向けのUX構築に注力できたとしています。MCPサーバーの統合機能により、Slack、Jira、社内データベースなどの外部SaaSとシームレスに通信できます。

ベストプラクティスと注意点

1. Vaultによるシークレット管理

エージェントに外部システムの認証情報を持たせる場合、環境変数やプロンプトに直接シークレットを書き込むべきではありません。Managed Agentsは「Vault」システムをサポートしており、シークレットは書き込み専用のVaultに保存され、実行時に安全に注入されます。

2. ネットワークアクセス制御

v1/environmentsnetworking設定において、不用意にunrestrictedを選択せず、必要最低限のホストのみを許可するlimitedモードの使用を検討してください。

3. エージェントの永続性とID管理

エージェント構成(Agent)や環境設定(Environment)は不変かつ永続的なリソースです。

アンチパターン: リクエストのたびにPOST /v1/agentsを呼び出してエージェントを新規作成

ベストプラクティス: エージェントと環境は1度だけ作成し、返却されたagent_idenvironment_idをデータベースに保存。日々のタスク実行時にはPOST /v1/sessionsのみを呼び出す

4. Managed Agentsを使わない方が良いケース

以下のシナリオでは、Agent SDKやMessages APIの方が適している場合があります:

  1. モデルの柔軟性が必要: Claude以外のモデルと組み合わせたい場合
  2. 厳格なデータレジデンシー: 機密データを社内インフラから出したくない場合
  3. 細かいループ制御が必要: 人間の承認やカスタムロギングを細かく挟み込みたい場合

Agent SDKとの使い分け

Anthropicは「Claude Agent SDK」という別の選択肢も提供しています。

観点Claude Managed AgentsClaude Agent SDK
ランタイムAnthropicのクラウドインフラユーザー自身のサーバー/ローカル
インフラ管理不要(フルマネージド)自分で構築・管理
データレジデンシーAnthropicクラウド完全に自社管理可能
適したユースケース迅速なプロトタイプ、SaaS組み込みオンプレミス、高度なカスタマイズ

まとめ

Claude Managed Agentsは、LLMを用いたエージェント開発における最大の障壁であった「インフラの構築と運用」をクラウド側にオフロードする画期的なAPIスイートです。

開発者はサンドボックスの設計や永続化ロジックの実装から解放され、エージェントが「何をすべきか」というビジネスロジックの構築に専念できます。SentryやAsanaなどの先行企業が実証している通り、プロダクトの市場投入までの時間を数ヶ月から数日へと短縮する高いポテンシャルを秘めています。

用途やセキュリティ要件を正しく評価し、Messages APIやAgent SDKと適切に使い分けることが、モダンなAIアーキテクチャ設計の鍵となります。

関連記事


AI COMMONでは、Claude Managed Agentsを活用したAIエージェントシステムの構築をサポートしています。 エージェント開発のPoC(概念実証)から本番導入まで、技術的なご相談も承りますので、お気軽にお問い合わせください。

お問い合わせはこちら

参考文献

  1. Anthropic "Claude Managed Agents Documentation" (2026)
    https://docs.anthropic.com/en/docs/agents-and-tools/managed-agents

  2. Anthropic "Managed Agents Pricing" (2026)
    https://docs.anthropic.com/en/docs/agents-and-tools/managed-agents/pricing

  3. Anthropic "Anthropic API Reference - Agents" (2026)
    https://docs.anthropic.com/en/api/agents

  4. Anthropic "Anthropic Python SDK" (2026)
    https://github.com/anthropics/anthropic-sdk-python

  5. Anthropic "@anthropic-ai/sdk - TypeScript SDK" (2026)
    https://github.com/anthropics/anthropic-sdk-typescript

📢この記事をシェアしませんか?

おすすめの投稿:

Claude Managed Agentsが登場!エージェントのインフラ構築が不要に。/v1/agentsと/v1/sessionsの使い方をPython/TypeScriptコード例付きで解説

引用しやすいフレーズ:

Managed Agentsは、エージェント開発の最大の障壁だったインフラ構築をクラウド側にオフロードする

セッションランタイムは$0.08/時間、アイドル状態では課金されない透明な料金体系

SentryやAsanaが既に採用、本番エージェントを数ヶ月ではなく数日で構築可能に

Agent、Environment、Session、Eventsの4つのコンセプトでエージェントを構成

または自分の言葉で:

シェア: