CLAUDE LABEN
APPLY — ant CLI v1.30.0 に ant apply が入りました。エージェント・環境・スキル・メモリストア・デプロイメントを、リポジトリのファイルから作成・更新できますLOCKFILE — 書き出される claude-lock.json は必ずコミットしてください。忘れると、実行のたびに同じリソースが新しく作られていきますPLAN — ant apply は適用の前に計画を表示し、承認を挟みます。CI で無人実行するなら、この承認をどう扱うかを先に決めておくことですPRICING — Claude Sonnet 5 の 3 ドル / 15 ドルへの値上げは実施されていません。導入価格の 2 ドル / 10 ドルがそのまま標準価格になりましたSOURCE — 価格と版番号は二次ニュースに誤りが混じります。platform.claude.com のリリースノートで裏を取ってから書くようにしていますBETA — Agent Skills と Skills API はベータを抜け、skills-2025-10-02 ヘッダが不要になりました。Files API はヘッダの有無でレスポンス形式が変わる点に注意ですAPPLY — ant CLI v1.30.0 に ant apply が入りました。エージェント・環境・スキル・メモリストア・デプロイメントを、リポジトリのファイルから作成・更新できますLOCKFILE — 書き出される claude-lock.json は必ずコミットしてください。忘れると、実行のたびに同じリソースが新しく作られていきますPLAN — ant apply は適用の前に計画を表示し、承認を挟みます。CI で無人実行するなら、この承認をどう扱うかを先に決めておくことですPRICING — Claude Sonnet 5 の 3 ドル / 15 ドルへの値上げは実施されていません。導入価格の 2 ドル / 10 ドルがそのまま標準価格になりましたSOURCE — 価格と版番号は二次ニュースに誤りが混じります。platform.claude.com のリリースノートで裏を取ってから書くようにしていますBETA — Agent Skills と Skills API はベータを抜け、skills-2025-10-02 ヘッダが不要になりました。Files API はヘッダの有無でレスポンス形式が変わる点に注意です
記事一覧/API & SDK
API & SDK/2026-04-10上級

Claude Managed Agents を本番へ移すときに躓く境界 — Agent / Environment / Session の分離と、鍵をサンドボックスへ渡さない構成

Claude Managed Agents の本番設計を、SDK の実際の型で確かめながら整理します。サンドボックス制御・永続メモリ・認証情報・マルチエージェント・コスト計測が、それぞれどのオブジェクトに属しているかを扱います。

managed-agents6production87architecture7api39enterprise5security10

プレミアム記事

設定ブロックを書き足せば済む、と思っていました

Managed Agents のプロトタイプを本番想定へ寄せる作業を始めたとき、私は agents.create() の引数に sandboxmemoryaudit といったブロックを足していけば形になる、と考えていました。設定は一箇所に集まっているはずだ、という思い込みです。

実際には、そのブロックはどれも存在しませんでした。

手元で確かめたほうが早いので、SDK を入れて型を直接読みました。@anthropic-ai/sdk 0.120.0 で AgentCreateParams のトップレベルに並んでいたのは、次の10個だけです。

フィールド役割
name / description人間が読むための識別子
modelモデルID。文字列、または id と speed を持つオブジェクト
systemシステムプロンプト
tools組み込みツールセット / MCP ツール / カスタムツール
mcp_serversMCP サーバー接続
skillsスキル参照
multiagent委任先のロスター
metadata / betas任意のキー値 / ベータヘッダ

sandboxmemoryobservabilityoptimizationauditpermissionscheckpointlifecycle。いずれも0件でした。instructions もありません(system です)。

さらに client.agents そのものが undefined で、入口は client.beta.agents でした。client.beta.agents.batch.pipelines.secretsclient.beta.sessions.run も、すべて undefined を返します。

つまり「エージェント設定に全部書く」という設計図が、そもそも成立していなかったわけです。ここを取り違えたまま設計レビューまで進むと、実装フェーズで骨格ごと引き直すことになります。以下では、私がどこで境界を読み違えたのかを順に整理していきます。

なお、Managed Agents そのものが初めてという場合は、Managed Agents の基本概念と導入手順を先にご覧いただくとスムーズです。

骨格は Agent・Environment・Session の三つに割れている

設定が一箇所に集まらないのは、責務が三つのオブジェクトに分かれているからです。

オブジェクト担うもの寿命
Agentモデル・システムプロンプト・ツール・MCP・スキル・委任先永続。バージョン付き
Environmentコンテナをどう起こすか(実行基盤・ネットワーク方針)永続。使い回す
Session1回の対話。Agent と Environment を参照し、資材と鍵と予算を添える使い捨て

エージェントループ自体は Anthropic 側のオーケストレーション層で回り、コンテナはツールが実行される場所として使われます。この分業を頭に入れておくと、「なぜサンドボックスの設定が Agent 側にないのか」が腑に落ちます。エージェントの人格と、その人格が手を動かす作業場は、別々に定義して組み合わせるものだからです。

最小の形はこうなります。

import Anthropic from "@anthropic-ai/sdk";
 
const client = new Anthropic();
 
// 1. 作業場のテンプレート(使い回す)
const env = await client.beta.environments.create({
  name: "report-workspace",
  config: {
    type: "cloud",
    networking: { type: "unrestricted" },
  },
});
 
// 2. エージェント(永続・バージョン付き。リクエストパスで作らない)
const agent = await client.beta.agents.create({
  name: "sales-report-agent",
  model: "claude-sonnet-4-6",
  system: "月次営業レポートを生成します。数値は必ず添付データから引きます。",
  tools: [{ type: "agent_toolset_20260401" }],
});
 
// 3. セッション(毎回。agent は ID で参照する)
const session = await client.beta.sessions.create({
  agent: agent.id,
  environment_id: env.id,
  title: "2026-04 月次レポート",
});

ここで一つ、運用に効く注意があります。agents.create() をリクエストパスの中で呼ばないことです。エージェントは永続オブジェクトなので、1リクエストごとに作ると同名の設定が積み上がっていきます。生成した ID を保存し、以降は参照だけにします。

環境名も一意です。同じ名前で作り直そうとすると 409 が返ります。CI から冪等に流したい場合は、作成を試みて 409 なら既存を引く、という分岐を先に用意しておくと素直に回ります。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
Agent / Environment / Session のどこに何を書くのかを取り違えたまま設計を進めてしまう事故を、SDK の型を根拠に手前で止められるようになる
MCP の認証情報をサンドボックスへ渡さずに済ませる Vault の境界と、そこで守られる範囲・守られない範囲を線引きできるようになる
セッションが自己申告する active_seconds と list_cost を使い、ランタイム費用を推定ではなく実測で扱えるようになる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥2,480 の永久アクセス
メンバーシップを見る →

関連記事

API & SDK2026-04-12
Claude Managed Agents のサンドボックス設計 ― 本番環境で安全に自律エージェントを動かす技術
Claude Managed Agentsのサンドボックスを3層構造で解剖し、本番環境で自律エージェントを安全に動かすセキュリティパターンを解説します。リソース制限の実践的な設定値、SSEストリーミングによるリアルタイム監視、暴走時のフェイルセーフ設計、デプロイ前チェックリストまで実装コード付きです。
API & SDK2026-04-09
Claude Managed Agents — 2026年4月リリースの次世代AIエージェント基盤
2026年4月8日にパブリックベータ開始したClaude Managed Agentsの全貌を解説。サンドボックス実行・認証・チェックポイントなど主要機能から実装手順・料金まで、プロダクション対応AIエージェント開発の新しい標準を徹底紹介します。
API & SDK2026-06-27
Claude API のストリーミングが「エラーも出さずに」止まるとき — 沈黙する停止を検知して途中から続ける運用メモ
Claude API のストリーミングが例外も出さずに無言で止まる「沈黙停止」を、トークン間隔のウォッチドッグで検知し、受信済みテキストを引き継いで途中から再開する実装と、長時間の自動運用で崩れないためのタイムアウト予算の設計をまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます