GEMINI LABEN
FLASH — Gemini 3.5 Flashが一般提供(GA)に。エージェントやコーディングで持続的なフロンティア性能をうたいますTIER — 3.1 Pro・3.1 Flash-Liteといった新ティアがアプリ・クラウド・業務ツールへ順次展開されていますPIXEL — 6月Pixel DropでGeminiの楽曲生成、AIによる動画・音楽作成、画面録画リアクションが追加されましたOMNI — 生成のGemini Omni、推論の3 Deep Think、調査のDeep Researchが並行して強化されていますLIVE — Gemini Liveのライブやりとりが、Android・検索・YouTube・各Googleアプリへ広がっていますULTRA — Google AI Ultraは最上位アクセス・Deep Research・Veo 3動画・100万トークン文脈を提供しますFLASH — Gemini 3.5 Flashが一般提供(GA)に。エージェントやコーディングで持続的なフロンティア性能をうたいますTIER — 3.1 Pro・3.1 Flash-Liteといった新ティアがアプリ・クラウド・業務ツールへ順次展開されていますPIXEL — 6月Pixel DropでGeminiの楽曲生成、AIによる動画・音楽作成、画面録画リアクションが追加されましたOMNI — 生成のGemini Omni、推論の3 Deep Think、調査のDeep Researchが並行して強化されていますLIVE — Gemini Liveのライブやりとりが、Android・検索・YouTube・各Googleアプリへ広がっていますULTRA — Google AI Ultraは最上位アクセス・Deep Research・Veo 3動画・100万トークン文脈を提供します
記事一覧/API / SDK
API / SDK/2026-06-20上級

Gemini のモデル非推奨を CI で先回りして止める仕組み

ハードコードされた Gemini モデルIDを CI で走査し、シャットダウン期限が近いものを残り日数つきで検知して赤くする仕組みを、動くコードで組み立てます。

Gemini API142モデル非推奨CI3運用自動化2個人開発63

プレミアム記事

6月25日に gemini-3.1-flash-image-previewgemini-3-pro-image-preview が停止します。この一文を非推奨ページで見たとき、私が最初に困ったのは「移行手順」ではありませんでした。困ったのは、自分が運営している複数のリポジトリのうち、どこでこの2つのモデルIDを参照しているのかを即答できなかったことです。

個人開発で4つの技術ブログ(Dolice Labs)とモバイルアプリを並行して回していると、モデルIDは OGP 画像の生成スクリプト、記事内のサンプルコード、アプリ側の壁紙生成バッチと、あちこちに散らばります。1か所だけ古いIDが残っていて、停止当日に静かに 404 を返し始める——これが一番こわい壊れ方です。エラーは出るのに、出る場所が予想と違う。

そこで私が用意したのは、コードベースを走査してモデルIDを集め、停止期限が近いものを残り日数つきで CI に報告させる小さなガードでした。移行作業そのものより、「移行し忘れを検知する仕組み」を先に持つほうが、結局は気持ちが楽になります。ここから先は、そのガードを動く Python で一緒に組み立てていきます。

なぜ「非推奨の見落とし」は個人開発で起きやすいのか

大きなチームであれば、依存ライブラリのバージョン管理や SRE のダッシュボードで、こうした期限はどこかに記録されます。個人開発では、その記録が「自分の記憶」に置かれがちです。そして記憶は、3か月後のリリース直前に最も当てになりません。

もう一つの理由は、Gemini のモデルIDが文字列だからです。pip の依存解決のように壊れたら即座にビルドが落ちるわけではなく、停止日まではそのまま動きます。テストも通ります。だからこそ、停止日を「カレンダー」ではなく「CI の合否」に変換しておく価値があります。人間がカレンダーを見るのを忘れても、CI は毎回見てくれます。

私自身、2026年5月に gemini-2.0-flash 系の縮退を経験したとき、移行自体は一行の置き換えで済みました。けれど「どこを置き換えるか」を手で探す時間のほうが長く、しかも1か所取りこぼしていました。あの取りこぼしを CI で拾えていたら、と思ったのがこの仕組みの出発点です。

仕組みの全体像 — 3つの部品

組み立てるガードは、次の3部品からできています。役割を分けておくと、後で各部品を差し替えやすくなります。

部品役割入力 / 出力
スキャナリポジトリ内のモデルID参照を集めるソースツリー → 参照リスト
レジストリモデルごとの停止予定日を保持するYAML/辞書 → 期限マップ
判定器残り日数を計算し、存在確認も行い、終了コードを決める参照+期限+models.list → 合否

ここで一番悩むのは「停止日をどこから取るか」です。結論から言うと、停止日は API から確実には取れませんmodels.list はモデルの存在や説明は返しますが、「いつ止まるか」を機械可読な形で常に返してくれるわけではありません。そこで、停止日だけは自分の小さなレジストリで持ち、models.list は「そのIDがまだ生きているかの存在確認」に使う、という役割分担にします。これが実運用でつまずかないための肝です。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
シャットダウン期限を見落として本番パイプラインが突然壊れる、を二度と起こさない検知の仕組みを今日から動かせる
models.list の存在確認と、自分で持つ期限レジストリを突き合わせる実装パターンをコピペで導入できる
GitHub Actions と日次 cron の両方に同じスクリプトを差し込み、残り日数に応じて警告と失敗を出し分けられる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Gemini Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

API / SDK2026-05-27
Gemini API で個人ブログの内部リンク整合性を2ヶ月チェックさせた所感
Lab 系4サイトの内部リンク整合性チェックを2ヶ月 Gemini に任せて運用した実装メモ。grep だけでは拾えなかった文脈不一致を Gemini 2.5 Flash でどう仕分けたか、運用コストとつまずいた点を書きました。
API / SDK2026-06-18
Gemini API のニッチ SaaS で「請求とコストが噛み合わない」を消す — 従量原価の計測と Stripe 突合の運用メモ
Gemini API を組み込んだニッチ SaaS では、月額売上は見えてもユーザー単位の従量原価が見えず、月末に粗利が読めなくなりがちです。トークン消費を即時に円換算する計測層、Stripe 売上との月次突合、赤字ユーザーの早期検知、冪等な Webhook までを実装メモとして整理します。
API / SDK2026-06-12
壁紙アセットの画像探しを File Search のマルチモーダル検索に任せてみた記録
数千枚の壁紙アセットから目当ての一枚を探す作業を、File Search のマルチモーダル検索(gemini-embedding-2)に置き換えられるか300枚で検証しました。カテゴリタグ運用との比較、つまずいた点、使い分けの結論を実装コードとともに残します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →