生成AI活用研究
Gemini CLIの徹底解説:AIをターミナルから使いこなす

Geminiを中心に生成AIの活用と研究の記録
公開日:2025-07-03 最終更新日:2025-07-15

Gemini CLIの徹底解説:AIをターミナルから使いこなす


GoogleのエンジニアによってGitHubで公開された、Gemini APIを利用するオープンソースのCLIツール「Gemini CLI」は、AIの力を直接ターミナルから活用できる強力なツールです。


2025年6月25日(米国時間)に正式に発表された本ツールは、翌26日には一般ユーザー向けに無料のプレビュー版の提供が開始され、実際に利用できる環境が整いました。
本ツールは現在開発が進行中のプレビュー段階にあり、将来的に仕様が変更される可能性があります。
プレビュー版では、1日あたり最大1,000リクエストまでという制限付きながらも、試用に適した環境が提供されています。

このツールの最大の特徴は、コマンドライン上からAIを直接操作できる点にあります。
開発者は自然言語で指示を出すことで、コードの生成や修正、スクリプトの自動作成といった作業を、手軽に実行することが可能です。
コードの分析からタスクの自動化、コンテンツ生成まで、その用途は多岐にわたります。
この記事では、Gemini CLIの導入方法から基本的な使い方、さらには高度な活用方法までを詳しく解説します。


目次



1. Gemini CLI のインストールと設定

gemini-cliを導入するには、Node.js(npmコマンドを含む)が必要です。

1.1 Node.jsのインストール

もしまだインストールしていなければ、Node.js公式サイトにアクセスします。
「LTS」と書かれている、長期間サポートされる安定版のインストーラーをダウンロードし、画面の指示に従ってインストールを完了させます。
※現在は、以下のように、「Install Node.js」と書かれています。

Gemini CLIの徹底解説:AIをターミナルから使いこなす

Gemini CLIの徹底解説:AIをターミナルから使いこなす

1.2 gemini-cliのインストール

Node.jsのインストール後、新しいPowerShellウィンドウを開き直します。
以下のコマンドをコピーして、PowerShellに貼り付けて実行します。
これにより、gemini-cliがグローバルにインストールされます。
npm install -g @google/gemini-cli
Gemini CLIの徹底解説:AIをターミナルから使いこなす

1.3 gemini-cliの動作確認

gemini-cliという道具そのものがPCに正しく設置されたかを確認します。
新しく開いたPowerShellで以下のコマンドを実行し、モデルからの応答があれば設定は正常です。
gemini --help
Gemini CLIの徹底解説:AIをターミナルから使いこなす

1.4 APIキーの取得

Google AI Studioにアクセスします。
「Get API key」メニューから新しいAPIキーを作成し、コピーします。
このキーは他人に知られないように厳重に管理してください。

Gemini CLIの徹底解説:AIをターミナルから使いこなす

Gemini CLIの徹底解説:AIをターミナルから使いこなす

Gemini CLIの徹底解説:AIをターミナルから使いこなす

Gemini CLIの徹底解説:AIをターミナルから使いこなす

1.5 APIキーを環境変数に設定

PowerShellを開き、以下のコマンドを実行してAPIキーを環境変数として設定します。
# "YOUR_API_KEY_HERE"の部分を、コピーしたご自身のAPIキーに置き換えてください
[System.Environment]::SetEnvironmentVariable("GEMINI_API_KEY", "YOUR_API_KEY_HERE", "User")

# 設定を有効にするため、PowerShellを一度再起動してください

APIキーの設定を確認するコマンド
新しいPowerShellウィンドウを開いてから、以下のどちらかのコマンドを入力してEnterキーを押します。
echo $env:GEMINI_API_KEY
コマンドを実行した際に、あなたが設定したAPIキーの文字列(例: AIzaSy...のような非常に長い文字列)が画面に表示されれば、正しく設定されています。


2. Gemini CLIの基本的な使い方

Gemini CLIは、使用目的に応じていくつかの実行モードがあります。それぞれのモードを理解し、使いこなすことが重要です。

2.1. 対話モード(Interactive Mode)

対話モードは、Gemini CLIの最も基本的かつ柔軟な操作モードです。ターミナル上でユーザーが1つずつプロンプト(質問や命令)を入力し、Geminiがその場で応答します。AIとの会話を行いながら、コードレビューや設計支援、ドキュメント作成などをインタラクティブに進めたい場面に適しています。

実行例
# プロジェクトディレクトリに移動
cd my-project/

# 対話モードの起動
gemini

特徴
  • gemini と入力するだけで即座に起動し、プロンプト(質問)を一行ずつ入力して対話を進める形式です。
  • 入力した内容はその都度Geminiに送信され、応答がリアルタイムに表示されます。
  • ファイル編集・コマンド実行などを伴う処理では、必ず確認プロンプト(例:「このファイルを編集してもよいですか?」)が表示されます。
  • セッション中に Ctrl + Y を押すことで、YOLOモード(自動承認)のオン/オフを切り替えられます。
  • 直前のやり取りのコンテキストを維持し続けるため、長期的なセッション設計や一連のタスク管理にも有効です。

使用例
  • 「このシステムのアーキテクチャの主要な部分を説明して」
  • 「GitHub issue #123の最初のドラフトを実装して」
  • 「このコードベースを最新のJavaバージョンに移行する計画を立てて」
  • 「このPython関数の単体テストをPytestで作って」
  • 「現在のカレントディレクトリにあるファイルの一覧を表示して」
  • 「Module1内のプロシージャーを一覧出力」
使用例の画面サンプル

Gemini CLIの徹底解説:AIをターミナルから使いこなす

Gemini CLIの徹底解説:AIをターミナルから使いこなす

Gemini CLIの徹底解説:AIをターミナルから使いこなす

Gemini CLIの徹底解説:AIをターミナルから使いこなす

補足
  • 対話モードでは、作業ディレクトリ内のファイル(例:README.md, *.py)を自動的に読み取り対象として認識します。ただし、すべてのファイルを必ず読み込むわけではなく、状況によっては --all_files オプションが必要です。
  • Geminiが判断してツール(例:シェルコマンド、Git、エディタなど)を呼び出そうとした場合、「○○を実行してもよいですか?」という確認が表示され、y/n 応答が求められます。
  • CLIの標準出力の一部が長文になることがあるため、ターミナルのスクロール設定やログ保存機能を併用すると便利です。

注意
対話モードは最も柔軟ですが、バッチ処理や自動化には向いていません。手動操作が前提のため、スクリプトやCI/CDパイプラインには -b モードを使用してください。

2.2. YOLOモード(Auto-approval Mode)

YOLOモードは、対話モード(gemini)における拡張オプションで、Geminiが外部ツールを呼び出す際の「この操作を実行してもいいですか?」という確認プロンプトをスキップし、すべてを自動承認するモードです。

実行例
gemini --yolo

特徴
  • --yolo は 対話モードでのみ有効です。
  • 通常の対話セッションでは、ツール呼び出し時に「pwdを実行してもよいですか?」のような確認が毎回表示されますが、YOLOモードではこれらがすべてスキップされます。
  • 「YOLO(You Only Live Once)」の名前の通り、全自動で積極的に行動するスタイルです。
  • 入力中に Ctrl + Y を押すことでも、YOLOモードのオン/オフを切り替え可能です(再起動は不要)。

補足
  • YOLOモードは「対話継続+確認スキップ」なので、完全自動化には向いていません(ユーザー入力を前提とするため)。
  • 危険な操作(例:ファイル削除など)も確認なしで実行される可能性があるため、検証環境や開発用ディレクトリでの使用を推奨します。

注意
--yolo は対話モード専用です。バッチモード(-b)と併用しようとすると、執筆時点のCLI(v0.1.7)ではエラーとなります。
自動化したい場合は、--yolo ではなく -b 単独を使用してください。

2.3. バッチ/ヘッドレスモード(Headless Mode)

バッチモードは、標準入力などを通じてプロンプトを与え、Geminiに非対話的に応答させる実行モードです。
CI/CDやスクリプトなどの自動化シナリオに適しています。

実行例
echo "コードの改善点を教えて" | gemini -b

特徴
  • -b を指定すると、対話セッションなしで処理が即時実行されます。
  • 入力は主に 標準入力(stdin) を介して渡します。リダイレクトやパイプとの併用が基本です。
  • Geminiは応答を出力するだけで、質問の継続やユーザー入力の待機は行いません。
  • CLI内部でGeminiが外部ツール(例:コマンド実行、ファイル読込)を使う必要がある場合、確認プロンプトが出ることもあり、その際は処理が停止する可能性があります。

補足
  • -b モードでは、標準入力がないとGeminiが即終了するため、必ず入力を与えてください。
  • 実用上は「完全自動モード」として使える一方で、ツール実行時の確認待ちが発生すると自動化の途中でハングする可能性があります。
  • この問題を避けるには、入力内容を「読み取りのみ」に限定する構文設計が推奨されます。

注意
  • -b モードで --yolo を併用しようとすると、現行バージョンではエラーになることがあります。
  • 自動処理には -b 単独、対話補助には --yolo を使い分けてください。

2.4. 完全自動モード(Combined Mode)

Gemini CLIの一部の機能フラグには、次のような目的があります:
  • --yolo:対話モード中の確認プロンプトを自動的にスキップ(確認なしで実行)
  • -b:非対話モード(標準入力などを用いたバッチ処理)

これらを同時に指定すれば、確認なし・非対話での完全自動処理が可能になりそうに思えます。
しかし、現時点のGemini CLI(v0.1.7)では --yolo と -b の併用は未対応、またはエラーになる挙動が確認されています。
そのため、以下のように -b 単独で使用する方法が、最も安定して自動化を実現できます。

安定動作する完全自動処理の例
# 質問文を標準入力で渡す
echo "このREADMEの改善点を提案して" | gemini -b

# Gitログの分析による提案生成
git log --oneline | gemini -b "コミット履歴から開発フェーズごとに分類したサマリーを作成して"

補足
  • --yolo は主に対話モード(gemini のみで起動)において使用される確認スキップ用オプションです。
  • -b(非対話モード)はそもそもプロンプト確認を行わない前提のため、事実上、-b 単独で「完全自動化」は成立します。
  • 今後のCLIアップデートで --yolo -b の併用が正式にサポートされる可能性があります。

注意
Gemini CLI v0.1.7 では --yolo -b を同時に指定するとエラーが発生することがあります。
自動化処理を行いたい場合は、-b の単独使用を推奨します。

2.5. 制限付き実行モード(-p)

-p オプションは、Gemini CLIの「制限付き実行モード(policy mode)」を有効にします。
このモードでは、セキュリティポリシーに基づき、Geminiが使用できるツールやコマンドが制限されます。
業務利用やCI環境など、不用意なファイル編集・コマンド実行を防ぎたい場面での使用に適しています。

実行例
gemini -p

特徴
  • -p を指定すると、事前に定義された制限付きポリシーが有効になります。
  • 実行可能なツール(例:ファイル読み取り、コード解析など)は限定され、書き込みや外部コマンドの実行はブロックされます。
  • 安全性を重視する開発・運用環境(CI/CD、教育用途など)で、意図しない変更を防ぐ目的で使われます。
  • 現在の実装では、ポリシーの切り替えやカスタマイズは内部的に行われており、CLI引数での詳細設定はできません(今後のアップデートで変更される可能性があります)。

補足メモ
  • -p モードでは、明示的に「この操作はポリシーにより許可されていません」といった拒否メッセージが返されることがあります。
  • モードの適用範囲や制限内容の詳細は今後のCLIバージョンで明示される可能性があるため、定期的な --help の確認をおすすめします。

注意
-p は実験的なモードとみなされており、今後のバージョンで仕様が変更・拡張される可能性があります。最新情報は公式ドキュメントまたは gemini --help をご確認ください。

Gemini CLI モード別比較表

モード 起動方法 対話の有無 確認プロンプト 主な用途 自動化適性 備考
2.1 対話モード gemini あり あり AIとの対話、コードレビューなど ✖(手動中心) 最も基本的なモード。
コンテキスト保持に優れる。
2.2 YOLOモード gemini --yolo あり なし 対話中のツール実行を全自動に ✖(手動中心) 対話モード拡張。
Ctrl+Yでも切り替え可。
2.3 バッチ/ヘッドレス gemini -b なし 一部あり スクリプト・CI用の非対話処理 ✅(標準) パイプ・stdin入力で実行。
確認待ちの可能性あり。
2.4 完全自動モード ✖ gemini --yolo -b ※非対応 なし なし(想定) CI/CD、完全自動化 ✖(未サポート) 現行バージョンではエラー発生。
仕様未定。
2.5 制限付き実行モード gemini -p あり/なし 制限付き実行 教育・安全重視環境 △(制限あり) 書き込み・外部ツール制限下で実行。


3. パイプラインでの活用

「パイプライン」は、Unix/LinuxやPowerShellの標準機能で、前のコマンドの出力を次のコマンドの入力として渡す仕組みです。
Gemini CLI自体に「パイプラインモード」という専用機能は存在しませんが、CLIの実行モードと組み合わせることで、強力な自動化が可能になります。

パイプライン使用に適したモード
理想的には、-b を指定した「バッチ/ヘッドレスモード」が望ましいと考えられます。
確認プロンプトがなく、非対話で一気に処理を完結させられるため、CI/CDパイプラインやスクリプト自動化に最適です。
# 標準入力から質問を受け取る例
echo "都庁のある区は?" | gemini

# ファイル内容を分析し、提案を受ける例
cat README.md | gemini -b "このREADMEの改善点を提案して"

# Gitログを分析してスライド案を作成
git log --oneline | gemini --yolo "過去7日間のgit履歴を機能とチームメンバー別にグループ化したスライドデッキを作成"

使用例の画面サンプル
Gemini CLIの徹底解説:AIをターミナルから使いこなす

ただし現状の注意点
  • Gemini CLIのv0.1.7時点では、--yolo と -b の同時使用は非対応で、エラーになります。
  • 現実的には、-b(バッチモード)単独でパイプラインを使う方法が最も安定しています。
    echo "都庁のある区は?" | gemini -b
  • -b モードは非対話的ですが、ツール呼び出し時に確認プロンプトが表示される場合があるため、処理が途中で停止するリスクがあります。
    そのため、完全自動化を目指す場合は、以下の対応が必要です。

自動化運用上の工夫
  • 入力プロンプトやタスクを「読み取り専用」「分析系」に限定し、ファイル編集や外部コマンドの実行を控える。
  • -p(制限付きモード)と組み合わせて実行することで、危険な操作を防止する。
  • Geminiのアップデートをこまめにチェックし、将来的に--yolo -b併用が正式サポートされれば移行を検討する。

まとめ
モード パイプライン対応 確認プロンプトの挙動 自動化適性
gemini --yolo -b 想定される理想形 確認なし(非対話) 最高。ただし現状は非対応
gemini -b 実用的に最も安定 一部ツールで確認プロンプトが表示されることがある 高い。ただし確認停止リスクあり
gemini -p -b 制限付き利用可 書き込み系ツールは制限される 安全重視の自動化に適している


4. Gemini CLI コマンド・オプション一覧

Gemini CLIは、コーディング支援だけでなく、コンテンツ生成、問題解決、調査、タスク管理など、多岐にわたるタスクに利用できる汎用性の高いツールです。
以下に、Gemini CLIの主なコマンドとオプションを種類別にまとめました。
種別 コマンド/オプション 説明
基本実行 gemini 基本の対話モードでGemini CLIを起動します。
npx https://github.com/google-gemini/gemini-cli 一時的にGemini CLIを実行(インストール不要)。
モード選択 -y, --yolo YOLOモードを有効にし、すべてのアクションを自動承認します(デフォルト: false)。
-b バッチ/ヘッドレスモードで実行し、ユーザーとの対話なしで処理を進めます。
-p 制限付き実行モードで実行し、一部のコマンド/ツール実行を制限します。
モデル指定 -m, --model 使用するAIモデルを指定します(デフォルト: "gemini-2.5-pro")。
プロンプト指定 -p, --prompt コマンドラインから直接プロンプトを指定します(標準入力がある場合、その入力に追加されます)。
--prompt-file プロンプトをファイルから読み込みます。
コンテキスト指定 -a, --all_files 作業ディレクトリ内のすべてのファイルをGeminiのコンテキストに含めます(デフォルト: false)。
--files 特定のファイルをGeminiのコンテキストに明示的に含めます。
--cwd CLI実行時のカレントディレクトリを明示的に指定します。
安全実行 -s, --sandbox サンドボックスモードで実行し、隔離された環境で安全にコードを実行できます。
--sandbox-image サンドボックスで使用するDockerイメージのURIを指定します。
デバッグ/情報 -d, --debug デバッグモードを有効にします(デフォルト: false)。
--show_memory_usage ステータスバーにメモリ使用量を表示します(デフォルト: false)。
-v, --version Gemini CLIのバージョン番号を表示します。
-h, --help ヘルプメッセージを表示し、利用可能なコマンドとオプションを確認できます。
その他 --telemetry テレメトリ(匿名利用データ収集)を有効にします(デフォルト: false)。
--telemetry-target テレメトリの送信先("local" または "gcp")。
--telemetry-otlp-endpoint テレメトリのOTLPエンドポイントを設定します。
--telemetry-log-prompts テレメトリでユーザープロンプトのログ記録を有効/無効にします。
-c, --checkpointing ファイル編集時のチェックポイント機能を有効にし、変更の復元を可能にします(デフォルト: false)。

実行中のコマンド:
コマンド 説明
/ 利用可能なコマンドとヘルプを表示します。
/memory メモリ関連のコマンドを表示します。
/memory show 現在のメモリ状態を表示します。
/memory refresh メモリをリフレッシュします。
Ctrl + Y 対話中にYOLOモードのオン/オフを切り替えます。
Ctrl + C 現在の処理を中断します。
! で始まるメッセージ システムチャットメッセージとして内部操作に使用されます。

環境変数:
環境変数 説明
GEMINI_API_KEY Gemini APIキーを設定します。
GEMINI_SANDBOX サンドボックスモードを有効にします。


5. 注意事項

  • Gemini CLIの利用にはNode.js 18以上が必要です。
  • 初回実行時にGoogleアカウントでの認証が求められます。
  • 個人アカウントの場合、APIリクエストには1分間60リクエスト、1日1000リクエストの制限があります。
  • PowerShellスクリプト(.ps1ファイル)は「UTF-8(BOM 付き)」で作成する必要があります。

プレビュー段階であること:
開発が進行中のプレビュー段階にあります。そのため、将来的に仕様が変更されたり、機能が追加・削除されたりする可能性があります。
ご利用の際は、この点にご留意いただき、以下の公式GitHubリポジトリやnpmパッケージページで最新の情報をご確認ください。
Gemini CLI GitHubリポジトリ: https://github.com/google-gemini/gemini-cli
npmパッケージページ: https://www.npmjs.com/package/@google/gemini-cli


Gemini CLIは、開発から日常業務まで、様々なシナリオであなたの作業を効率化できる強力なツールです。
ぜひこれを機会に、ターミナルからのAI活用を始めてみてください。



※本記事の作成にあたっては、一部の文章作成に生成AI(Gemini)を使用しています。最終的な内容は人間による確認・編集を経て掲載しています。

Gemini CLI 関連ページ

Gemini CLIの徹底解説:AIをターミナルから使いこなす
「Gemini CLI」によるExcel自動化フレームワーク:実践ガイド
・1. はじめに:本稿が取り組む課題 ・2. フレームワークの目的:専門知識からの解放 ・3. アーキテクチャ ・4. 環境構築とインストール手順 ・5. フレームワークの実行手順 ・6. 実践サンプルケース:VBAの自動リファクタリング ・7. 主要コンポーネントの全コード ・8. 対話モードとパイプライン:自動化における「見えざる壁」 ・9. セキュリティに関する考慮事項 ・10. まとめと展望 ・Gemini CLI 関連ページ
Gemini CLIとPowerShellでVBAerのAI活用を加速する実践ガイド
・1. はじめに:VBA開発における生成AI活用の可能性 ・2. 手法概要:PowerShellスクリプトとGemini CLIの連携 ・3. スクリプト「Run-Gemini-On-Excel-Modules.ps1」の機能詳細 ・4. スクリプト本体とコード解説 ・5. 活用事例と実践のヒント ・6. スクリプトを簡単に起動するための.batファイルの活用 ・7. 今後の展望と改善の方向性 ・8. おわりに ・Gemini CLI 関連ページ




同じテーマ「生成AI活用研究」の記事

生成AIパスポート試験 練習問題(四肢択一式)
Googleカレンダーの日本の祝日をGASとExcelで取得する ~APIキー不要、XML連携ガイド~
我思う、そこにAI在り:ひらめきを増幅する、AIと「考える」新しい形
Excel×スプレッドシート連携:HTTP GETで学ぶGAS API設計入門
AI時代のプログラミング再考:記述の自由と知の民主化
生成AIと脱Excelの時代:ブラックボックスと共に進む知的変革
AI時代の働き方革命:オンリーワン戦略 ― 属人化で搾取されない労働者に
不合理の砦|AIが計算を終えた場所から、人間の価値が始まる
Gemini CLIの徹底解説:AIをターミナルから使いこなす
「Gemini CLI」によるExcel自動化フレームワーク:実践ガイド
Gemini CLIとPowerShellでVBAerのAI活用を加速する実践ガイド


新着記事NEW ・・・新着記事一覧を見る

ハイフン区切り文字列の『最初』と『最後』を抽出・結合|エクセル練習問題(2026-02-23)
AIは便利なはずなのに…「AI疲れ」が次の社会問題になる|生成AI活用研究(2026-02-16)
カンマ区切りデータの行展開|エクセル練習問題(2026-01-28)
開いている「Excel/Word/PowerPoint」ファイルのパスを調べる方法|エクセル雑感(2026-01-27)
IMPORTCSV関数(CSVファイルのインポート)|エクセル入門(2026-01-19)
IMPORTTEXT関数(テキストファイルのインポート)|エクセル入門(2026-01-19)
料金表(マトリックス)から金額で商品を特定する|エクセル練習問題(2026-01-14)
「緩衝材」としてのVBAとRPA|その終焉とAIの台頭|エクセル雑感(2026-01-13)
シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)
電卓とプログラムと私|エクセル雑感(2025-12-30)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.RangeとCellsの使い方|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
8.マクロとは?VBAとは?VBAでできること|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.メッセージボックス(MsgBox関数)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ