ClaudeのモデルIDから日付が消えた意味と読み方
Claude 4.6世代からモデルIDは日付なしのclaude-{name}-{major}[-{minor}] になりました。Bedrockの -v1の扱い、エイリアスとの違い、固定スナップショットの意味を解説します。
ClaudeのモデルIDから日付が消えた意味と読み方
claude-sonnet-4-5-20250929 のように日付が入っていたClaudeのモデルIDは、4.6世代から claude-sonnet-4-6 のように日付を持たなくなりました。日付がないと「常に最新へ向くエイリアス」に見えますが、そうではありません。
日付なしのIDは、それ自体が1つの固定スナップショットです。この記事では、世代ごとの書式、BedrockとGoogle Cloudでの違い、エイリアスとの区別、Claude Codeのモデルエイリアスとの違い、コードでの扱い方を順に見ます。
モデルIDの書式は4.6世代を境に2種類ある
Claude APIのモデルIDは、4.6世代以降とそれ以前で形が違います。
| 世代 | Claude API | Amazon Bedrock | Google Cloud |
|---|---|---|---|
| 4.6世代以降 | Claude APIclaude-sonnet-4-6 | Amazon Bedrockanthropic.claude-sonnet-4-6 | Google CloudClaude APIと同じ形式 |
| 4.6世代より前 | Claude APIclaude-sonnet-4-5-20250929 | Amazon Bedrockanthropic.claude-sonnet-4-5-20250929-v1:0 | Google Cloudclaude-haiku-4-5@20251001 |
4.6世代以降の一般形は次のとおりです。
claude-{name}-{major}[-{minor}]{name} はモデルファミリー名で、sonnet や opus が入ります。Claude Sonnet 5やClaude Opus 5のようにメジャーバージョンだけのリリースでは、minorの部分がありません。claude-sonnet-5 と claude-opus-5 がその例です。minorつきの例は claude-opus-4-7、claude-opus-4-8 です。
4.6世代より前は、末尾にスナップショットの日付が付きます。
claude-{name}-{major}-{minor}-{YYYYMMDD}claude-haiku-4-5-20251001 がこの形です。Google Cloudでは日付の前が @ になり、claude-haiku-4-5@20251001 と書きます。Bedrockでは日付のあとに -v1:0 が付きます。
日付なしのIDは「最新版への追従」ではなく固定スナップショット
ありがちな誤解は、claude-sonnet-4-6 を「そのときいちばん良いSonnet 4.6系に向く名前」と読むことです。公式ドキュメントは、これを明確に誤解として扱っています。
4.6世代以降の日付なしIDは、そのリリースの正規のモデルIDです。1つの固定されたモデルスナップショットに対応します。Anthropicは既存のモデルIDの重みも設定も変えません。更新版ができたときは、新しいモデルIDで出ます。
つまり、IDを見れば挙動の基準点が決まります。日付を外した理由は公式には書かれていません。書かれているのは、固定の保証は日付の有無に関係なくIDにかかること、更新版は新しいIDで出ることの2点です。日付は固定を示す目印から、IDの形式上の要素へ退いたと読むのが素直です。IDごとに廃止と提供終了のスケジュールも別々です。日付ありでも日付なしでも変わりません。廃止時の扱いはClaudeモデル廃止でAnthropicが約束する重み保存と退任面談にまとめています。
エイリアスは固定の保証の外にある
固定の保証がかかるのは、モデルIDです。Claude APIが一部の古いモデルに用意している短い別名(エイリアス)は、保証の対象外です。
4.6世代より前のモデルには、claude-sonnet-4-5 のような日付なしのエイリアスがあります。これは、そのminorバージョンの中で最新の日付つきスナップショットを指す便宜的なポインターです。
| 書き方 | 種類 | 指す先 |
|---|---|---|
claude-sonnet-4-5-20250929 | 種類日付つきID | 指す先固定スナップショット |
claude-sonnet-4-5 | 種類エイリアス | 指す先4.5の最新の日付つきスナップショット |
claude-sonnet-4-6 | 種類日付なしID | 指す先固定スナップショット(エイリアスではない) |
見た目は claude-sonnet-4-5 と claude-sonnet-4-6 がそっくりでも、性質は違います。前者は指す先が動きうる名前で、後者は動かない名前です。
再現性が要る処理は、日付つきIDで固定するのが安全な選び方です。4.6世代以降は、日付なしIDがそのまま固定IDなので、この使い分けは要りません。公式のモデル比較表も、エイリアス行について「4.6世代より前のモデルでは日付つきIDに解決される便宜上のポインターで、日付なしIDは自身が固定スナップショットのため、エイリアス行は同じ値を繰り返す」と説明しています。
Bedrockの -v1はOpus 4.6が最後
Bedrockでは、4.6世代以降のIDにも anthropic. の接頭辞が付きます。たとえば anthropic.claude-sonnet-4-6、anthropic.claude-opus-4-7 です。
4.6世代より前は、anthropic.claude-sonnet-4-5-20250929-v1:0 のように、日付に加えて -v1:0 が付いていました。4.6世代以降は、この日付と -v1:0 の両方がありません。
例外がClaude Opus 4.6です。Bedrock IDに -v1 のサフィックスが付く最後のモデルで、anthropic.claude-opus-4-6-v1 と書きます。Claude Sonnet 4.6以降は、サフィックスがありません。
Opus 4.6だけ旧形式を引きずっているため、「4.6世代だから全部 -v1 なし」と機械的に変換すると、Opus 4.6のIDだけ外れます。手書きの変換表やIDの組み立てロジックを持っているなら、この1件を別扱いにしておく必要があります。
Google Cloudは、4.6世代以降がClaude APIと同じ形式です。
Bedrockでリージョンをどう選ぶかは、Amazon Bedrock東京リージョンでClaudeを使うが扱っています。プラットフォームごとの機能差はClaudeをBedrockとGoogle Cloudで使うで比較しています。
重みが固定でも、挙動が変わることはある
IDが固定でも、モデルを取り巻く配信基盤は時間とともに変わります。リクエストのルーター、安全性の分類器、サンプリングのロジックなどがこれにあたります。
基盤の更新によって、モデルIDも重みも同じままで、観測できる挙動に小さな差が出ることがあります。以前は安定していたIDで想定外の挙動差に気づいたら、公式は基盤の更新が最も疑わしい原因だと述べています。
ここで、「IDが同じ」と「出力が同じ」は別の話です。
- IDが保証すること: 重みと設定が同じであること
- IDが保証しないこと: 配信基盤を含めた出力の完全な一致
出力の再現性が業務要件なら、IDを固定するだけでなく、評価用の入力を用意して定期的に出力を見比べる運用が現実的です。
コードでIDを扱うときの具体策
書式が2種類あることは、IDを文字列として扱うコードに影響します。次のような書き方が壊れやすいパターンです。
- 末尾8桁を日付とみなして切り出す
-v1の有無でモデル世代を判定する- 日付なしIDを「エイリアスだから将来は別モデルになる」と扱う
IDの形式を判定するなら、両方の書式を受け付ける検査にしておくと世代をまたいで使えます。次は、公式の書式定義に沿った検査の一例です(検証用のたたき台で、実際に使えるモデルIDの一覧とは別物です)。
import re
# 4.6世代以降: claude-{name}-{major}[-{minor}]
DATELESS = re.compile(r"^claude-[a-z]+-\d+(-\d+)?$")
# 4.6世代より前: claude-{name}-{major}-{minor}-{YYYYMMDD}
DATED = re.compile(r"^claude-[a-z]+-\d+-\d+-\d{8}$")
def is_valid_claude_id(model_id: str) -> bool:
return bool(DATELESS.match(model_id) or DATED.match(model_id))この DATELESS は、4.6世代より前のエイリアスにも一致します。claude-sonnet-4-5 も claude-haiku-4-5 も、形式だけ見れば日付なしIDと同じ形だからです。正規表現では両者を区別できません。区別するには、{major}-{minor} が4-6以上かどうかを別に見ます。4-6以上の日付なしIDは固定スナップショットで、それより前の日付なしはエイリアスです。解決先まで確かめたいときは、Models APIで実際に返るIDと照らします。
形式が合っていても、存在するモデルとは限りません。実際に使えるモデルの確認には、Claude APIのModels APIが使えます。レスポンスには max_input_tokens、max_tokens、capabilities オブジェクトが含まれ、利用可能なモデルごとの能力とトークン上限をコードから取得できます。
設定ファイルにモデルIDを書くときの注意は3つです。
- 日付なしIDは、そのまま固定IDとして書いてよい
- 4.6世代より前のモデルを固定したいときは、エイリアスでなく日付つきIDを書く
- Bedrockでは
anthropic.の接頭辞を付け、Opus 4.6だけ-v1を付ける
Claude Codeで is not a recognized model id が出たときの切り分けは、「is not a recognized model id」の意味と対処に書いています。
現行のモデルIDを4つ並べる
公式のモデル比較表に載っている4モデルのIDは次のとおりです。
| モデル | Claude API ID | Amazon Bedrock ID | Google Cloud ID |
|---|---|---|---|
| Claude Fable 5.1 | Claude API IDclaude-fable-5-1 | Amazon Bedrock IDanthropic.claude-fable-5-1 | Google Cloud IDclaude-fable-5-1 |
| Claude Opus 5.5 | Claude API IDclaude-opus-5-5 | Amazon Bedrock IDanthropic.claude-opus-5-5 | Google Cloud IDclaude-opus-5-5 |
| Claude Sonnet 5.5 | Claude API IDclaude-sonnet-5-5 | Amazon Bedrock IDanthropic.claude-sonnet-5-5 | Google Cloud IDclaude-sonnet-5-5 |
| Claude Haiku 4.5 | Claude API IDclaude-haiku-4-5-20251001 | Amazon Bedrock IDanthropic.claude-haiku-4-5 | Google Cloud IDclaude-haiku-4-5@20251001 |
Haiku 4.5だけが4.6世代より前のため、Claude API IDに日付が付きます。エイリアスは claude-haiku-4-5 です。Bedrock IDは、比較表では anthropic.claude-haiku-4-5 と載っています。
なお、比較表のBedrock IDは、BedrockのMessages-APIエンドポイントでのIDです。対象はClaude Opus 4.7以降とClaude Haiku 4.5で、BedrockのInvokeModel連携でしか提供されないモデルは、そのIDが表示されます。
Microsoft Foundryのデプロイは、既定でClaude APIのモデルID(エイリアスがあればエイリアス)を使い、リクエストで送るのはデプロイ名です。Claude Platform on AWSは、Bedrock形式ではなくClaude APIのモデルIDを使います。
Claude Codeのopus / sonnetは追従するエイリアス
Claude Codeで /model opus や --model sonnet と書くときの opus、sonnet、haiku は、APIの固定IDとは性質が逆です。モデル設定のドキュメントによると、これらのエイリアスは「最新のモデル」を指し、時間とともに更新されます。default は別物で、モデルの指定を取り消して、アカウントの実行時の既定に戻す特別な値です。
| 書き方 | 使う場所 | 指す先 |
|---|---|---|
claude-sonnet-5-5 | 使う場所API・Claude Code | 指す先固定スナップショット |
sonnet | 使う場所Claude Code | 指す先最新のSonnet(動く) |
default | 使う場所Claude Code | 指す先指定を外した既定(動く) |
指す先はプロバイダーでも変わります。Anthropic APIでは opus がOpus 5.5、sonnet がSonnet 5.5に解決されますが、BedrockやGoogle Cloudでは sonnet がSonnet 4.5になります。同じ sonnet でも、接続先によって別のモデルが動くわけです。
Claude Codeで固定したいときは、claude-opus-5-5 のような完全なモデル名を書くか、ANTHROPIC_DEFAULT_OPUS_MODEL のような環境変数で解決先を指定します。「日付なしは固定」という読み方は、claude- で始まるモデルIDに限った話で、エイリアスの opus や sonnet には当てはまりません。
よくあるつまずき
| 症状 | 原因 | 対処 |
|---|---|---|
| Opus 4.6のBedrock IDだけ通らない | 原因-v1 を外して指定した | 対処anthropic.claude-opus-4-6-v1 と書く |
| 4.5系で指す先が変わりうる不安がある | 原因エイリアス claude-sonnet-4-5 は最新の日付つきスナップショットを指す | 対処固定したいなら日付つきIDに切り替える |
| 日付なしIDが最新に追従すると思っていた | 原因エイリアスと取り違えた | 対処日付なしIDは固定スナップショット。新版は新IDで出る |
| 同じIDなのに出力の傾向が変わった | 原因配信基盤の更新の影響 | 対処評価用の入力で出力を比較し、公式の情報を確認する |
Claude Codeで sonnet を指定したら想定と別のSonnetが動いた | 原因エイリアスは最新を指し、Bedrockなどでは解決先が違う | 対処完全なモデル名か ANTHROPIC_DEFAULT_SONNET_MODEL で固定する |
正規表現が claude-sonnet-4-5 を日付なしIDとして通す | 原因4.6世代より前のエイリアスも同じ形になる | 対処major-minorが4-6以上かを別に判定する |
| Google CloudでIDが見つからない | 原因日付の区切りが @ であることを忘れた | 対処4.6世代より前は claude-haiku-4-5@20251001 の形で書く |
まとめ
日付のないモデルIDは、更新に追従する名前ではなく、固定スナップショットそのものです。改良版は新しいIDで出るので、今のIDが黙って別のモデルに入れ替わることはありません。
一方で、固定の保証がかかるのはIDで、エイリアスには及びません。Bedrockでは anthropic. の接頭辞が付き、-v1 が付くのはOpus 4.6が最後です。IDが同じでも配信基盤の更新で挙動が少し動くことがあるため、再現性が要る処理では出力の比較を運用に組み込んでおくと、変化の原因を切り分けやすくなります。