https://platform.claude.com/docs/en/managed-agents/overview
Claude Managed Agents provides the harness and infrastructure for running Claude as an autonomous agent. Instead of building your own agent loop, tool execution, and runtime, you get a fully managed environment where Claude can read files, run commands, browse the web, and run code securely. The harness supports built-in prompt caching, compaction, and other performance optimizations for high-quality, efficient agent outputs.
Claude Managed Agents は、Claude を自律型エージェントとして実行するためのハーネス(実行環境)およびインフラストラクチャを提供します。独自のエージェントループ、ツールの実行機能、ランタイムを自作する代わりに、Claude がファイルを読み込み、コマンドを実行し、ウェブを閲覧し、安全にコードを実行できる完全なマネージド環境を利用できます。このハーネスは、高品質で効率的なエージェント出力を実現するために、組み込みのプロンプトキャッシング、コンパクション、およびその他のパフォーマンス最適化をサポートしています。
harness supports built-in prompt cachingということは、プロンプトキャッシュに関する設定はそもそも自動で組み込まれているということ?
https://platform.claude.com/docs/en/build-with-claude/prompt-caching
そもそもプロンプトキャッシュとは
「前回と同じところは読み飛ばす」仕組み。
Claude はリクエストのたびに、送られてきたプロンプトを毎回イチから読み直している。会話が長くなるほどこれが重くなる。プロンプトキャッシュは「ここまでは前回と同じ内容だよね」という部分をまるごとスキップさせる。長い本を毎回 1 ページ目から読み直すのではなく、栞のところから読むイメージ。
嬉しいこと:
- 安い: 読み飛ばした分は通常の 1/10 の料金
- 速い: 返事が返り始めるまでが短くなる
大事なルール: 「先頭から同じ」でないと効かない
効くのは先頭から途切れずに一致している部分だけ。途中で 1 文字でも変わると、そこから後ろは全部読み直しになる。
[ツール定義][システムプロンプト][会話1][会話2][会話3]
↑ ここを書き換えると
└────────────→ ここから先は全部読み直し
なので 変わらないものを前に、変わるものを後ろに置く。たとえばシステムプロンプトの末尾に現在時刻を入れると、毎回すべてキャッシュが外れる。
本題の答え
はい。Managed Agents では自分でキャッシュの設定を書く必要はない。
| 自作する場合(Messages API) | Managed Agents | |
|---|---|---|
| キャッシュ | 自分で「ここまで保存して」と印をつける | ハーネスが自動でやる |
| 会話が長くなったとき | 自分で圧縮処理を実装 | compaction が組み込み |
エージェントは 1 つのタスクで何十ターンも動くので、送るプロンプトがどんどん巨大になる。ここでキャッシュが効くかどうかでコストが桁違いになるため、ハーネス側が面倒を見てくれるのは理にかなっている。
compaction(コンパクション): 会話が長くなりすぎたとき、古いやり取りを要約に置き換えて容量を空ける処理。Claude Code の
/compactと同じもの。
補足: 自分で書くとこうなる
Messages API を直接使う場合はこの 1 行を足すだけでよい(あとは自動でいい位置に印をつけてくれる)。
{
"model": "claude-opus-4-8",
"cache_control": {"type": "ephemeral"},
"system": "You are a helpful assistant...",
"messages": [...]
}
Managed Agents ではこれすら不要、というのが built-in の意味。