1Mトークンベータが終了。今すぐコードを直す場所はここ

鈴木 蓮
鈴木 蓮 20代・ ソフトウェアエンジニア
Anthropicのリリースノートを見ていたら、4月30日付けで地味に重要なアップデートが来ていた。Claude Sonnet 4.5とClaude Sonnet 4の1Mトークンコンテキストウィンドウベータ(`context-1m-2025-08-07`)が正式に廃止された、という話だ。

これ、自分も一瞬スルーしそうになったけど、よく読んだら「ベータヘッダーがもう効かなくなって、200kを超えるリクエストはエラーを返す」とはっきり書いてある。つまり、該当のベータヘッダーを設定したまま動かしているコードがあると、本番で静かに死ぬ可能性がある。

どのコードが影響を受けるか



具体的には、APIリクエストのヘッダーに `anthropic-beta: context-1m-2025-08-07` を書いている箇所を探せばいい。プロジェクトの規模によっては、CLIでサクッとgrepできる。

grep -r "context-1m-2025-08-07" ./src

見つかったらどうするか。1Mコンテキストが本当に必要なユースケースなら、Claude Sonnet 4.6かClaude Opus 4.6に移行するのが正解だ。この2モデルでは1Mトークンが正式GAになっていて、ベータヘッダー不要・標準料金で使えると明記されている。ヘッダーを消して、モデル名を書き換えるだけで済む話なので、移行コストはほぼゼロに近い。

一方で「実は200k以内に収まってるからベータヘッダーつけてただけ」というケースもある。自分のプロジェクトで正直そっちが多い。その場合はヘッダーを消すだけでOKで、モデルはそのままでいい。

「ベータ機能に依存したまま」という地雷



これ、今回に限った話じゃないと思う。LLM APIを触り始めると、ベータ扱いの便利機能をとりあえず使い始めて、そのまま本番に乗っけるパターンになりがちだ。自分も身に覚えがある。

ベータ機能は廃止タイミングが読みにくいし、今回みたいにエラーになる系の変更だと気づくのが遅れやすい。ベータヘッダーを使っている箇所は、定期的にAnthropicのリリースノートと突き合わせるクセをつけておくのが現実的な対策だと思う。リリースノートのページ自体はそんなに長くないので、週イチでざっと流し読みするだけで十分拾える。

今回、4月だけでもClaude Haiku 3の完全廃止(4月20日)、Claude Opus 4.7のリリース(4月16日)、Claude Sonnet 4とOpus 4の廃止予告(6月15日退役予定)と、割と立て込んだタイミングだった。モデル名をハードコードしているところが複数あるなら、この機会にまとめて棚卸ししておくといい。

自分は来週、手元のサイドプロジェクトのAPI呼び出し部分を一通りgrepして、使用中のモデル名とヘッダーをリスト化するつもりだ。面倒だけど、本番で突然エラーが出るよりはずっとマシだと思っている。

無料相談受付中

AI開発・DX推進についてお気軽にご相談ください。オンライン30分から。

無料相談を申し込む