入力 0.75ドル / 出力 3.75ドル の軽量モデルで、マイクラ風のワールドが歩けて、3Dの鬼ごっこも遊べるところまで来た。ただし得意と不得意ははっきり割れる。同じ7課題を 3.8 と 3.7 に同条件で投げて、計14本を全部操作した記録。
Google が Gemini 3.8 Flash と 3.8 Flash Cyber を同時に公開した。3.7 Flash からわずか3週間、3.6 Flash から数えると6週間で3本目の Flash になる。ただし Cyber の方は Fairwind と呼ばれる限定プログラム経由でしか使えないので、この記事では 3.8 Flash を扱う。
先に公平な話をしておく。公式の比較表は16項目あり、そのうち7項目で 3.8 Flash が全モデル中1位だった。金融エージェント、法務エージェント、複雑なグラフの読解、長い動画の理解、専門家レベルの推論、生物学の難問、実務的な研究タスク。いずれも実務に近い領域で首位に立っている。
しかも単価は Opus 5 の約6.7分の1(入力 0.75ドル 対 5.00ドル、出力 3.75ドル 対 25.00ドル)。この値段でこの守備範囲というのは、素直に強い。
見出しでよく引かれているのが Terminal-bench 2.1 だ。ここでは 3.8 Flash が 89.4% で、Opus 5 の 89.1% をわずかに上回る。ところが同じ表のすぐ下の行を見ると、話がまるで違う。
| ベンチマーク | Gemini 3.8 Flash | Claude Opus 5 | 結果 |
|---|---|---|---|
| Terminal-bench 2.1(旧版) | 89.4% | 89.1% | 0.3ポイント差で勝ち |
| Terminal-bench 4.0(新版) | 19.1% | 51.8% | 約2.7倍の差で負け |
| OSWorld-2.0 | 59.0% | 75.4% | 負け |
| GDPVal-AA v2(Elo) | 1545 | 1824 | 負け |
ベンチが嘘だとは言わない。条件を全部書いてあるのはむしろ誠実だ。ただ、これだけ条件で動く数字なら、自分の仕事で確かめた方が早い。
検証コースの7課題を 3.8 と 3.7 に同条件で投げて、計14本のアプリを作らせた。出力上限64,000トークン・制限時間1,800秒・単価をすべて揃えてある。14生成すべて成功、失敗0。
課題は、2Dアクション / 企業サイト / 生WebGL2の3Dアクション / ボクセル / 対戦 / 転がし / 鬼ごっこ。いずれも単一のHTMLファイル1本で動くこと、外部アセット禁止、コード省略禁止、という条件つきだ。
ここから先は、動画では触れていない追試です。14本を実際に操作して壊れ方を追い、請求と速度についても仮説を立てて測り直しました。動画の続きとして読んでください。
起動時のコンソールエラーは14本とも0件。凍結もしない。課題で要求した仕様チェックリストも、どれも自己申告で提出されている。ここまでだと全部合格に見える。
実際に起動して動かしてみると、14本のうち3本が成立していなかった。
自動計測で、同じ開始操作と同じ入力を両方に与えた結果がこれ。
| モデル | 開始状態 | 開始前の座標 | 2.5秒後の座標 | 水平変位 |
|---|---|---|---|---|
| 3.8 Flash | RUNNING | (8.00, 14.00, 8.00) | (8.00, 14.00, -2.50) | 10.500 |
| 3.7 Flash | PLAYING | (8.00, 22.00, 8.00) | (8.00, 22.00, 8.00) | 0.000 |
出典:本記事による実測(2026-09-04・puppeteer で自動操作)
3.7 は高さ22のまま落下すらしない。地面に立っているのではなく、ブロックの中に埋まっていて全方向が壁になっている状態だ。コンソールエラーは0件のまま。
これはコードを読むと理由がはっきりする。
// 1048行 updatePhysics の冒頭
updatePhysics() {
if (this.hitStop > 0) { this.hitStop--; return; } // ← 硬直中はここで抜ける
...
// 1122行 同じ updatePhysics の中
hb.duration--; // ← ヒットボックスの寿命。硬直中は減らない
}
// 1492行 resolveCombat(毎フレーム走る)
attacker.hitStop = hb.isHeavy ? 6 : 2; // ← 止まったままの重なりを再検出して再設定ヒットボックスの寿命を減らす処理が updatePhysics() の中にあり、その関数の冒頭で硬直中は return している。つまり硬直を解除するはずの処理が、硬直そのものによって止まっている。多段ヒットを防ぐフラグも無いので、止まったままの同じ重なりが毎フレーム再検出され、硬直が何度でも設定し直される。自力では抜けられない。
// 1406行 const prevY = p.y - this.vel.y * 0.016; // 60Hz の実際の dt は 0.016667
60Hz の実際の dt は 0.016667。定数 0.016 で前フレームの位置を逆算しているので、実際に移動した区間より短くしか調べない。速度が乗った瞬間に床をまたいで、判定が空振りする。0.0007 の差で成立しなくなる。
3件に共通しているのは、起動した時点では何も起きていないことだ。
| いつ分かるか | どの不具合か |
|---|---|
| 入力するまで | ボクセル × 3.7 が一歩も動けない。起動画面は正常に出る |
| 当てるまで | 対戦 × 3.8 が永久停止。初撃を当てるまで何も起きない |
| 速度が乗るまで | 対戦 × 3.7 が床を抜ける。止まっている間は正常 |
エラーは、異常が起きたときに出るものだ。何も起きずに止まっているとき、コンソールは何も言わない。
正直に書いておく。この検証には仮説を持って入った。Google 公式は複雑なタスクでより多くのトークンを使うことがあると書いているし、第三者ベンチでも同じ評価一式で出力トークンが 64M から 120M へ、実費が約70%増えていた。だから請求が増えるはずだと思っていた。
| 指標 | Gemini 3.8 | Gemini 3.7 | 比 |
|---|---|---|---|
| 出力トークン(7課題) | 140,314 | 141,444 | 0.99倍 |
| 費用 | 0.5314ドル | 0.5355ドル | 0.99倍 |
| 出力トークン(追試) | 60,931 | 63,376 | 0.96倍 |
出典:本記事による実測(2026-09-04)
増えなかった。7課題のうち5課題は 3.8 の方がむしろ少ない。理由ははっきりしていて、ワンショットのHTML生成は出力の90〜99%が成果物の本文だからだ。思考が何倍になっても、本文が9割を占める仕事では請求にほとんど効かない。
次に、1回目の計測では時間が1.60倍かかっていたので、3.8 は遅いのだと思った。念のため同じ課題を2巡し直した結果がこれ。
| 課題 | 巡 | 3.8 秒 | 3.7 秒 | 秒比 |
|---|---|---|---|---|
| 2Dアクション | 1 | 69 | 126 | 0.55 |
| 2Dアクション | 2 | 76 | 87 | 0.87 |
| 転がし | 1 | 145 | 69 | 2.09 |
| 転がし | 2 | 94 | 86 | 1.10 |
| 合計 | 384 | 368 | 1.04 |
出典:本記事による実測(2026-09-04・追試)
消えた。同じ課題・同じ条件で 0.55倍から 2.09倍までブレる。ブレ幅が効果より大きいので、速い遅いは判定できない。第三者ベンチの公表値(出力速度 305.5 対 300.9 tok/s)とも整合する。1回測って速い遅いを言ってはいけないという実例そのものになった。
面白いのはここで、3.8 の方が出力トークンは少ないのに、7課題中4課題で作り込みは 3.8 が上だった。2Dアクション、生WebGL2、ボクセル、鬼ごっこ。企業サイトは 3.7 の方が厚く、対戦と転がしは互角。
消費を自分で下げたいなら、思考レベルの指定が唯一すぐ効く。答えが1文字にしかならない質問を投げて、レベルだけを変えて実測した結果が次の通り。
curl -s "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.8-flash:generateContent?key=$GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{"parts": [{"text": "2+3の答えだけ数字で書いて"}]}],
"generationConfig": {"thinkingConfig": {"thinkingLevel": "low"}}
}' | python3 -m json.tool| 思考レベル | 答え | 思考 | 合計 |
|---|---|---|---|
| low | 1 | なし | 10 |
| medium(既定) | 1 | 52 | 62 |
| high | 1 | 61 | 71 |
| minimal | — | — | エラーで使えない |
出典:本記事による実測(Gemini API・2026-09-04)
答えはどれも同じ1文字なのに、既定のままだと62トークン、low なら10トークン。6.2倍の差がつく。ただし効くのは短い応答を大量に回す用途だけで、長文生成では本文が9割なので効かない。
curl -s "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.8-flash:generateContent?key=$GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{"parts": [{"text": "2+3の答えだけ数字で書いて"}]}],
"generationConfig": {"thinkingConfig": {"thinkingLevel": "minimal"}}
}' | python3 -m json.tool400 Thinking level MINIMAL is not supported for this model. Please retry with other thinking level.
3.7 以前の感覚で minimal を指定していると、そのままでは動かない。対処は low に置き換えるだけで済む。
0.75ドル / 3.75ドル は導入価格で、2026年12月31日まで。2027年1月1日から 1.50ドル / 7.50ドル へ倍になることが、公式の価格表にも比較表の脚注にも明記されている。
| 仕事の種類 | 選ぶもの | 理由 |
|---|---|---|
| 短い応答を大量に回す定型処理 | 3.8 を low で | 3世代でいちばんトークンが少ない |
| 推論やツール操作を重ねるエージェント | 3.8 | 公式16項目の首位はこの領域 |
| 一発で長い成果物を書かせる用途 | 3.8 でよい | 請求は同じで、作り込みは 3.8 が上 |
| 最難関のエージェント処理 | 上位モデル | Terminal-bench 4.0 は 19.1% 対 51.8% |
どのモデルを選んでも、動かして確かめる工程は省けない。