Gemini CLIがv0.40.0で大きく進化しました。ローカルで動くGemmaモデルによるルーティング、4層構造のメモリシステム、過去セッションからの自動スキル抽出——開発者のワークフローを変える3つの機能が一度に追加されています。

この記事でわかること

  • Gemmaローカルルーティングの仕組みとセットアップ方法
  • 4層メモリシステム(memoryV2)の構造と使い分け
  • 自動スキル抽出(autoMemory)の動作と活用法
  • v0.40.0のその他の改善点

Gemmaでルーティング判断をローカル実行する

v0.40.0最大の目玉は、Gemmaモデルを使ったローカルルーティングです。従来、Gemini CLIはリクエストの振り分け判断をクラウド上のモデルに送っていました。新機能では、手元のマシンで動くGemma 3 1Bがその判断を担います。

この仕組みのメリットは2つあります。1つはコスト削減です。ルーティング判断のたびにAPIコールが発生していた部分がローカル処理に置き換わるため、ホスト型モデルの使用量を減らせます。もう1つはプライバシーです。どのモデルにリクエストを送るかという判断自体が外部に出なくなります。

セットアップはgemini gemmaコマンドで自動化されています。このコマンドを実行すると、LiteRT-LMランタイムのダウンロード、Gemmaモデルの取得、settings.jsonへの設定書き込みまでを一括で処理します。手動で設定する場合は、LiteRT-LMランタイムをダウンロードし、gemma3-1b-gpu-customモデルを取得してローカルサーバーを起動した上で、settings.jsonに以下の設定を追加します。

{
  "experimental": {
    "gemmaModelRouter": {
      "enabled": true,
      "classifier": {
        "host": "http://localhost:9379",
        "model": "gemma3-1b-gpu-custom"
      }
    }
  }
}

現時点ではルーティング判断のみがローカルで動作し、実際のコード生成や応答はクラウド上のGeminiモデルが担当します。完全なローカル実行はロードマップに含まれており、今後のアップデートで対応予定です。

4層メモリシステムで記憶を整理する

v0.40.0では、メモリ管理が従来のsave_memoryツールから4層構造のシステム(memoryV2)に刷新されました。エージェントがMarkdownファイルを直接編集して情報を保存する方式に変わり、記憶の置き場所が用途に応じて明確に分かれています。

第1層はプロジェクトのGEMINI.mdファイルです。チーム共有のコーディング規約やプロジェクト固有のルールをここに記録します。リポジトリにコミットすれば、チーム全員が同じ知識を共有できます。

第2層はプロジェクト別のプライベートメモリフォルダです。MEMORY.mdをインデックスとし、詳細は同じフォルダ内の別ファイルに分割して保存します。個人的な作業メモやプロジェクト固有の知見を、他のメンバーに影響を与えずに蓄積できます。

第3層はグローバルな~/.gemini/GEMINI.mdです。プロジェクトをまたいで使う個人的な設定や好みをここに書きます。エージェントが編集できるのはこのファイルだけで、settingsや認証情報には触れない設計です。

第4層はセッション内の一時的なコンテキストです。会話中にだけ有効な情報がここに保持されます。

この4層構造により、「チームの知識」「個人のプロジェクトメモ」「個人のグローバル設定」「一時情報」が混在する問題が解消されます。memoryV2はデフォルトで有効になっているため、v0.40.0にアップデートするだけで新しいメモリシステムが動作します。

過去セッションからスキルを自動生成する

autoMemoryは、過去のセッションで繰り返し行ったパターンを自動的にスキルとして抽出する機能です。バックグラウンドで動作し、抽出結果は/memory inboxコマンドで確認・適用できます。

従来はスキルファイルを手動で作成する必要がありました。autoMemoryを有効にすると、CLIが過去のツール実行パターンを分析し、再利用可能なスキルを提案します。提案内容はinboxに溜まるため、不要なものは破棄し、有用なものだけを採用する運用が可能です。

この機能は実験的な位置づけで、デフォルトでは無効です。有効にするにはsettings.jsonでexperimental.autoMemorytrueに設定します。さらに、v0.40.0ではスキル抽出のトリガーも改善されました。過去のセッションで一度しか行われなかった操作はスキル化の対象から除外され、実際に繰り返し使われたパターンだけが抽出されます。

その他の改善点

v0.40.0には、上記3つの機能以外にも複数の改善が含まれています。

オフライン環境での利用を想定し、ripgrep(高速ファイル検索ツール)のバイナリがCLIに同梱されました。ネットワークに接続できない環境でも、コードベース内の検索がそのまま動作します。

アクセシビリティ面では、GitHubスタイルのカラーブラインドテーマが追加されました。色覚に配慮したUI表示を選択できます。

UI面では、トピック更新のナレーション(エージェントが現在の作業内容をUIに表示する機能)がデフォルトで有効になりました。エージェントが何をしているのか、リアルタイムで把握しやすくなっています。

Claude CodeやCodexとの違い

Gemini CLIはGoogleが開発するターミナルベースのAIコーディングエージェントで、GitHubスター数は10万を超えています。同じカテゴリのAnthropicのClaude Code、OpenAIのCodexと比較すると、Gemini CLIはGoogleエコシステムとの統合が特徴です。Google CloudやFirebaseとの連携がスムーズで、Vertex AIを通じたモデル選択にも対応しています。

今回のGemmaローカルルーティングは、GoogleがGemma(オープンウェイトモデル)とGemini(クラウドモデル)を1つのCLIツール内で連携させた初めての実装です。ローカルとクラウドの使い分けを1つのツールに統合するアプローチは、他のCLIエージェントにはない独自の方向性といえます。

アップデート方法

npmでインストールしている場合は、以下のコマンドで最新版に更新できます。

npm update -g @google/gemini-cli

v0.40.0は実験的機能を複数含むリリースです。Gemmaローカルルーティングも完全なローカル実行への過渡期にあり、今後のバージョンでさらに機能が拡充される見込みです。まずはgemini gemmaコマンドでローカルルーティングを試し、ルーティングコストの削減効果を確認してみてください。