Claude APIAnthropic の機能

FEATURE

Message threads(メッセージスレッド)

Message threads(メッセージスレッド)は、Messages API の会話をサーバー側に短時間保持する機能です。

プレビュー・先行提供公式発表と照合済み
初出2026年11月2日
ページ更新
提供状態プレビュー・先行提供
公式の記載で確認できた環境API、クラウド基盤経由
提供を確認できたプラン公式に記載なし
目次 CONTENTS
  1. できること
  2. 機能解説
  3. 使い方
  4. 利用シーン
  5. ChatGPT・OpenAI の対応する機能
  6. 関連する機能
  7. 出典
CAN DO

できること

POINT 01

会話をサーバーに保持

会話をサーバー側に短時間保持し、以降のターンでは新しいメッセージと前回レスポンスの id だけを送ります。API はモデルを呼び出す前に会話を組み立て直します。

POINT 02

小さなリクエストで継続

会話全体を毎回送らないため、リクエストが小さくなります。会話が長くなっても、最初のトークンまでの時間が短く安定します。

POINT 03

SDK ヘルパーで利用

SDK の thread ヘルパーがスレッド用のリクエストを組み立て、会話全体をメモリに保持します。SDK の beta tool runner も既定でスレッドを使います。

GUIDE

機能解説

概要

API が会話を保持するため、以降のリクエストでは新しいメッセージだけを送ります。リクエストが小さくなり、会話が長くなっても最初のトークンまでの時間(time to first token)が短く安定します。特に長いエージェントループに向いた機能です。

Messages API のリクエストに thread というパラメーターを 1 つ追加して使います。レスポンスは通常のメッセージと同じ形で返ります。2 回目以降のリクエストでは、新しいメッセージと前回レスポンスの id を送り、会話の組み立て直しは API 側で行います。

仕組みと制約

  • スレッドは追記のみ(append-only)で、各レスポンスの id から継続できるのは 1 回だけです。
  • ストリーミングに対応しています。レスポンスの id は message_start イベントで届きますが、継続するのは message_stop イベントを受け取った後にします。
  • スレッドはプロンプトをキャッシュしません。プロンプトキャッシュはスレッドを使わない場合と同じ動作で、キャッシュのブレークポイントの位置は利用者が決めます。
  • API がスレッドを継続できなくなった場合、continue リクエストは 404 エラーを返します。このときは会話全体を新しい create リクエストで送り直し、そのレスポンスの id から続けます。

SDK ヘルパーの動作

SDK の thread ヘルパーを使う場合は、Messages リクエストと同じフィールドでヘルパーを作成し、1 ターンずつ送信します。ヘルパーはスレッド用のリクエストを組み立て、会話全体をメモリに保持します。

continue リクエストが thread_not_found、thread_already_continued、thread_continue_in_flight のいずれかを返した場合、ヘルパーは会話全体を新しい create リクエストで 1 回送り直します。SDK の beta tool runner も既定でスレッドを使い、runner の作成時にオフにできます。

提供状況の注意

Message threads はベータとして提供されており、スレッドのすべてのリクエストに message-threads-2026-08-12 ベータヘッダーを付けて送ります。対象プランについては、公式のリリースノートには記載がありません。

管理者・導入時に確認したい点

  • スレッドは最後のリクエストから 5 分で期限切れになり、最後の使用から 1 時間以内に API が削除します。
  • スレッドを一覧・参照・削除する API はありません。保存された会話をあとから取り出す用途には使えないため、会話全体は利用者側で保持する前提で設計します。
HOW TO USE

使い方

ベータ機能のため、message-threads-2026-08-12 ベータヘッダーを付けて使います。

  1. 最初のリクエストは、これまでどおり会話全体と system、tools を送り、"thread": {"type": "create"} を追加します。API は Claude の返答を含む会話を、レスポンスの id の下に保存します。
  2. 以降のターンでは、前回のレスポンス以降のメッセージだけを送り、"thread": {"type": "continue", "previous_message_id": "<previous id>"} を追加します。system と tools はリクエストに含めません。
  3. 次のターンには、毎回新しく返ったレスポンスの id を使います。
公式ヘルプを開く ↗
USE CASES

利用シーン

CASE 01

ツール呼び出しを何度も重ねる長いエージェントループの実装に向いています。

CASE 02

Messages API で多くのターンを重ねる長い会話を扱うアプリケーションに使えます。

CASE 03

SDK の beta tool runner を使ったツール実行の実装では、既定でスレッドが使われます。

COMPARISON

ChatGPT・OpenAI の対応する機能

比較の単位となる業務: API での会話履歴のサーバー側保持と差分送信による長い会話・エージェントループの高速化

OpenAI の Agents API は、永続的なセッション(durable sessions)でターンをまたいで作業を継続する仕組みで、セッションのオーケストレーション、コンテキスト圧縮、復旧は OpenAI が担います。Message threads は会話をサーバー側に短時間だけ保持する仕組みで、スレッドは最後のリクエストから 5 分で期限切れになります。継続できなくなった場合は、会話全体を新しい create リクエストで送り直します。

プロンプトキャッシュとの関係では、Message threads はプロンプトをキャッシュせず、キャッシュのブレークポイントは利用者が指定します。OpenAI 側では、ZDR が有効でない組織で prompt_cache_retention の既定値が 24h になり、extended prompt caching が既定で有効です。

SOURCES

出典

出典 3 件を表示