GEMINI LABEN
CLI — 本日6/18、Gemini CLIとGemini Code Assist IDE拡張がAI Pro/Ultra・無料個人利用向けにリクエスト提供を終了。後継はAntigravity CLIですFLASH — Gemini 3.5シリーズが始動し3.5 Flashが提供開始。エージェントとコーディング向けにフロンティア級、長時間タスクに強いと説明されていますDEEPTHINK — Gemini 3 Deep ThinkがGoogle AI Ultra向けに展開中。数学・科学・論理・多段推論の最上位モードですAPP — GeminiアプリにDaily Brief、再設計UI、AI動画モデルGemini Omni、個人AIエージェントGemini Sparkが加わりましたDESIGN — 新デザイン言語Neural Expressiveで、よりリッチな視覚出力とモダリティ間の素早い切替に向けて再構築されていますULTRA — Google AI Ultraはモデル最上位アクセス・Deep Research・Veo 3動画生成・100万トークンコンテキストを束ねるプレミアム枠ですCLI — 本日6/18、Gemini CLIとGemini Code Assist IDE拡張がAI Pro/Ultra・無料個人利用向けにリクエスト提供を終了。後継はAntigravity CLIですFLASH — Gemini 3.5シリーズが始動し3.5 Flashが提供開始。エージェントとコーディング向けにフロンティア級、長時間タスクに強いと説明されていますDEEPTHINK — Gemini 3 Deep ThinkがGoogle AI Ultra向けに展開中。数学・科学・論理・多段推論の最上位モードですAPP — GeminiアプリにDaily Brief、再設計UI、AI動画モデルGemini Omni、個人AIエージェントGemini Sparkが加わりましたDESIGN — 新デザイン言語Neural Expressiveで、よりリッチな視覚出力とモダリティ間の素早い切替に向けて再構築されていますULTRA — Google AI Ultraはモデル最上位アクセス・Deep Research・Veo 3動画生成・100万トークンコンテキストを束ねるプレミアム枠です
記事一覧/開発ツール
開発ツール/2026-06-18上級

Gemini CLI 停止に備え、夜間バッチに google-genai SDK フォールバックを組み込む

6月18日で Gemini CLI のホスト応答が止まります。CLI に依存した夜間バッチを落とさないよう、CLI の生死を確かめてから google-genai SDK へ自動で逃がすフォールバック・ハーネスを、自分の運用を題材に組みました。

Gemini CLI8フォールバック2自動化21google-genai4本番運用35

プレミアム記事

6月18日を境に、Gemini CLI のホスト応答が止まります。個人で複数のサイトを夜間に自動運用していると、この一行の依存が思っていたより深いところに刺さっていることに、移行準備をして初めて気づきました。gemini -p "..." を叩いているのは記事生成だけだと思い込んでいたのですが、実際にはスクリーンショットの説明文づくりや、投稿前のタイトル校正にも同じコマンドが混ざっていました。

厄介なのは、CLI のバイナリ自体は 6月18日以降も which gemini で見つかってしまう点です。停止するのはホスト側の応答であって、ローカルのコマンドが消えるわけではありません。つまり「バイナリの有無」で生死を判定すると、落ちているのに生きていると誤認して、バッチがタイムアウトの山を築きます。私自身、最初のプローブを --version で書いてしまい、テスト環境では通るのに本番の夜間バッチだけが固まる、という回り道をしました。

ここで扱うのは「移行の棚卸し」ではありません。どこで CLI に依存しているかを洗い出す全体計画ではなく、洗い出したあとの一点 ―― CLI が黙っても処理を止めないための小さなハーネス ―― だけを、動くコードで深掘りします。

どの処理を SDK に逃がし、どれを CLI に残すか

すべてを SDK に寄せれば確実ですが、対話的な補完やプロジェクト文脈の読み込みなど、CLI ならではの使い勝手を捨てることになります。私は処理を3つに仕分けてから手を動かしました。

処理の性質移行先理由
夜間バッチの一括生成(無人)SDK 直叩き対話不要。CLI の停止と独立に動かしたい
手元での対話的な試行錯誤Antigravity CLI文脈保持と対話の体験を残したい
CI 内の単発呼び出しSDK 直叩き再現性と監査ログを優先したい

無人で動くものほど SDK へ寄せるのが基本方針です。人が画面の前にいる処理だけ CLI(移行後は Antigravity CLI)に残し、それ以外は API へ逃がします。以降のコードは、この「無人バッチを止めない」という一点に絞っています。

CLI が今この瞬間に応答できるかを確かめる

判定の肝は、バイナリの有無ではなく「実際に1回応答が返るか」を見ることです。短いプロンプトを与えて、タイムアウトか非ゼロ終了なら使えないと判断します。

import shutil
import subprocess
 
def cli_available(timeout_sec: int = 12) -> bool:
    """gemini CLI が今この瞬間に応答を返せるかを確かめる。
    --version ではなく実際の生成を1回試すのが要点。
    バイナリが残っていてもホスト側が止まっていれば応答は返らない。"""
    if shutil.which("gemini") is None:
        return False
    try:
        result = subprocess.run(
            ["gemini", "-p", "ping"],
            capture_output=True,
            text=True,
            timeout=timeout_sec,
        )
    except subprocess.TimeoutExpired:
        return False
    return result.returncode == 0 and bool(result.stdout.strip())

ここで timeout_sec を短めの12秒にしているのは、プローブで何分も待たされては本末転倒だからです。停止後の CLI は応答そのものが返らないので、長く待つほど無駄が増えます。プローブは「軽く叩いてすぐ諦める」のが正解だと感じています。

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

この記事の続きを読む

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

この記事で得られること
CLI のバイナリが残っていても応答が返らない状態を、--version ではなく実生成1回で正しく検知できる
CLI 優先・SDK フォールバックを1つの generate() に閉じ込め、指数バックオフ付きで停止に強い呼び出しに置き換えられる
夜間バッチに16文字の冪等キーを足して、再実行時の二重投稿を防ぐ実装を今日から入れられる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

開発ツール2026-05-04
Gemini CLI で MCP サーバーを使う — ファイル操作からDB連携まで
Gemini CLI に MCP サーバーを接続して外部ツール・DBを直接操作する方法を実践的に解説。GEMINI.md の設定から filesystem・SQLite・GitHub MCP の活用例まで、動くコードで丁寧に紹介します。
開発ツール2026-06-15
Gemini CLI と Code Assist の個人向け終了に備える ― 6月18日までの移行棚卸し
6月18日で Gemini CLI と Code Assist の個人向け提供が止まります。どこで依存しているかを洗い出し、Antigravity CLI と API 直叩きへ安全に逃がすまでの実作業を、自分の運用を題材に整理しました。
開発ツール2026-06-02
Bun と Hono で Gemini API の軽量バックエンドを組む — 個人開発の小さなツールを自分の手に取り戻す実装メモ
Node と Express で書いた Gemini バックエンドが、依存関係とビルド時間で重くなっていませんか。Bun と Hono に載せ替えて、ストリーミング・レート制限・コスト上限・セルフホストまでを一つの軽い実行環境にまとめた実装と判断軸を、現場で踏んだ落とし穴とあわせて整理します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →