Ask
AskがAIエージェントから人へ確認と判断を安全に受け渡し、回答後に同じタスクを再開する仕組みを説明します。
Askは、AIエージェントが作業をいったん止め、人に確認と判断を委ねるための仕組みです。回答は元のタスクへ構造化されたイベントとして返り、その同じタスクが続きから再開します。
Askが向いている場面
- 公開、削除、購入など、実行前に人の最終判断が必要
- 複数の方針に明確なトレードオフがある
- 画像、音声、動画を見聞きしないと決められない
- 関連する複数の判断を一度にまとめて確認したい
Askは単なる通知ではありません。質問は回答されるまで保持され、Desktopの専用AskウィンドウまたはPWAの「確認」から応答できます。
ほかの確認との違い
| 仕組み | 用途 | 回答後 |
|---|---|---|
| Ask | エージェントが人へ明示的な判断を委ねる | 元のタスクへ回答が返り、自動再開する |
| 通常返信 | 利用者がタスクへ次の指示を送る | 新しいターンとして進む |
| エージェント固有の質問 | 実行中のエージェントが入力を求める | そのエージェントの質問へ回答する |
| ツール実行承認 | ファイル変更やコマンドなどの実行可否を決める | 許可、常に許可、拒否の権限判断を返す |
cockpit display |
前面に情報だけを表示する | 返答を待たず、タスクを再開しない |
Askへの回答は、OSや外部サービスへの実行権限そのものではありません。権限が必要な操作では、Askによる方針確認とは別にツール実行承認が発生する場合があります。
質問と回答の形式
Askは次の形式を組み合わせられます。
- 単一選択
- 複数選択
- 自由入力
- 複数の関連質問
- 選択肢ごとの結果やトレードオフの説明
- 質問への画像、音声、動画の添付
- 回答への画像添付
選択肢だけで判断できない場合も、自由入力は既定で利用できます。質問文は、それだけを読んで決められるよう、対象、現在の状況、各選択の結果を含めます。
回答までの流れ
- エージェントがAskを作成します。
- Cockpitが質問を保存し、DesktopまたはPWAへ表示します。
- 利用者が選択、入力、必要に応じて画像添付で回答します。
- Cockpitが
cockpit.ask.resolvedイベントを元のタスクへ渡します。 - エージェントは回答を受け取り、同じ作業を続けます。
Askを回答せずに閉じると、そのAskは削除されますが、元のタスクは自動再開しません。必要なら、後から通常のメッセージでタスクを再開します。
制約
- 一つのタスクで同時に保持できるAskは一つです。
- 完了済みタスクには作成できません。
- 再開可能なAIエージェントのタスクで使い、Terminalタスクでは使えません。
- Ask作成後、エージェントは回答を待ち、回答へ依存する作業を続けません。
- 質問の添付は最大8ファイル、1ファイル512MB、合計1GBまでです。
CLIからAskを作る
cockpit ask \
--summary "本番公開の準備ができました。テストはすべて成功し、変更はドキュメントだけです。公開しますか?" \
--choice "公開する" \
--choice-description "commit、push、本番デプロイへ進みます" \
--choice "修正する" \
--choice-description "公開せず、追加指示を待ちます"
コマンドが成功するとAsk IDが返ります。エージェントはその時点でターンを終え、回答をポーリングしません。
CLIから未回答のAskを操作する
v4.39.0以降では、作成とは別に未回答のAskを一覧、回答、クローズできます。
cockpit ask list
cockpit ask list --task <task-id>
cockpit ask answer <ask-id> --choice "公開する"
cockpit ask close <ask-id>
listは質問、選択肢、添付メディアの情報を確認する操作です。answerは利用者の代理として回答し、作成元のタスクを再開します。音声エージェントが利用者の明示的な判断を伝える場合など、質問の文脈と回答する権限が明らかなときだけ使います。メディア付きのAskは、利用者または代理回答者が実際に内容を確認するまで回答しません。
closeは未回答のAskを取り除くだけで、作成元のタスクを再開しません。古いAskを整理するための操作であり、必要な判断を省略するためには使いません。