【速報】Claude Sonnet 5のReact習熟度はOpus 4.8に匹敵
皆さんこんにちは。最近の熱いニュースといえばClaude Fable 5の復活ですが、時をほぼ同じくしてSonnet 5というバージョンも出ています。
仕事で少しSonnet 5を使ってみましたが、いろいろなことに気を回してくれるようになったもののSonnetの強みであるコスパの良さが若干薄れた印象も持っています。
それはさておき、いつものように、Claude Sonnet 5のReact習熟度ベンチマークを行ったので、結果を共有します。
前回の記事はこちらです。
結果
結果として、Sonnet 5はOpus 4.8とほぼ同水準のスコアを出しました。Sonnet 5の平均スコアは78.21、Opus 4.8 defaultの平均スコアは79.38で、差はわずか-1.17です。実験を担当したClaudeによれば、この差は誤差の範囲内である可能性があります。
ちなみに、Sonnet 4.6のスコアは66.5だったため、Sonnet同士の比較では+11.7という跳躍を見せています。
以下の表はSonnet 5, Opus 4.8, ついでにFable 5のスコアを比較したものです。effortは全てhighです。
| スペック | Sonnet 5 | レンジ | Opus 4.8 | Fable 5 | Δd |
|---|---|---|---|---|---|
| 001 イベント登録フォーム | 91.3 | 90–94 | 91.7 | 94.0 | −0.3 |
| 002 データダッシュボード | 80.3 | 80–81 | 81.3 | 89.0 | −1.0 |
| 003 クイズビルダー | 71.0 | 69–75 | 80.7 | 81.7 | −9.7 |
| 004 ユーザープロフィール閲覧 | 70.3 | 69–73 | 72.7 | 75.0 | −2.3 |
| 005 システムステータス監視 | 74.0 | 68–83 | 72.0 | 80.3 | +2.0 |
| 006 通知アクティビティフィード | 65.7 | 64–67 | 70.3 | 67.7 | −4.7 * |
| 007 SNSフィード | 76.7 | 72–81 | 79.7 | 78.7 | −3.0 |
| 008 フォームアクション | 72.0 | 67–77 | 76.0 | 74.3 | −4.0 |
| 009 再利用コンポーネント | 77.7 | 76–81 | 82.7 | 75.3 | −5.0 |
| 010 ツリーファイルエクスプローラ | 71.7 | 66–76 | 70.7 | 77.7 | +1.0 |
| 011 ツールチップ/ポップオーバー | 82.7 | 81–86 | 80.3 | 79.0 | +2.3 |
| 012 マルチタブエディタ | 93.3 | 92–96 | 92.0 | 92.7 | +1.3 |
| 013 設定画面Undo/Redo | 90.0 | 90–90 | 82.0 | 92.0 | +8.0 * |
| 13スペック平均 | 78.21 | — | 79.38 | 81.33 | −1.17 |
Opus 4.8と顕著な差が付いているのはスペック006と013の2つで、スペック013に関してはOpus 4.8を明らかに凌駕し、Fable 5に迫る結果となっています。
カテゴリ別スコアはこのようになっています。
| カテゴリ | 4.8 high | Sonnet 5 | Fable 5 | 4.8 max |
|---|---|---|---|---|
| 状態設計 | 4.56 | 4.54 | 4.69 | 4.74 |
| Effect衛生 | 4.10 | 3.97 | 4.28 | 4.33 |
| コンポーネント設計 | 3.67 | 3.87 | 3.77 | 4.21 |
| TypeScript品質 | 4.82 | 4.74 | 4.79 | 4.82 |
| パフォーマンス意識 | 3.67 | 3.67 | 3.79 | 4.00 |
| アクセシビリティ | 3.59 | 3.33 | 3.74 | 3.74 |
特に、コンポーネント設計のスコアがFable 5を上回っている点が注目されます。それ以外はOpus 4.8と同等かやや低いスコアを示していますが、アクセシビリティの低さもやや目立ちます。
考察
スペック006と013の結果はとても示唆的で、Sonnet 5のスコアの傾向がFable 5と似た傾向を示しています。そのため、Sonnet 5はFable 5に近い性質を持つモデルであると考えられます。
また、後述の生レポートを見ると、新しいReact APIの採用情報についても<Context>短縮記法の採用が見られるなど、Fable 5と似た傾向を示しています。また、初めてuseIdの採用が観測されたようです。
また、スペック008で3回試行して1回も型チェックが通らないという事象が発見されたようで、複雑な設計を一発で決める力がOpus・Fableよりも劣る可能性を示しています。
ちなみに、生レポートではSonnet 5のコスト効率について良好と述べており、確かにusageの消費という点では良好でした。しかし、Sonnet 4.6に比べるとベンチマークにかかった時間がかなり長く(1スペック15分程度)、時間効率については疑問が残る結果となっています。
React Profession Bench 第9回レポート: Claude Sonnet 5 — 新世代ミドルティアは前世代フラッグシップに届くか
実施日: 2026年7月1日
評価対象: Claude Sonnet 5(新規・新世代ミドルティア、default effort、n=3)
比較対象: Claude Opus 4.8 default(第6回、n=3)/Claude Fable 5(第8回、n=3)/Claude Opus 4.8 max(第7回、n=3)
評価者モデル: Claude Sonnet 4.6(過去全レポートと同一)
スペック数: 13
サンプル数: n=3(計39スペック分)。同一評価者・同一スペックで、モデルだけを変えた対照である。
概要
2026年7月にリリースされた新世代 Claude Sonnet 5 を、既存13スペックで n=3 評価した。Sonnet 5 は Opus・Fable の下に位置するミドルティアであり、本稿の問いは一つに尽きる——新世代のミドルティアは、前世代のフラッグシップ(Opus 4.8)default にどこまで迫れるか。
結論を先に述べる。Sonnet 5(78.21)は Opus 4.8 default(79.38)と実質的に同水準に着地した(Δ −1.17、サンプルレンジは重複=ノイズの範囲)。 ミドルティアが1世代で前世代最強の default タイに並んだことになる。
- 13スペック平均は Opus 4.8 default 79.38 に対し Sonnet 5 78.21(Δ −1.17)。両者のサンプルレンジ(Sonnet 5: 77.2–79.4/Opus 4.8 def: 76.3–81.6)は大きく重なり、この差は統計的に有意ではない。
- 前世代の同ティア Sonnet 4.6(66.5、n=1)からは +11.7 の大跳躍。この1本の世代交代で、Sonnet は Opus 4.6(70.2)・GPT-5.4(71.5)・Opus 4.7(75.7)を一気に飛び越えた。
- 一方 Fable 5(81.33)に −3.1、Opus 4.8 max(84.03)に −5.8。上位ティア/高 effort には届かない。
- 全モデル順位では Opus 4.7 < Sonnet 5 < Opus 4.8 default の位置に、Opus 4.8 default とほぼ重なって入る。
つまり本稿の像は「Sonnet 5 は前世代フラッグシップの default を、ミドルティアのコストで再現した」である。世代交代の主役は今回、伸び幅の絶対値(+11.7)で語られる。
サンプル別総合スコア(Sonnet 5, n=3)
| 試行 | 平均スコア | 備考 |
|---|---|---|
| s1 | 78.08 | 13スペック完走 |
| s2 | 79.38 | 13スペック完走 |
| s3 | 77.15 | 13スペック完走 |
| n=3 平均 | 78.21 | スペックごとの平均を13本平均した値 |
サンプル間は 77.2〜79.4 と非常に安定している(レンジ幅 2.2)。Opus 4.8 default(76.3〜81.6)や Fable 5(79.9〜82.3)よりブレが小さく、Sonnet 5 は「安定して中位上」を出すタイプである。
総合スコア比較(n=3)
Sonnet 5 は s1/s2/s3 の内訳とレンジ、Opus 4.8 default / Fable 5 は n=3 平均。Δd は Opus 4.8 default との差。* は default とレンジが重ならない(ノイズでは説明できない)差。
| スペック | Sonnet 5 s1/s2/s3 | 平均 | レンジ | 4.8 def | Fable 5 | Δd |
|---|---|---|---|---|---|---|
| 001 イベント登録フォーム | 90 / 90 / 94 | 91.3 | 90–94 | 91.7 | 94.0 | −0.3 |
| 002 データダッシュボード | 80 / 80 / 81 | 80.3 | 80–81 | 81.3 | 89.0 | −1.0 |
| 003 クイズビルダー | 69 / 69 / 75 | 71.0 | 69–75 | 80.7 | 81.7 | −9.7 |
| 004 ユーザープロフィール閲覧 | 69 / 69 / 73 | 70.3 | 69–73 | 72.7 | 75.0 | −2.3 |
| 005 システムステータス監視 | 68 / 71 / 83 | 74.0 | 68–83 | 72.0 | 80.3 | +2.0 |
| 006 通知アクティビティフィード | 64 / 66 / 67 | 65.7 | 64–67 | 70.3 | 67.7 | −4.7 * |
| 007 SNSフィード | 72 / 77 / 81 | 76.7 | 72–81 | 79.7 | 78.7 | −3.0 |
| 008 フォームアクション | 67 / 72 / 77 | 72.0 | 67–77 | 76.0 | 74.3 | −4.0 |
| 009 再利用コンポーネント | 76 / 76 / 81 | 77.7 | 76–81 | 82.7 | 75.3 | −5.0 |
| 010 ツリーファイルエクスプローラ | 66 / 73 / 76 | 71.7 | 66–76 | 70.7 | 77.7 | +1.0 |
| 011 ツールチップ/ポップオーバー | 81 / 81 / 86 | 82.7 | 81–86 | 80.3 | 79.0 | +2.3 |
| 012 マルチタブエディタ | 92 / 92 / 96 | 93.3 | 92–96 | 92.0 | 92.7 | +1.3 |
| 013 設定画面Undo/Redo | 90 / 90 / 90 | 90.0 | 90–90 | 82.0 | 92.0 | +8.0 * |
| 13スペック平均 | 78.08 / 79.38 / 77.15 | 78.21 | — | 79.38 | 81.33 | −1.17 |
レンジが完全分離した真の差は2本のみ——勝ち1本(013)、負け1本(006)。総合 −1.17 という僅差にふさわしく、大半のスペックは Opus 4.8 default と統計的に見分けがつかない。013 の +8.0 が 003 の −9.7 とほぼ相殺し、平均を default タイまで押し上げている。
カテゴリ別平均の変化(n=3、各39スペック分)
| カテゴリ | 4.8 def | Sonnet 5 | Fable 5 | 4.8 max |
|---|---|---|---|---|
| 状態設計 | 4.56 | 4.54 | 4.69 | 4.74 |
| Effect衛生 | 4.10 | 3.97 | 4.28 | 4.33 |
| コンポーネント設計 | 3.67 | 3.87 | 3.77 | 4.21 |
| TypeScript品質 | 4.82 | 4.74 | 4.79 | 4.82 |
| パフォーマンス意識 | 3.67 | 3.67 | 3.79 | 4.00 |
| アクセシビリティ | 3.59 | 3.33 | 3.74 | 3.74 |
このカテゴリ表が Sonnet 5 の性格を最もよく表している。Opus 4.8 default とほぼ拮抗しつつ、得意・不得意の分布がずれている。
- コンポーネント設計(3.87)は Opus 4.8 default(3.67)を上回り、Fable 5(3.77)すら超える。Sonnet 5 の唯一の明確な地力の勝ちどころ。中位ティアながら分解の筋は良い。
- 状態設計(4.54)・パフォーマンス(3.67)は default と実質同値。ここは世代・ティアで動かない安定領域。
- アクセシビリティ(3.33)が全比較モデル中で最低。default(3.59)にも Fable 5(3.74)にも届かない。Sonnet 5 の最大の弱点はここで、後述の 008 コンパイル不成立とあわせ「作り込みの丁寧さ」で一段落ちる傾向を示す。
- TypeScript品質(4.74)・Effect衛生(3.97)も default をわずかに下回る。総合 −1.17 は、コンポーネント設計での貯金(+0.20)を、アクセシビリティ(−0.26)・Effect(−0.13)・TS(−0.08)で吐き出した結果である。
Sonnet 5 が「効く」スペック・「効かない」スペック
伸びた:
-
013 設定画面Undo/Redo(+8.0、レンジ完全分離): 最大かつ唯一の明確な勝ち。しかも 90/90/90 と3サンプル完全一致という異例の安定度で、default(80–84)と隙間なく分離した。013 は「Undo/Redo の状態モデリング+モダン React イディオム」の試験であり、Fable 5 が第8回で唯一 max を超えた得意スペックでもある。新旧ティアを問わず、Claude 新世代はこの領域で強い——Sonnet 5 も例外ではなく、
useSyncExternalStore・Context 短縮記法系の最新イディオムをミドルティアの価格で通した。 -
011 ツールチップ(+2.3)・005 監視(+2.0)・012 マルチタブ(+1.3) も default を上回ったが、いずれもレンジが接しており「完全分離」には至らない。011 では
useIdを採用しているのが目を引く。
伸びなかった・後退した:
- 003 クイズビルダー(−9.7): 最大の後退。ただし 69/69/75 と s3 だけ跳ねており、レンジ(69–75)は default(75–84)と点(75)で接するため「完全分離」ではない。とはいえ 3本中2本が 69 に沈んでおり、ブレというより低位傾向である。Sonnet 5 がこの中規模フォーム系スペックを苦手とするのは 004・008 の後退とも整合する。
- 009 再利用コンポーネント(−5.0): 第8回で Fable 5 も落とした難所(Fable 75.3)。Sonnet 5 は 77.7 とむしろ Fable 5 を上回るが、Opus 4.8 default(82.7)には届かない。後述のとおり、この系統(再利用抽出・フォームアクション)の最重要シグナルであるモダン API を Sonnet 5 も採用できていない。
- 006 通知フィード(−4.7、レンジ完全分離): 小幅だが明確な後退。default(70–71)と分離した唯一の負けスペック。
- 008 フォームアクション(−4.0、全3サンプルでコンパイル不成立): 次節で詳述する、Sonnet 5 の最も具体的な弱点。
信頼性の傷: 008 フォームアクションの全滅コンパイル不成立
Sonnet 5 で最も具体的かつ再現性のある問題が 008 に出た。3サンプルすべてが compiles: false(TypeScript 型チェック不成立)である。他の12スペックは全て型チェックを通過しており、008 だけが全滅した(スコアには compiles を直接加点しない設計のため 67–77 は付いているが、これは「動かないコードに対する設計評価」であり額面どおりには読めない)。
原因は API 選択にある。008 は React 19 のフォームアクション(useActionState + <form action>/useFormStatus)を最も直接に問うスペックだが、Sonnet 5 は3サンプルとも useActionState/useFormStatus/action={} を一切使わず、旧来の制御コンポーネント+手書き async function handleSubmit(e: FormEvent) +手動 pending 管理で実装した。第8回で Opus 4.8・Fable 5 がともに 008 で useActionState を採用していたのと対照的である。
手書きの非同期フォーム制御は状態と型の配線が増え、型不整合を持ち込みやすい。**「モダン API を避けて手書きに倒す → 配線が破綻して型が通らない」**という因果が、008 全滅の最も素直な説明である(本稿は正確な型エラー箇所までは追っていないが、3/3 の再現性と API 不採用の同時発生は十分に示唆的だ)。この傾向は 003・004・009 の後退とも一貫し、Sonnet 5 は「モダン React API の採用判断」でミドルティアらしい一段の弱さを見せる。
新 React API の採用状況(Sonnet 5 対 前世代)
各モデルの生成ソースを横断 grep し、**新しい React API を「13スペック中いくつで採用したか」**をスペック単位で数えた。
| API(採用スペック数 / 13) | Sonnet 5 | Fable 5 | Opus 4.8 def | Opus 4.8 max |
|---|---|---|---|---|
useDeferredValue |
1(002) | 1(002) | 1(002) | 1(002) |
useSyncExternalStore |
2(005, 011) | 2(005, 013) | 1(005) | 1(005) |
useId |
1(011) | 0 | 0 | 0 |
<Context value> 短縮記法(R19) |
採用(複数) | 1(013) | 0 | 0 |
useActionState |
0 | 1(008) | 1(008) | 1(008) |
useTransition |
0 | 0 | 0 | 0 |
useOptimistic / useFormStatus / use()
|
0 | 0 | 0 | 0 |
二つの事実が読み取れる。
-
Sonnet 5 は「構文的な」最新イディオムには積極的。
useSyncExternalStoreを2スペックで、useIdを(比較モデル中唯一)採用し、Context 短縮記法も広く使う。013 の勝因はここにある。ミドルティアだが「新しい書き方」は素直に身についている。 -
一方、振る舞いを変える高価値 API では前世代フラッグシップに劣後する。とりわけ
useActionStateを1本も採用せず(Opus 4.8・Fable 5 は 008 で採用)、これが 008 全滅の直接要因になった。useTransition/useOptimistic/useFormStatus/use()が全モデル共通の死角である点は第8回から不変だが、Sonnet 5 はそこにuseActionStateの不採用が一つ加わるぶん、フォームアクション系で余計に取りこぼす。
(注: n=3・13スペックでの1スペック差であり、統計的に強い差ではなく「一貫した傾向」として読むべきである。)
全モデル順位への位置づけ
Haiku 4.5 (61.4) < Sonnet 4.6 (66.5) < Opus 4.6 (70.2) < GPT-5.4 (71.5)
< Opus 4.7 (75.7, n=3) < Sonnet 5 (78.2, n=3) ≈ Opus 4.8 default (79.4, n=3)
< Fable 5 (81.3, n=3) < Opus 4.8 max (84.0, n=3)
Sonnet 5(78.21)は Opus 4.8 default とほぼ重なり、その直下に入る。 新世代ミドルティアが、わずか数か月前の最強 default とタイに並んだ格好である。
この位置づけの含意は、絶対順位より世代内ジャンプの大きさにある。前世代 Sonnet 4.6 は 66.5 で、Opus 4.6(70.2)にも GPT-5.4(71.5)にも届かない下位だった。それが Sonnet 5 で +11.7 跳ね、一気に Opus 4.7(75.7)・Opus 4.8 default(79.4)の帯へ移動した。第8回で測った「4.8 → Fable 5」の世代前進(+1.95)や「4.7 → 4.8 default」(+3.67)と比べても、今回のティア内跳躍 +11.7 は桁違いに大きい。フラッグシップの伸びしろが逓減する一方、ミドルティアはまだ大きく伸びる余地を持っている——というのが、本ベンチが捉えた今世代の構図である。
コスト効率の注記
Sonnet は Opus・Fable より大幅に軽量で、本実験の n=3(39スペック)も比較的順調に消化できた(実行中に host のスリープ由来の長い中断が複数回あったが、これは usage limit ではなく、scores の逐次書き出しと --resume で無損失に回収された)。
品質とコストを重ねると、Sonnet 5 の費用対効果は本ベンチで極めて良好である:
- 対 Opus 4.8 default: 大幅に低いコストで、スコアは実質同値(−1.17、ノイズ内)。
- 対 Fable 5: Fable 5 は Opus の約2倍消費して +3.1。Sonnet 5 はその一部のコストで、差を約3点に留める。
つまり「default 品質でよければ、Opus 4.8 や Fable 5 を回すより Sonnet 5 を回す方が、この13スペックでは費用対効果が圧倒的に良い」。ただし——008 の全滅コンパイル不成立が示すとおり、信頼性(型が通る保証)は Opus 系に一歩譲る。プロダクション用途では「安いが 008 系のフォームアクションで転ぶことがある」というトレードオフを織り込む必要がある。厳密なトークン・時間計測は本稿では行っていない。
今後の課題
-
008 コンパイル不成立の深掘り: 3/3 再現の型エラーを実際に追い、
useActionState不採用との因果を確定させる。Sonnet 5 の「モダン API 回避 → 型破綻」仮説を裏づけるか反証する価値がある。 - Sonnet 5 の高 effort 化: 本稿は default のみ。Opus 4.8 が max で +4.64 伸びた(コンポーネント設計中心)ことを踏まえると、Sonnet 5 も high/max effort で Fable 5 帯に届く可能性がある。ティアと effort の二軸を揃えるのが次の筋。
-
useActionState/useTransition死角スペックの追加: 008 の全滅と 009 の頭打ちは、いずれもモダン並行・アクション API の不採用に起因する。これらを明示的に問うスペックを足し、世代・ティアでいつ埋まるかを追う。 - 他モデルの n=3 化(継続課題): 順位表の Opus 4.6・GPT-5.4・Sonnet 4.6・Haiku 4.5 は依然 n=1。とりわけ本稿の主役の前世代 Sonnet 4.6(66.5)は n=1 であり、+11.7 の跳躍幅は n=3 で再確認したい。
Discussion