Claude API: message threads で「毎回会話を全部送る」をやめる(create → continue、5分で失効)
2026-11-02 にパブリックベータになった message threads を使うと、2回目以降のリクエストは新しいメッセージだけ送ればよい。サーバーが前回までの会話を覚えているので、長い会話ほど送るデータと最初のトークンまでの待ち時間が減る。料金とトークン数は変わらない。
どんな時に使う?
- 自前のエージェントや Agent SDK 風のループで、毎ターン数百 KB〜数 MB の会話履歴を送り直している
- 500K〜1M トークン級の長い文脈で、最初の1トークンが出るまで(TTFT)が遅い
手順
- ヘッダーに
anthropic-beta: message-threads-2026-08-12を付ける - 最初のリクエストは今までどおり会話全体・
system・toolsを送り、"thread": {"type": "create"}を足す - 返ってきたメッセージの
id(msg_...)を覚えておく - 次からは
"thread": {"type": "continue", "previous_message_id": "msg_..."}と、新しいメッセージだけを送る。systemとtoolsは省く
json
{
"model": "MODEL_ID",
"max_tokens": 4096,
"thread": { "type": "continue", "previous_message_id": "msg_01ABC..." },
"messages": [
{ "role": "user", "content": [{ "type": "tool_result", "tool_use_id": "toolu_...", "content": "ok" }] }
]
}- 公式 SDK にはヘルパーがあり、失効時の送り直しも自動でやってくれる
注意点
- スレッドは最後のリクエストから 5分 で失効し、1時間以内に消される。失効後の continue は 404 になるので、手元に会話全体を持っておき、
createで送り直す(SDK を使わない場合は自分で書く) - トークン数と料金は変わらない。速くなるのは転送と前処理の部分だけ。コストを下げたいならプロンプトキャッシュを使う
- 使えるのは Claude API・AWS・Google Cloud(Anthropic 管理)・Foundry。ベータなのでヘッダー名や挙動が変わる可能性がある
- Claude Code はすでに使っている。Anthropic によると 500K〜1M トークンのリクエストで TTFT の中央値が約35%下がり、リクエストサイズの中央値は約 800KB から 1.8KB になった
出典
- @ClaudeDevs · 2026-11-03
- 公式ドキュメント(Message threads): platform.claude.com
- 解説記事: claude.com
- 関連: AIコーディング ツール・モデル動向(2026-10-29〜2026-10-30)