タスク管理(CLI)
cockpit taskでタスクを作成・委任し、状態とレポートを確認して、追加指示、再開、完了まで安全に管理する方法を説明します。
cockpit taskは、AIエージェントや利用者がCockpitのタスクを作成し、状態を読み、次の指示を送り、結果を回収するためのCLIです。一件の仕事を別タスクへ委任する場合は、このページの流れを使います。依存関係付きの処理をYAMLで再利用する場合はFleetを選びます。
createとrunを使い分ける
| 目的 | コマンド | 戻り方 |
|---|---|---|
| タスクを作成してIDを受け取る | cockpit task create |
作成結果をすぐ返す |
| タスクを作成し、最初のレポートまで待つ | cockpit task run |
最初の停止点、エラー、完了で返す |
| シェルコマンドだけを実行する | cockpit task create --agent-type terminal --command "..." |
Terminalタスクを作成する |
別タスクの結果が次の判断に必要ならrunを使います。作成後すぐ別の作業へ進み、あとで一覧から確認するならcreateを使います。
cockpit task run \
--instruction "変更を調査し、原因と確認結果を報告してください" \
--directory /path/to/repo \
--agent-type codex
長い指示、Markdown、引用、バッククォート、$を含む指示はシェル引数へ埋め込まず、--stdinまたは--instruction-fileで渡します。
cockpit task run --instruction-file instruction.md \
--directory /path/to/repo \
--agent-type codex
作業場所と実行設定を決める
既存プロジェクトを扱う場合は--directoryを指定します。省略するとOSの一時フォルダーで始まり、完了時に作業場所が削除されることがあります。Git Worktreeを分離する場合は--worktreeを使います。
エージェント、モデル、推論レベル、アカウント、承認モード、Browser Identityはタスクごとの実行条件です。対応しない組み合わせはエラーになり、無言で別設定へ切り替わりません。特に外部サイトを扱うタスクでは、必要なログイン状態を持つBrowser Identityを明示します。
cockpit task create \
--instruction "管理画面の公開状態を確認してください" \
--directory /path/to/repo \
--agent-type codex \
--browser-identity work
親子タスクを作る
タスク内から作成したタスクは、既定で呼び出し元の子タスクになります。別の親を明示する場合は--parent-task-idを使います。親子関係はタスク一覧と子タスクパネルの階層を作りますが、結果配送の契約ではありません。
子タスクが停止点へ達しても、親が自動的に全成果を受け取るとは限りません。親側はtask runの返り値、task wait、またはtask getから必要なレポートを読み、差分、テスト、URLなど依頼した証拠を確認します。
状態と待機理由を読む
cockpit task list
cockpit task list --status waiting_confirmation
cockpit task get <task-id> --turns 3 --max-lines 500
| フィールド | 判断 |
|---|---|
running |
実行中。待つか、必要な場合だけ追加指示を検討する |
waiting_confirmation |
入力待ち。waitingReasonとreadyForNextPromptを確認する |
completed |
プロセスが終了した状態。成果確認が終わった意味ではない |
error |
起動または実行に失敗。errorMessageと直近の会話を読む |
needsResume: true |
プロセスが止まっているため、同じタスクを再開できる |
waitingReasonがpermissionまたはquestionなら、エージェント内の確認が続いています。readyForNextPromptがfalseの間に別の指示を重ねません。usage_limitなら利用できるアカウントとリセット時刻を確認します。
レポートを順番に受け取る
task runとtask waitが返すreport.seqはタスクごとに増加します。処理済みの番号を--sinceへ渡すと、同じレポートを重複処理せず次のレポートを待てます。
cockpit task wait <task-id> --since <last-seq> --timeout 110
timeout: trueはタスク失敗ではありません。現在状態を必要に応じて確認し、同じ--sinceから待機を続けます。短い間隔でtask getを繰り返す代わりに、継続監視にはtask waitを使います。
追加指示を送る
タスクが次の指示を受け取れる状態ならtask sendを使います。そのターンのレポートまで必要な場合は--waitを付けます。
cockpit task send <task-id> --text "失敗したテストだけ修正し、再実行してください" --wait
複数行の指示は--stdinまたは--text-fileで渡します。確認画面に対してEnterを送るだけなら、本文を付けずcockpit task send <task-id>を実行します。送信前にwaitingReasonを読み、質問への回答なのか、ツール許可なのか、通常の追加指示なのかを区別してください。
アカウントとBrowser Identityを切り替える
利用上限などで続行できない場合、対応するエージェントではタスクのアカウントを切り替えられます。切り替え後、停止理由に応じて続行指示を送ります。
cockpit task account <task-id> work
Browser Identityの変更は、そのタスクの次のブラウザーセッションへ使う永続領域を切り替えます。CookieやlocalStorageをIdentity間でコピーしません。
cockpit task browser-identity <task-id> work
完了、再開、削除を区別する
| 操作 | 結果 |
|---|---|
task resume |
停止したタスクを同じ履歴で再開する |
task complete |
プロセスを止めて完了へ移す。CLIではWorktreeを既定で削除する |
task complete --keep-worktree |
Worktreeを残して完了へ移す |
task remove |
タスクと履歴をCockpitから削除する |
完了や削除は、利用者が明示的に求めた場合だけ行います。差分、生成物、レポート、公開URLなど必要な成果を保存し、対象IDを再確認してから実行してください。
完了を判定する
タスク管理の完了は、表示上の状態だけでなく次を確認します。
- 依頼した成果と証拠をレポートまたは実ファイルから回収した
- 確認待ち、利用上限、エラー、タイムアウトを未解決のまま残していない
- 親タスクが子タスクの結果を必要な順序で統合した
- 外部公開や削除は承認された対象だけに行われた
- 作業場所を消す前に必要な変更を保存した
全構文はcockpit task Reference、画面上の確認はタスク一覧とタスク詳細を参照してください。