エンジニアの思い立ったが吉日

このブログでは、「あ、これ面白い!」「明日から仕事で使えそう!」と感じたIT関連のニュースやサービスを、難しい言葉を使わずに分かりやすく紹介しています。ITに詳しくない方にも楽しんでもらえるような情報を発信していくので、ぜひ「継続的な情報収集」の場としてご活用ください。

Gemini CLI「Ask Userツール」完全解説|AIが自ら質問して作業精度が激変する新機能

AIコーディングエージェントを使っていて、こんな経験はありませんか?「指示を出したら、意図とは全然違う方向でコードを書き始めてしまった」「途中でやり直しが発生して、結局自分でやった方が早かった」——。

こうした「AIとのすれ違い」を根本から解決するアプローチが、Gemini CLIのv0.29.0(2026年2月17日リリース)で実装されたAsk Userツール(ask_userです。

このアップデートにより、Gemini CLIのモデルが実行を途中で止め、対話形式のダイアログを通じてユーザーに質問できるようになりました。これは単なる「入力ダイアログ追加」ではありません。AIエージェントが「人間に何を確認すべきか」を自ら判断し、選択肢形式・テキスト形式・Yes/No形式で問いかけてくる——という、AIと人間の協働モデルが一段階進化した機能です。

本記事では、Ask Userツールの仕組みから実践的な活用法まで徹底解説します。エンジニアはもちろん、Gemini CLIを業務自動化に活用したいビジネスパーソンにも役立つ内容に仕上げましたので、ぜひ最後までご覧ください。

Ask Userツールとは?Gemini CLIに追加されたインタラクティブ機能の全貌

従来の課題:AIエージェントの「一方通行」な実行問題

これまでのAIコーディングツールの典型的な課題は、ユーザーの曖昧な指示をそのまま解釈して実行してしまう点にありました。

例えば「新しいAPIエンドポイントを作って」と指示した場合、モデルは

  • どのデータベースを使うべきか?
  • 認証は必要か?
  • レスポンス形式はJSONかXMLか?

——といった重要な判断を、自分なりに推測して進めてしまいます。結果として生成物がプロジェクトの方針と合わず、「やり直し」が発生するのは珍しくありませんでした。

これに対してAsk Userツールは、モデル自身が「この情報がないと正確に作業できない」と判断したタイミングで実行を一時停止し、ユーザーへ質問を投げかける仕組みを提供します。

ask_userツールの基本仕様

Ask Userツール(ask_user)は、Gemini CLIがユーザーの好みを確認したり、要件を明確にしたり、意思決定を促したりするために使う機能です。複数選択・自由テキスト入力・Yes/No確認という複数の質問タイプをサポートしています。

ユーザーがこのツールを手動で呼び出す必要はなく、Geminiモデルが情報収集や確認が必要と判断したときに自動的に起動します。

主要パラメータは以下の通りです:

パラメータ 概要
questions 1〜4つの質問オブジェクトを配列で指定
question 質問本文(文字列)
header チップ表示される短いラベル(最大16文字)
type 質問タイプ(choice / text / yesno
options choiceタイプ時の選択肢(2〜4個)
multiSelect 複数選択を許可するか(choiceタイプのみ)
placeholder テキスト入力欄のヒント文字列

3つの質問タイプ:それぞれの動作と使いどころ

Ask Userツールは、シンプルなYes/Noから自由記述テキスト、さらには複数選択肢まで対応しています。各タイプを具体的な場面とともに見ていきましょう。

タイプ1:choice(複数選択)

最も汎用性が高い質問タイプで、2〜4個の選択肢をUI上で提示します。multiSelect: true を付けると複数選択も可能です。

活用場面の例: - 「使用するデータベースはどれですか?」→ PostgreSQL / SQLite / MongoDB から選択 - 「フロントエンドのフレームワークは?」→ React / Vue / Svelte から選択 - 「ログレベルの設定は?」→ debug / info / warn / error から複数選択

設定例(概念的な表現):

{
  "questions": [
    {
      "header": "Database",
      "question": "使用するデータベースを選択してください。",
      "type": "choice",
      "options": [
        { "label": "PostgreSQL", "description": "本番環境向けの高機能RDB" },
        { "label": "SQLite",     "description": "軽量・組み込み向けのRDB" }
      ]
    }
  ]
}

タイプ2:text(自由記述)

ユーザーが任意のテキストを入力できるタイプです。プロジェクト名や特定の文字列など、選択肢では表現しきれない情報を収集します。

活用場面の例: - 「新しいモジュールの名前を入力してください」 - 「追加したいAPIエンドポイントのパスを入力してください(例:/api/v2/users)」 - 「コミットメッセージのプレフィックスを指定してください」

タイプ3:yesno(Yes/Noの二択)

もっともシンプルな確認ダイアログです。重要なアクションの前の最終確認や、オプション機能のオン/オフ確認などに使います。

活用場面の例: - 「このファイルを上書きしますか?」 - 「アプリケーションを今すぐデプロイしますか?」 - 「テストコードも同時に生成しますか?」


v0.29.0の全体像:Ask UserツールはPlan Modeと連動する

Ask UserツールはGemini CLIのv0.29.0において、単独の機能追加ではなく、Plan Mode(実験的機能)と密接に連動する設計で実装されています。

Plan Modeとは?(実験的機能)

Plan Modeは、AIが実際の作業に入る前に実行計画を事前に作成し、ユーザーの承認を得てから処理を開始するモードです。/plan コマンドで起動できます。

Ask UserツールはPlan Modeのワークフローにも活用されており、「手動でファイル編集を確認するか」「自動的に編集を受け入れるか」といった複雑な意思決定をユーザーが行えるよう、統合された安定したインフラが提供されています。

Plan Mode + Ask Userの組み合わせによる典型的なワークフローはこうなります:

  1. ユーザーが「ECサイトのカート機能を実装して」と指示
  2. ask_userが起動 → 「DBは何を使いますか?」「認証は必要ですか?」等を確認
  3. ユーザーが回答 → AIが実行計画を作成
  4. /plan でユーザーが計画を確認・承認
  5. 承認後に実際のコーディングを開始

v0.29.0の他の主要アップデート

v0.29.0では、Ask Userツール以外にも、長時間・高品質なセッション維持の最適化(ツール出力からの大量データによるコンテキストウィンドウの圧迫を防ぐ仕組み)や、空プロンプト時に ? キーで新しいショートカットパネルを表示する機能向上なども含まれています。

また、最新のv0.31.0では、Plan Modeがさらに強化され、カスタムストレージディレクトリのサポート、自動モデル切り替え、実行後の作業サマリー機能が追加されました。Gemini CLIは毎週火曜日にアップデートがリリースされるペースで急速に進化しています。


実践的なユースケース:エンジニアの現場でどう使えるか

ユースケース1:新規プロジェクトのスキャフォールディング

新しいWebアプリケーションのプロジェクト構成を作成させる場面を考えてみましょう。

従来の流れ(Ask Userなし): 1. 「Webアプリのプロジェクトを作って」と指示 2. AIが独自判断でReact + Express + MongoDBの構成を作成 3.「うちはVue + FastAPI + PostgreSQLだ…」とやり直し

Ask Userありの流れ: 1. 「Webアプリのプロジェクトを作って」と指示 2. AIが自動的に以下を確認: - 「フロントエンドは?」→ React / Vue / Svelte から選択 - 「バックエンドは?」→ Express / FastAPI / Rails から選択 - 「DBは?」→ PostgreSQL / MongoDB / SQLite から選択 - 「テストフレームワークを含めますか?」→ Yes/No 3. 回答を受けて、最適な構成でスキャフォールディングを実行

この流れにより、やり直しゼロで一発でプロジェクト雛形が完成します。

ユースケース2:既存コードのリファクタリング

大規模なリファクタリングを依頼する際にも、Ask Userは威力を発揮します。

「このOrderServiceクラスをリファクタリングして」という指示に対し、AIが以下を確認してから実行: - 「分割方針は?」→ 機能別分割 / レイヤー別分割 / マイクロサービス化 から選択 - 「既存のテストコードはそのまま維持しますか?」→ Yes/No - 「リファクタリング後にPRを作成しますか?」→ Yes/No

複数ファイルにまたがる大規模変更の前に意図を確認することで、想定外の変更リスクを大幅に削減できます。

ユースケース3:CI/CDパイプライン設定の自動化

「GitHubActionsのCI設定を追加して」という指示への対応例:

  • 「テストはどの言語?」→ Python / Node.js / Go から選択
  • 「どのブランチをトリガーにする?」→ main / develop / すべてのPR から選択(複数選択可)
  • 「本番デプロイまで自動化しますか?」→ Yes/No
  • 「使用するクラウドは?」→ テキスト入力(GCP / AWS / Azure など)

CI/CDの設定は組織やプロジェクトによって大きく異なるため、こうした確認プロセスが特に有効です。

ユースケース4:業務自動化スクリプトの作成(非エンジニア向け)

エンジニアでなくても、Gemini CLIは活用できます。例えば「毎日の売上レポートをSlackに送信するスクリプト」を依頼した場合:

  • 「レポートファイルの形式は?」→ CSV / Excel / JSONから選択
  • 「送信先のSlackチャンネル名を教えてください」→ テキスト入力
  • 「送信時刻は毎朝何時ですか?」→ テキスト入力
  • 「エラー時には別チャンネルへ通知しますか?」→ Yes/No

業務知識はユーザーが持ち、実装はGemini CLIが担う——という理想的な分業が実現します。


類似ツールとの比較:Ask UserはAIエージェント設計の何が違うのか

主要AIコーディングツールの対話機能比較

機能 Gemini CLI(Ask User) Claude Code GitHub Copilot(エージェント)
構造化された質問ダイアログ ✅ 専用UI(ダイアログ形式) ❌ テキストチャット形式 ❌ テキストチャット形式
複数選択式(ラジオ/チェック) ✅ ネイティブ対応 ❌ 非対応 ❌ 非対応
複数質問を一括表示 ✅ 最大4問同時 ❌ 1問ずつ ❌ 1問ずつ
実行の自動一時停止 ✅ 自動 ✅ 確認あり △ 設定依存
Plan Mode連携 ✅ 統合済み △ 類似機能あり ❌ なし
無料利用枠 ✅ あり(Googleアカウントのみ) ❌ 有料(Claude Proプラン必須) △ 限定的
オープンソース ✅ Apache 2.0 ❌ クローズド ❌ クローズド

Gemini CLIは「オールマイティなAIターミナルアシスタント」として幅広い用途に対応し、Claude Codeは「純粋なコーディングパートナー」として開発タスクに特化している、という設計思想の違いがあります。

Ask Userツールは、Gemini CLIが「幅広い用途に対応する」という設計思想を具現化した機能といえます。コーディングだけでなく、業務自動化やリサーチ、ドキュメント生成といった多様なタスクで「人間の意図を正確にキャッチする」ための仕組みです。

Claude Codeとの根本的な違い

Claude Codeは開発者との対話が豊富で、設計段階から理由の説明まで丁寧な情報を提供します。一度指示を出せば開発者は初期指示と最終確認に注力できる、自律性の高いスタイルが特徴です。

一方でGemini CLIのAsk Userは、「AIが自らの不足情報を認識して質問を構造化して提示する」という仕組みが特徴です。テキストでのやり取りではなく、UIコンポーネント(ラジオボタン・チェックボックス相当)として提示されるため、ユーザーは迷わず回答できます。


注意点・デメリット:使う前に知っておきたいこと

Ask Userツールは非常に便利ですが、現時点(2026年3月)ではいくつかの制限・注意点があります。

1. 非インタラクティブモードでは無効

Ask Userツールは非インタラクティブモードから除外されています。つまり、--headless フラグを使ったバッチ処理や、パイプライン内での自動実行時にはAsk Userは機能しません。完全自動化のワークフローに組み込む際は注意が必要です。

2. 質問数は最大4問まで

1回のAsk User呼び出しで提示できる質問は最大4問です。複雑なプロジェクト設定では、複数回に分けて確認が行われることがあります。

3. 選択肢のラベルは短め推奨

各選択肢のラベルは1〜5ワード程度の短い表現が推奨されています。詳細な説明は description フィールドに記載する設計になっているため、ラベルの長文記述は避けましょう。なお、v0.31.0以降では、headerラベルの16文字制限が緩和される対応も進んでいます。

4. あくまで「実験的機能と連携する部分がある」

Plan ModeはまだExperimental(実験的)なステータスです。本番業務への採用は、動作確認を十分に行ってからにしましょう。

5. モデルの判断に依存する

Ask Userツールを起動するかどうかはモデルの判断に委ねられています。シンプルな指示では確認なしに実行が進むこともありますし、不必要な確認が入ることもあります。GEMINI.md(プロジェクト設定ファイル)でモデルへのガイダンスを記述することで、挙動をある程度コントロールできます。


導入・設定方法:Ask Userツールをすぐに試す手順

インストールとアップデート

# 新規インストール(npxで即時利用可能)
npx @google/gemini-cli

# グローバルインストール
npm install -g @google/gemini-cli

# 既存インストールのアップデート
npm update -g @google/gemini-cli

Gemini CLIはGoogleアカウントでのログインのみで利用可能で、APIキーなしでも使えます。無料枠は毎分60リクエスト、1日1,000リクエストまで対応しています。

GEMINI.mdによるAsk Userの活用最適化

プロジェクトルートに GEMINI.md を配置することで、モデルへの動作ガイダンスを事前設定できます。

# GEMINI.md(プロジェクト設定例)

## 作業開始前に必ず確認すること
- 新規ファイル作成前は必ずファイル名とディレクトリ構造を確認すること
- データベース操作を伴うタスクでは使用するテーブル名を確認すること
- 本番環境への影響がある変更は必ずデプロイ確認を行うこと

## プロジェクト概要
- バックエンド: FastAPI(Python 3.12)
- データベース: PostgreSQL 16
- フロントエンド: Vue 3 + TypeScript

このように記述しておくことで、モデルが適切なタイミングでAsk Userを活用する確率が高まります。

Plan Modeと組み合わせた実践例

# Gemini CLIを起動
gemini

# Plan ModeをONにする(実験的機能)
> /plan on

# 作業を指示
> このプロジェクトのCI/CD設定をGitHub Actionsで追加してください
# → Ask Userダイアログが起動し、使用言語・ブランチ戦略などを確認
# → 確認後に実行計画を生成・表示
# → ユーザーが計画を承認後、実際の作業を開始

まとめ:Ask Userツールが示すAIエージェントの進化方向

Gemini CLIのAsk Userツールは、「AIが一方的に作業する」時代から「AIと人間が構造化されたダイアログで協力して作業する」時代への移行を象徴する機能です。

改めて重要なポイントを整理します:

  • Ask Userツールはユーザーの好みを確認したり、要件を明確化したり、意思決定を支援するためのもので、複数選択・自由テキスト・Yes/No確認といった形式に対応しています。
  • v0.29.0(2026年2月17日)で正式実装され、Plan Modeと統合されました
  • 非インタラクティブモードでは動作しない点は要注意
  • GEMINI.mdで事前設定することでAsk Userの活用精度が向上します

エンジニアにとっては「やり直しコスト削減」、ビジネスパーソンにとっては「AIへの指示難易度低下」という実際のメリットがあります。特に複数の選択肢が絡むプロジェクト設定や、組織固有のルールが必要なタスクでは、Ask Userツールが効果的です。

Gemini CLIはオープンソース(Apache 2.0)で、GitHubスターも9万5千超という活発なコミュニティが形成されています。毎週火曜日にアップデートがリリースされているため、今後さらなる機能強化が期待できます。

まだGemini CLIを試したことがない方は、Googleアカウントさえあれば無料で始められます。ぜひAsk Userツールの体験から試してみてください。

engineer-kichizitsu.net

engineer-kichizitsu.net

engineer-kichizitsu.net

engineer-kichizitsu.net

engineer-kichizitsu.net

engineer-kichizitsu.net

当サイトは、アフィリエイト広告を使用しています。