Claude Sonnet 4.5 の1Mトークン コンテキストが4月30日に廃止
2026年4月30日、Claude Sonnet 4.5 および旧モデルである Claude Sonnet 4 に対して提供されていた 1Mトークン コンテキストウィンドウのベータ機能が廃止されます。これはAnthropicが2025年8月に導入した context-1m-2025-08-07 ベータヘッダーを通じて利用可能だったものです。
すでに Claude Sonnet 4.6 や Claude Opus 4.6 では1Mトークンのコンテキストウィンドウが**正式GA(一般提供)**として標準機能になっており、ベータヘッダーなしで利用できます。ここでは廃止期限までに行うべき移行手順をコード例付きで詳しく解説します。
何が廃止されるのか
今回廃止されるのは、次の2つのモデルに対するベータ機能です。
claude-sonnet-4-5(Claude Sonnet 4.5)claude-sonnet-4-20250514(Claude Sonnet 4)
これらのモデルでは、APIリクエストのヘッダーに anthropic-beta: context-1m-2025-08-07 を指定することで、最大100万トークンのコンテキストウィンドウを利用できていました。
2026年4月30日以降、このベータヘッダーを指定しても何の効果もなくなります。仮にプロンプトが標準の200kトークンを超えた場合には、エラーが返されます。
# ❌ 廃止後はこのヘッダーが無効になります
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=4096,
messages=[{"role": "user", "content": very_long_content}],
extra_headers={
# 2026-04-30以降、このヘッダーは無効になります
"anthropic-beta": "context-1m-2025-08-07"
}
)移行先モデルと特徴
移行先として推奨されるのは Claude Sonnet 4.6 または Claude Opus 4.6 です。いずれも1Mトークンのコンテキストウィンドウが標準で利用可能です。
- Claude Sonnet 4.6(
claude-sonnet-4-6): コストと性能のバランスが最も優れており、ほとんどのユースケースに対応します。速度も速く、大容量ドキュメント処理や長大な会話履歴の維持に最適です。 - Claude Opus 4.6(
claude-opus-4-6): 最高性能のモデルです。複雑な推論・多段階タスク・高精度な分析が必要な場合に選択します。コストはSonnetよりも高くなります。
どちらのモデルも、ベータヘッダーなしで最大100万トークンを扱えます。追加コストは発生せず、標準料金が適用されます。
ステップバイステップの移行手順
移行作業自体は非常にシンプルです。基本的にはモデルIDの変更と、ベータヘッダーの削除だけで完了します。
Step 1: モデルIDを更新する
import anthropic
client = anthropic.Anthropic()
# ✅ 移行後: claude-sonnet-4-6 を使用
response = client.messages.create(
model="claude-sonnet-4-6", # ← ここを変更
max_tokens=8096,
messages=[
{
"role": "user",
"content": very_long_content # 最大100万トークン対応(ベータヘッダー不要)
}
]
# ← ベータヘッダー不要(削除してOK)
)
print(response.content[0].text)Step 2: ベータヘッダーを削除する
もし extra_headers や extra_body に context-1m-2025-08-07 ヘッダーを明示的に渡していた場合は、削除します。
# Before(削除が必要)
extra_headers={
"anthropic-beta": "context-1m-2025-08-07"
}
# After(ヘッダー指定なし・削除するだけでOK)
# → claude-sonnet-4-6 はデフォルトで1Mトークン対応Step 3: TypeScript/Node.js での移行
TypeScriptを使っている場合も手順は同じです。
import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic();
// ✅ 移行後
const response = await client.messages.create({
model: 'claude-sonnet-4-6', // ← モデルIDを変更
max_tokens: 8096,
messages: [
{
role: 'user',
content: veryLongContent, // 100万トークンまでOK
},
],
// ← ベータヘッダー不要
});
console.log(response.content[0].text);Step 4: 動作確認
移行後は、実際に長大なコンテキストを使ったリクエストで正常動作するかをテストしましょう。
import anthropic
client = anthropic.Anthropic()
# トークン使用量を確認するためにusage情報を確認
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[
{
"role": "user",
"content": "このメッセージのトークン数を教えてください。"
}
]
)
# 入力トークン数を確認
print(f"入力トークン数: {response.usage.input_tokens}")
print(f"出力トークン数: {response.usage.output_tokens}")
# 期待出力:
# 入力トークン数: 18
# 出力トークン数: 32Sonnet 4.5 から Sonnet 4.6 で何が変わるか
Claude Sonnet 4.6 は Sonnet 4.5 と比較して、いくつかの点で向上しています。
- パフォーマンス向上: コーディング・数学的推論・命令追従の精度がいずれも改善
- コンテキストウィンドウ: 1MトークンがGA(正式提供)に。ベータ扱いではなくなりました
- Extended Thinking: 拡張思考モードが利用可能(必要に応じて有効化)
- 互換性: APIインターフェースはほぼ同一のため、移行コストが低い
プロンプトの大幅な変更は通常不要ですが、移行後は出力を確認し、必要であればシステムプロンプトを微調整することをお勧めします。
よくあるエラーと対処法
移行時に遭遇しやすいエラーと、その対処法をまとめました。
ContextWindowExceededError
anthropic.BadRequestError: 400 {"type":"error","error":{"type":"invalid_request_error","message":"prompt is too long"}}
原因: claude-sonnet-4-5 にそのままリクエストを送り、200kトークン超のコンテキストを渡した場合に発生します。
対処: モデルIDを claude-sonnet-4-6 に変更するか、コンテキストを200k以内に削減してください。
ベータヘッダーが効かなくなった
4月30日以降に context-1m-2025-08-07 ヘッダーを付けても、旧モデルでは1Mコンテキストは使えません。早めにモデルを claude-sonnet-4-6 へ移行してください。
max_tokens の指定が変わった
Claude Sonnet 4.6 では、1つのリクエストで最大64kトークンまでの出力が可能です(Sonnet 4.5 は8192トークンが上限でした)。長文出力が必要な場合は max_tokens の値も見直しましょう。
より大規模なAPIの非同期バッチ処理については、Claude API Messages Batches 完全実装ガイド でコスト最適化の実践パターンを解説しています。
全体を振り返って
2026年4月30日の廃止期限まで、残り僅かです。対応が必要な方は以下の2点を確認してください。
claude-sonnet-4-5またはclaude-sonnet-4で、context-1m-2025-08-07ベータヘッダーを使用しているコードがあるか- 該当コードのモデルIDを
claude-sonnet-4-6に変更し、ベータヘッダーを削除する
Sonnet 4.6 はパフォーマンスが向上しており、コストも変わらないため、積極的に移行することをお勧めします。RAGや大容量ドキュメント処理で1Mコンテキストを活用されている方には、Claude API で RAG システムを構築する の実装ガイドも参考になると思います。