国家試験アプリのAI解説、正答率が改善した 〜WEB版AIとAPIの「実力差」の正体〜

国家試験の過去問アプリにAIによる解説を付けています。解説の生成にはGoogleのGemini APIを使っているのですが、ずっと不思議に思っていたことがありました。

「ブラウザで使う無料版のAIのほうが、APIより明らかに賢い」

同じ問題を投げても、WEB版(GeminiアプリやPerplexityなど)は正解するのに、APIだと間違える。APIは有料なのに、なぜ無料のWEB版に負けるのか? 今回その理由を調べて対策したところ、正答率が改善したので、経緯をまとめます。


WEB版が賢く見える3つの理由

調べてわかったのは、「WEB版のAIが特別賢い」のではなく、WEB版は3つの装備を標準でフル装備しているということでした。

① モデルの世代が新しい

WEB版の無料AIは、実は最新世代のモデルで動いています。私がAPIで指定していたのは1〜2世代前のモデルでした。APIは自分でモデル名を指定する方式なので、意識して更新しないと古いままです。

② 「考える時間」が最初からON

最近のAIには「thinking(思考)」という機能があります。答えを出す前に、裏側で下書きのような推論をしてから回答する仕組みです。WEB版はこれが最初から有効。一方APIでは、コスト節約のために私がこの機能をOFFにしていました。人間でいえば「即答縛り」で試験を解かせていたようなものです。

③ 検索で裏取りしている

WEB版はインターネット検索を組み合わせて、法令や数値を確認しながら答えます(グラウンディングと呼ばれる機能です)。国家試験は法令・規格・数値の正確さが命なので、これの有無は正答率に直結します。APIでは、設定しない限り検索は使われません。

つまり「無料版のほうが賢い」のではなく、**「無料版はフル装備、私のAPIは軽装備」**だっただけでした。


対策:安く回して、ダメなときだけフル装備

3つ全部を常時ONにすれば正答率は上がりますが、料金も上がります。特に検索機能は問題数が多いと高くつきます。そこで2段構えにしました。


1回目:新しいモデル+思考は軽めで回す(安い)

2回目:1回目で不正解だった問題だけ、思考を強め+検索ONで再挑戦(高いが対象は少数)


私のアプリでは、AIの回答をプログラム側で正答データと照合し、間違っていたら解説として採用しない仕組みを最初から入れています。この「不合格判定」をそのまま再挑戦のトリガーに流用できたので、改修はわずかでした。


落とし穴:検索付きの回答は「保存」に制限があった

ところが、これで完成と思ったところで規約の壁に当たりました。

Gemini APIの検索機能(グラウンディング)で生成した回答には、保存期間の制限があったのです。規約上、検索を使って生成されたテキストを保存できるのは限られた目的・期間だけで、アプリに恒久的に収録して配布する使い方は想定されていませんでした。「検索で裏取りした高品質な解説を保存する」という当初のもくろみは、そのままでは規約に抵触するおそれがあります。

そこで最終形は3段構えにしました。


1回目:検索なし・思考軽めで生成 → 合格ならそのまま保存

2回目:不合格の問題だけ検索ONで再挑戦 → ただしこの回答は保存せず、「AIがこの問題を正解できるか」の検証にだけ使って破棄

3回目:2回目を通過した問題だけ、検索なし・思考強めで保存用に再生成


ポイントは2回目の使い方です。検索付きの回答は「答え合わせの試験官」としてだけ働いてもらい、アプリに収録する解説文は必ず検索なしの生成結果に限定する。こうすることで、保存制限のある検索由来のテキストは一切アプリに残らず、正答率向上の恩恵だけを受け取れます。

追加コストは、3段目に進む一部の問題の再生成分だけなので、500問あたり数十円程度の増加で済みました。


移行時に引っかかった点

temperature(回答のブレ幅設定)を0にしてはいけない世代がある。 昔は「毎回同じ答えにしたいならtemperature=0」が定石でしたが、新世代のモデルでは逆に性能が落ちたり回答がループしたりすると公式が警告しています。設定を消してデフォルトに任せるのが正解でした。

回答が途中で切れているのに「不正解」扱いしていた。 出力の上限トークン数に達すると回答が途中で切れます。切れた回答は当然照合に失敗するので、AIが間違えたのか、単に尻切れなのか、レスポンスの終了理由(finishReason)を見て区別する必要がありました。


まとめ


・WEB版無料AIが賢いのは、モデル・思考・検索の「装備差」

・APIでも同じ装備は付けられる。ただし常時フル装備は高い

・検索機能で生成した回答には保存制限がある。「検証に使って破棄、保存分は検索なしで再生成」の3段構えで両立できる


料金だけでなく、生成した回答を「どこまで保存・配布してよいか」は機能ごとに規約が違います。API組込みで何かを配布する方は、モデル本体の規約だけでなく、検索などの付加機能の条項も確認することをおすすめします。

※本記事は執筆時点の規約・価格に基づきます。最新の条件は各公式ドキュメントをご確認ください。


追記

今回の改修は、Fable 5にやってもらいました。この記事も、(恐る恐る)Fable 5に書いてもらいました。Pro版を利用しておりFable 5でのチャットは1回で10%程度トークンを消費していましたが、これは2%程度で済みました(汗)。Come back to the Pro version, Fable 5!