Python(オセロ05_Geminiのモデルで動作比較)
■いろいろなモデルでの比較。
前回までで意図しない回答が出ても対処できるようなコードになったので、今回は特定の入力に対していくつかのモデルで動作確認する。
APIが使えそうなモデルは下のもの。

入力内容が次。
response = client.models.generate_content(
model=model_id,
contents=f"盤面: {board}, 置ける場所:{tempBlankList}",
config=types.GenerateContentConfig(
system_instruction=(
"あなたはプロのオセロ(リバーシ)プレイヤーです。あなたは●の手番です。"
"オセロ(リバーシ)のルールに従って、置ける場所から1つ指示してください。回答は[行,列]形式のみ(行は上からの何番目。列は左からの何番目とします)。例:[3,5]。"
"同じ盤面が入力された場合、前回と別の位置を回答して下さい。"
"置くところがないときはNoneを返却"
),
temperature=0.1,
),
)
結果として、最後までできたのはGemini 2.5 Flash, Pro, Gemini 3 Flash の3つだけだった。
Gemini 2 Flash, Flash liteは以前も見たけど、新規ユーザは使用できず(枠はあるけど既存ユーザに対するもののよう)。
Gemini 2.5 Flash Lite, 3.1 Flash Liteは、3度試したけど同じ置けない所を指し示すだけで次に進まない。いずれも50回ぐらい同じところ(置けない場所)を指したので断念。
Proは通常のFlashよりも高度なモデルのはずなのでするする進むかと思ったら、[3, 5]のように中にスペースを含めた結果を返すなどして進まないことも多かった。3.1 Proは使用枠の制限もあり途中で断念。2.5 Proは何とか最後までできたけど、201手と2.5 Flash(77手)の3倍近くやり取りしている。FlashとProでは向き不向きがあるのかな。
一番うまくいったのがGemini 3 Flashで41手で最後までできた。今回はいずれもAIの手番が勝った(それぞれ1回だけだけど)。最後までできたモデルの回答時間やトークン量が下。

Gemini 2.5 FlashとGemini 3 Flashを比較すると、3の方が手の数が減っているけど、トータルで見た時間やトークン量は3の方が多いか同程度。1手毎で見ると、より多くの時間や思考量を使っていることが分かる。2.5 FlashとProでは平均のトークンはあまり変わっていない。3 Flashが多く使っていることが分かる。
1ゲームを行うだけでFlashでも数百円、Proなら数千円も費用がかかってしまう。時間も一番早く完了した2.5 Flashでも4695秒(=1時間20分程度)で相当かかる。現状では、オセロの対戦相手として使うのはあまり現実的なものではない。強さの検証とか行いたかったけど難しいかも。
次回は、一番うまくいったGemini 3 Flashを使って、入力の内容を変えてどうなるか動作を見てみたい。
