AIToday
大規模言語モデルAIコーディングZenn AI/ML掲載日時: 2026年10月15日 10:00

Claude 先頭削除で thinking 破棄

LINEで送る
Claude 先頭削除で thinking 破棄

3つのポイント

  1. 何が起きたか

    10月8日、thinking-binding-controls-2026-08-01ヘッダーのテストで、claude-opus-5-5は履歴追記でthinking blockを保持したが、最初のやり取りを削るとprefix_binding_mismatchで1つが破棄された。

  2. なぜ重要か

    このチェックは過去のassistantターンを再送した時だけ働くため、履歴を追記するコードは生き残るが、古いターンを削ると以降のthinking blockがすべて壊れうる。

わからないところ、AIに聞けます

質問と回答はこのページに公開されます。

こういう要約が、毎朝あなたのメールに届きます。

背景と解説

仕組みが分かれば、このエラーの裏にあるルールは単純だ。各thinking blockは、それを生んだ会話の先頭部分(トップレベルのシステムプロンプト、ツールの集合、そのblockより前のすべてのメッセージ)を記録した署名を帯びている。履歴を再送すると、APIはその先頭部分が変わっていないかを確認する。変わっていれば、そのblockとそれ以降のthinking blockはすべて無効とみなされ、冒頭の400として表面化する。

開発者にとって厄介なのは、このチェックが実際にモデルが思考したかどうかにかかわる点だ。10月8日のテストで、claude-fable-5-1は「effort low」の簡単な3ターンを通じてthinking blockを一切出さなかったため、最初のやり取りを削っても何も変わらなかった。claude-opus-5-5も最初の2ターンでは思考しなかったが3ターン目で思考し、そのblockがmessages.3.content.0として破棄された。実務上の帰結は、同じ履歴編集コードが簡単なテストは通っても、本番の難しい入力では失敗しうることだ。

自身の監査が線引きを示している。Claude APIを呼ぶ3つのプロジェクト(字幕整形パイプライン、読書マップのWebアプリ、証券報告書を読む日次ジョブ)はいずれも履歴を組み立て直さない単発呼び出しで、切り詰めの検出はゼロだった。日次ジョブはたまたまコンテキストをシステム、PDF、分析ごとの指示の順に並べ、可変部分を末尾に置いていた。キャッシュ向けに作られた並びで、追記優先の対策と一致する。

一時的な応急処置としては、thinking-binding-controls-2026-08-01ベータとprefix_mismatch_behaviorを「drop_block」に設定し、失敗させるのではなく問題のあるblockを破棄させられる。破棄された項目はinput_transformationsに現れる。ただし既定値は利用面ごとに異なる(ヘッダーなしの強制アカウントではエラー、ヘッダーだけを送る場合はdrop_block)ため、動作を明示的に設定することが勧められる。

よくある質問
自分のClaudeコードが影響を受けるか見分ける方法は?
チェックが働くのは、過去のassistant応答に由来するthinking blockを送り返した時だけだ。messages配列が毎回ユーザーターン1つだけなら、単一ターンの呼び出しは影響なく移行できる。
履歴の削除に代わる、推奨される長期的な修正は?
編集を追記に置き換える。セッションのシステムプロンプトは最初に固定し、ツールはすべて事前に宣言し、古いツール結果の削除やターンの切り詰めではなく、サーバー側のコンテキスト編集や圧縮を使う。
追記のみの履歴にコスト面の利点はあるか?
ある。追記のみの履歴はキャッシュにも最も適した形で、Fable 5.1のキャッシュ読み取りは0.025倍(0.25ドル/ 1M tokens)、Opus 5.5とSonnet 5.5は0.05倍(0.20ドル/ 0.10ドル)だ。
LINEで送る

あなたの仕事に関係するAIニュースを、毎朝お届けします。

業界と使っているAIツールを選ぶと、仕事に関係するニュースが毎朝届きます。

登録無料・Googleアカウントなら30秒・いつでも解除できますAITodayについて →

AIに質問

この記事についてわからないことをAIに質問できます。AIはこの記事・AIToday の過去記事・Wikipedia を読み、出典を付けて答えます。Q&Aはこのページに公開され、他の読者も読めます。

質問と回答はこのページに公開されます。

関連記事

次の記事へWordCraft、Word代替目指し0.6.1へ