🎯

【速報】Claude Sonnet 5のReact習熟度はOpus 4.8に匹敵

に公開

皆さんこんにちは。最近の熱いニュースといえばClaude Fable 5の復活ですが、時をほぼ同じくしてSonnet 5というバージョンも出ています。

仕事で少しSonnet 5を使ってみましたが、いろいろなことに気を回してくれるようになったもののSonnetの強みであるコスパの良さが若干薄れた印象も持っています。

それはさておき、いつものように、Claude Sonnet 5のReact習熟度ベンチマークを行ったので、結果を共有します。

前回の記事はこちらです。

https://zenn.dev/uhyo/articles/react-profession-bench-8

結果

結果として、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 系のフォームアクションで転ぶことがある」というトレードオフを織り込む必要がある。厳密なトークン・時間計測は本稿では行っていない。

今後の課題

  1. 008 コンパイル不成立の深掘り: 3/3 再現の型エラーを実際に追い、useActionState 不採用との因果を確定させる。Sonnet 5 の「モダン API 回避 → 型破綻」仮説を裏づけるか反証する価値がある。
  2. Sonnet 5 の高 effort 化: 本稿は default のみ。Opus 4.8 が max で +4.64 伸びた(コンポーネント設計中心)ことを踏まえると、Sonnet 5 も high/max effort で Fable 5 帯に届く可能性がある。ティアと effort の二軸を揃えるのが次の筋。
  3. useActionState/useTransition 死角スペックの追加: 008 の全滅と 009 の頭打ちは、いずれもモダン並行・アクション API の不採用に起因する。これらを明示的に問うスペックを足し、世代・ティアでいつ埋まるかを追う。
  4. 他モデルの 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 で再確認したい。
GitHubで編集を提案

Discussion