a/ analytics note .jp

AI · field log

Claude Managed Agents 完全ガイド ─ Anthropic の自律エージェント基盤を使いこなす

Claude Managed Agents の基本概念から実践的な使い方まで、コード例付きで解説。Agent・Environment・Session・Events の 4 要素を理解し、GitHub 連携やパーミッション制御まで網羅します。

· 17 min read · #Claude Managed Agents / #Anthropic / #Claude API / #AIエージェント / #AI自動化 / #MCP · AI-assisted · reviewed Share on X はてブ Zennにクロスポスト

目次


はじめに ─ Claude Managed Agents とは何か

2026 年 4 月 8 日、Anthropic は Claude Managed Agents を public beta として公開しました。

ひとことで言うと、Claude を Anthropic のクラウド上で自律的に働かせるための実行基盤です。従来の Messages API ではツール実行や会話ループを自分で組む必要がありましたが、Managed Agents では agent loop、サンドボックス、ツール実行、イベント履歴の保存をすべて Anthropic 側が持ちます。Claude Code(ローカルで動く AI コーディング CLI)の「ホスト版」という位置づけです。開発者は「設定」と「指示」に集中できます。

向いているのは以下のようなユースケースです。

  • 長時間かかる作業: コード生成・修正、データ分析、リサーチなど数分〜数十分に及ぶタスク
  • 状態を持つタスク: ファイルシステム上での複数ステップの操作(レポート生成、コードベース横断のリファクタなど)
  • 非同期処理: タスクを投げて結果を後から受け取るワークフロー(カスタマーサポートの調査、定期レポート生成など)

利用には direct Claude API が必要で、Managed Agents 用のベータヘッダーを付ける必要があります。ただし公式 SDK や ant CLI はこのヘッダーを自動で付けてくれるため、実務ではほぼ意識しません。


まず覚える 4 つの概念

Managed Agents を理解するために、次の 4 語を覚えるのが近道です。

概念役割たとえ
Agentどう振る舞う担当者か担当者のプロフィール
Environmentどんな作業マシンで動くか作業用 PC
Session1 件の仕事をしている実行体案件・チケット
Eventsあなたからの指示と agent からの進捗・結果やり取り履歴

Agent

Agent はモデル、system prompt、tools、MCP servers、skills をまとめた定義です。「この担当者はこういう能力を持ち、こういう指示で動く」という仕様書に相当します。

name: CodeReviewer
model: claude-sonnet-4-6
system: |
  You are a code reviewer. Read the codebase, find bugs, and suggest fixes.
tools:
  - type: agent_toolset_20260401

Environment

Environment はクラウドコンテナの設定です。パッケージのインストールやネットワーク制限を定義します。同じ Environment を複数の Session で使い回しても、実際のコンテナは Session ごとに分離されます。「設定は共通化、実行状態は分離」が実現できます。

Session

Session は 1 件の仕事の実行単位です。Session 内では会話履歴とファイルシステムが持続します。ただし Session を作っただけでは仕事は始まりません。user.message などの Event を送って初めて動きます。

状態は idlerunningidle(完了)のサイクルを繰り返し、SSE でリアルタイムに監視できます。

Events

Events は Session 内でやり取りされるメッセージの履歴です。あなたからの指示(user.message)と、agent からの応答(agent.message)、ツール実行の結果などがすべて記録されます。


既存の API・SDK との違い

Anthropic には似た名前のサービスが複数あるため、整理しておきます。

Messages APIClaude Agent SDKManaged Agents
何をするかモデルへの直接アクセスClaude Code と同じ built-in tools + agent loopAgent SDK の hosted 版
ループの管理自前で実装SDK が提供(自分のプロセスで動く)Anthropic 側が管理
ツール実行自前で実装SDK の built-in toolsAnthropic のコンテナ内で自動実行
コンテナなしなし(自前環境)Anthropic が提供
適しているケースシンプルな 1 往復の対話自前インフラで制御したい場合長時間・非同期・マネージドで任せたい場合

ポイントは、**Agent SDK の「自前運用版」に対する Managed Agents の「hosted 版」**という関係です。自前の agent loop を書いていたなら、Managed Agents に移行するとかなりの部分が不要になります。


使えるツールとスキル

Built-in Tools(agent_toolset_20260401)

agent_toolset_20260401 を指定すると、以下のツールが使えます。

ツール機能
Bashシェルコマンドの実行
Readファイルの読み取り
Writeファイルの書き込み
Editファイルの部分編集
Globファイル検索(パターンマッチ)
Grepファイル内容の検索
Web fetch指定 URL のコンテンツ取得
Web searchWeb 検索

これだけで、コード修正、データ分析、調査、ドキュメント生成、カスタマーサポートの自動化といった多くのタスクをカバーできます。

Custom Tools

標準ツールに加えて、JSON Schema で独自のツールを定義できます。Custom tool が呼ばれると、Session は agent.custom_tool_use イベントを発行して待機状態になります。あなたのアプリケーション側でツールを実行し、結果を user.custom_tool_result で返します。

MCP(Model Context Protocol)

MCP server を Agent に宣言すると、外部ツール群に接続できます。GitHub、Slack、社内 API など、MCP 対応のサービスを Agent のツールとして使えます。

Skills

Anthropic が管理する PowerPoint / Excel / Word / PDF スキルのほか、自作スキルも Agent に持たせられます。定型的な処理をスキルとしてパッケージ化しておくと、複数の Agent で再利用できます。


Environment ─ 作業マシンの定義

Environment は Agent が動作するクラウドコンテナの設定です。

パッケージの事前インストール

起動前に以下のパッケージマネージャーでインストールが可能です。

  • apt(OS パッケージ)
  • npm(Node.js)
  • pip(Python)
  • cargo(Rust)
  • gem(Ruby)
  • go(Go)
name: analysis-env
config:
  type: cloud
  packages:
    pip:
      - pandas
      - numpy
      - scikit-learn
  networking:
    type: unrestricted

ネットワーク制御

ネットワーク設定は 2 種類です。

  • unrestricted: すべての外部通信を許可
  • limited: allowed_hosts で指定したホストのみ許可

本番運用では limited にして、必要なホストだけを許可するのがセキュリティ上推奨されます。

networking:
  type: limited
  allowed_hosts:
    - "api.github.com"
    - "registry.npmjs.org"

基本の使い方: ant CLI で最小構成を動かす

一番わかりやすい入口は ant CLI です。beta 系のリソースは beta: prefix で扱え、必要なベータヘッダーを CLI が自動で付けます。

以下が最小構成です。agent を作る → environment を作る → session を作る → event を送る → stream を見る、これだけです。

Step 1: Agent を定義する

cat > summarizer.agent.yaml <<'YAML'
name: Summarizer
model: claude-sonnet-4-6
system: |
  You are a helpful assistant that writes concise summaries.
tools:
  - type: agent_toolset_20260401
YAML

AGENT_ID=$(ant beta:agents create \
  --transform id --format yaml < summarizer.agent.yaml)

Step 2: Environment を定義する

cat > summarizer.environment.yaml <<'YAML'
name: summarizer-env
config:
  type: cloud
  networking:
    type: unrestricted
YAML

ENV_ID=$(ant beta:environments create \
  --transform id --format yaml < summarizer.environment.yaml)

Step 3: Session を作る

SESSION_ID=$(ant beta:sessions create \
  --agent "$AGENT_ID" \
  --environment "$ENV_ID" \
  --title "Summarization task" \
  --transform id --format yaml)

Step 4: 指示を送る

ant beta:sessions:events send \
  --session-id "$SESSION_ID" \
  --event '{
    type: user.message,
    content: [{
      type: text,
      text: "型安全のメリットを一文で要約してください。"
    }]
  }'

Step 5: 実行を監視する

ant beta:sessions stream --session-id "$SESSION_ID"

SSE でリアルタイムにストリーミングされます。履歴は beta:sessions:events list でも確認できます。

YAML による管理のすすめ

Anthropic は、Agent と Environment を YAML ファイルとしてリポジトリで管理し、CI で API と同期する運用 を公式に想定しています。

.agents/
  code-reviewer.agent.yaml
  content-writer.agent.yaml
  analysis.environment.yaml

この構成なら、Agent の定義変更も PR レビューの対象になり、チーム運用との相性が良くなります。


アプリケーションへの組み込み

アプリに組み込む場合も流れは同じです。

agents.create → environments.create → sessions.create → sessions.events.send/stream

重要な違いは Custom Tools の処理フロー です。

  1. Agent が custom tool を呼びたいとき、agent.custom_tool_use イベントが発行される
  2. Session は idle 状態になり、あなたのコードの応答を待つ
  3. あなたのアプリケーション側でツールを実行する
  4. user.custom_tool_result イベントで結果を返す
  5. Agent が再開する

Built-in tools は Anthropic 側のコンテナで自動実行されるため、あなたのコードは介入しません。Messages API や Agent SDK で自前の agent loop を書いていたなら、その大部分が不要になります。


GitHub リポジトリ連携

Managed Agents と最も相性が良いのが GitHub 連携 です。Agent 側に GitHub MCP を宣言し、Session 作成時に github_repository をリソースとしてマウントします。

{
  "agent": "agent_...",
  "environment_id": "env_...",
  "resources": [
    {
      "type": "github_repository",
      "url": "https://github.com/org/repo",
      "mount_path": "/workspace/repo",
      "authorization_token": "ghp_..."
    }
  ]
}

これで Agent はリポジトリを読めるだけでなく、以下の操作もすべて行えます。

  • ブランチの作成
  • ファイルの編集・コミット
  • push
  • PR の作成

トークンの扱い

  • authorization_tokenclone 用認証にのみ使用 され、API レスポンスには返りません
  • scope は必要最小限の fine-grained personal access token が推奨
  • private repo の clone や PR 作成には適切な権限(repo スコープ等)が必要

複数リポジトリ

複数のリポジトリを同時にマウントすることもできます。ただし、マウントするリポジトリを変えたい場合は新しい Session を作成 します。

リポジトリはキャッシュされるため、同じリポジトリを使う後続の Session は起動が速くなります。


パーミッションポリシーで安全に運用する

運用で真っ先に設定すべきなのが Permission Policy です。

ツールの種類デフォルトポリシー
Agent toolset(built-in)always_allow
MCP toolsetalways_ask
Custom toolsポリシー対象外(あなたが実行可否を制御)

推奨設定

初期導入では、以下の方針が事故を防ぎます。

  • 自動許可: Read / Grep / Glob / Web search(読み取り系)
  • 確認必須: Bash / Write / Edit(書き込み系)
  • 確認必須: GitHub MCP の書き込み操作(push / PR 作成)

確認が必要になると Session は idle 状態で止まり、user.tool_confirmation イベントを返すと再開します。

確認フローの例

Agent が Bash を実行しようとする

Session が idle になる(session.status_idle イベント)

あなたのアプリが session.events を監視し、確認 UI を表示

ユーザーが承認

user.tool_confirmation イベントを送信

Agent が再開して Bash を実行

これにより、Agent に強力なツールを持たせながらも、危険な操作は人間が確認するワークフローを構築できます。


料金体系

Managed Agents の料金は トークン課金 + セッションランタイム課金 の 2 本立てです。

項目料金
トークン通常の Claude API と同じ(モデルによる)
セッションランタイム$0.08 / session-hour
Web search$10 / 1,000 検索

ランタイム課金の注意点

  • running 状態の時間だけが課金対象
  • idle(待機中)、reschedulingterminated の時間は課金されない
  • つまり、人間の確認待ちで idle になっている間は課金されない

コスト最適化のポイント

個人開発では、実際のコストは「何分動いたか」よりも モデル選択と Web search の回数 で大きく変わります。

  • Sonnet 4.6 から始め、必要になったら Opus に上げる
  • Web search は明示的に必要な場面でのみ使うよう system prompt で制御する

Research Preview 機能: Outcomes・Memory・Multi-agent

現在 Research Preview として提供されている上級機能を紹介します。最初の 1 本目で全部盛りにするより、単一 Agent を安定させてから段階的に載せるのが実務では成功しやすいです。

Outcomes

「完了の条件」と rubric(評価基準)を与えると、Agent が自己評価しながら反復する機能です。

outcomes:
  - name: code_review_complete
    rubric: |
      - All files in the PR have been reviewed
      - At least 3 specific improvement suggestions provided
      - No false positives in bug detection

「テストが通ったか」「diff が最小か」など、成功条件が明確なタスクとの相性が良いです。

Memory

Session をまたいで学習を持ち越す機能です。たとえば、コードレビュー Agent が過去のレビューで学んだプロジェクト固有のパターンを次回以降に活かすことができます。

Multi-agent

Coordinator Agent が別の Agent に並列委任する仕組みです。ファイルシステムは共有しつつ、会話コンテキストは Agent ごとに分離されます。

たとえば、Coordinator が「フロントエンドの修正」と「バックエンドの修正」を別々の Agent に並列で振り、結果を統合する構成が可能です。


実務で始める 3 つのパターン

パターン 1: バグ修正・PR 作成 Agent(最もおすすめ)

GitHub リポジトリをマウントし、bash / read / edit でコードを読み、テストや lint を回し、最小 diff を作って PR まで出す構成です。

おすすめの理由: 成功条件が明確(テスト通過・diff が最小・PR が作成された)で、効果を測定しやすい。Managed Agents の GitHub 連携と built-in tools が最もストレートに活きるパターンです。

# bugfixer.agent.yaml
name: BugFixer
model: claude-sonnet-4-6
system: |
  You are a bug fixer. Read the issue description, find the root cause in the codebase,
  write a minimal fix, run tests, and create a PR with a clear description.
tools:
  - type: agent_toolset_20260401
mcp_servers:
  - url: "https://mcp.github.com/v1"

パターン 2: SEO・コンテンツ制作 Agent

記事・LP・ドキュメント管理に特化した構成です。Files API でキーワードマップやスタイルガイドをマウントし、Web search で最新情報を取り込みます。

あなたの SEO やコンテンツ制作の知見を system prompt や skill に落とし込めるので、**単なる記事生成ではなく「運用知識の再利用装置」**になります。

パターン 3: データ分析・レポート Agent

Environment に pandas / numpy / scikit-learn などを事前インストールし、CSV や資料を Files API でマウントして、前処理・分析・要約まで 1 Session で回す構成です。

Session は stateful なので、同じ実行の中で中間ファイルや会話文脈を持ったまま深掘りできます。


まとめ ─ 最初の一歩

Claude Managed Agents は、自律的な AI エージェントを「自前でインフラを組まずに」動かせる基盤です。

最初の設計は、シンプルで十分です。

  1. 1 repo / 1 agent / 1 environment から始める
  2. Bash は確認付き にして安全に運用する
  3. Agent と Environment は YAML でリポジトリ管理 し、CI で同期する
  4. モデルは Sonnet 4.6 から始め、必要に応じて Opus に上げる

Managed Agents の強みは、agent loop やサンドボックスの運用をすべて Anthropic に任せられる点です。あなたは「何をさせるか」の設計に集中できます。

必要なのは、リポジトリ URL と、最初に自動化したい 1 タスクだけです。そこから agent.yamlenvironment.yaml を書き、ant CLI で動かしてみるのが最短の一歩です。

関連記事

F/ この記事の設計を反映しているプロダクト: FlowAgent

see →
an

analytics note — editor

AI とデータ分析の実装ログを毎週編集。設計判断と運用のつまずきを、再現できる形で残すことを大切にしています。

Keep reading

関連するノート

all entries →

同カテゴリまたはタグが近いノートを準備中です。