# GitHub Copilot CLI での Autopilot モードの使用

Copilot CLIに明確に定義されたタスクを与え、各ステップの後に入力を待たずに、実装、テスト、イテレーションを自律的に進められるようにします。

Autopilot モードを使用するタイミングと、タスクを渡す前に考慮すべき事項の概要については、 [GitHub Copilotが自律的に動作できるようにする](/ja/copilot/concepts/agent-capabilities/agent-powered-workflows-and-operations/autopilot) を参照してください。

## Autopilot モードの開始または切り替え

対話型の Copilot CLI セッションから Autopilot モードを開始できます。

1. ターミナルで、CLI を起動します。

   ```shell copy
   copilot
   ```

2. *

<kbd>
</kbd>
<kbd>Tab</kbd> キーを押して、状態行に Autopilot モードが表示されるまで続けます。
1. CLI でアクセス許可の処理方法が求められた場合は、すべてのアクセス許可を有効にするか、セッションに対して手動承認を使用するか、キャンセルするかを選択します。
1. 結果と想定するチェックを含む特定のプロンプトを入力します。 例えば次が挙げられます。

```copilot
Add pagination to the users API. Preserve the existing response
fields, add tests for the first and final pages, and run the API
test suite.
```

`/autopilot`スラッシュ コマンドを使用して、Autopilot モードを開始したり、Autopilot モードに再びフォーカスを移したりすることもできます。

```copilot
/autopilot Fix the failing API tests and verify the full test suite
```

Autopilot モードを終了するには、 <kbd>Shift</kbd>+<kbd>Tab</kbd> キーを押して別のモードに切り替えます。

## プランから Autopilot モードへの移行

複雑な作業の場合は、自律的な実装を許可する前に、計画を作成し、レビューしてから進めます。

1. 対話型セッションで、状態行にプラン モードが表示されるまで <kbd>Shift</kbd>+<kbd>Tab</kbd> キーを押します。
2. 変更、制約、および必要な検証について説明するプロンプトを入力してください。
3. 計画を確認し、要件に一致するまで Copilot にその計画を修正するよう依頼します。
4. **プランを受け入れて Autopilot 実行モードで続行** を選択します。
5. メッセージが表示されたら、タスクに適したアクセス許可を選択します。
6. 実装状況を確認し、結果の変更を確認し、テスト出力を確認します。

コマンド ラインから plan-then-Autopilot セッションを開始するには、次のように入力します。

```shell copy
copilot --plan --mode autopilot
```

このコマンドは、planning モードの準備ができたら自動的に planning モードから Autopilot モードに移行します。 対話型プランの承認を待つことはありません。 正確な動作と互換性のあるオプションについては、[GITHUB COPILOT CLI コマンド リファレンス](/ja/copilot/reference/copilot-cli-reference/cli-command-reference#plan-then-autopilot) を参照してください。

## アクセス許可の構成

オートパイロット モードに入ると、すべてのアクセス許可 Copilot まだ付与されていない場合は、次の 3 つのオプションから選択するように求めるメッセージが表示されます。

```text
1. Enable all permissions (recommended)
2. Use Manual Approval for this session
3. Cancel (Esc)
```

すべてのアクセス許可を有効にすると、Autopilot モードから最適な結果が得られます。 手動承認を選択した場合、 Copilot は承認を必要とするツール要求を自動的に拒否します。これにより、特定のタスクが完了できなくなる可能性があります。 後で、 `/allow-all` コマンド (またはそのエイリアス `/yolo`) を使用して、Autopilot セッション中に完全なアクセス許可を付与することができます。

Copilot幅広いアクセス許可を付与する前に、ローカル サンドボックスを使用するか、クラウド サンドボックスでセッションを実行して、アクセスできるCopilotを制限することを検討してください。

Autopilot モードの使用中にローカル サンドボックスを有効にした場合、Copilot は中断することなくサンドボックス内で実行できることはすべて完了します。 ただし、サンドボックスをエスケープする必要がある手順 (現在の作業ディレクトリの外部にあるファイルへの書き込みなど) は拒否されます。 ローカル サンドボックスの詳細については、「 [ローカル サンドボックスについて GitHub Copilot](/ja/copilot/concepts/about-cloud-and-local-sandboxes)」を参照してください。

## Autopilot モード、`--allow-all`、および `--no-ask-user`の比較

これらのコントロールは、 Copilot CLI のしくみの個別の側面に影響します。

* **Autopilot モード** は継続の可否を制御します。 エージェントは、別のプロンプトを待たずに、AI モデルとの追加の対話を必要とする連続する手順を実行できます。
* **`--allow-all`** およびそのエイリアス `--yolo` は、承認を制御します。 それらは、エージェントがアクセス許可を求めずにすべてのツール、パス、URLを使用できるようにしますが、自律継続は有効にしません。 対話型モードでは、エージェントは追加の指示が必要な場合でも停止します。
* **`--no-ask-user`** は、明確化のための質問を抑制します。 エージェントは入力を求める代わりに決定を下しますが、連続するモデル操作は、Autopilot モードも有効になっている場合に限り続行されます。

対話型セッション中に、 `/allow-all` または `/yolo`を使用してすべてのアクセス許可を有効にすることができます。

> [!NOTE]
> `/allow-all`コマンドと`/yolo` コマンドを使用すると、現在のセッションのすべてのアクセス許可が有効になります。 いずれかのコマンドをもう一度入力しても、アクセス許可は無効になりません。

アクセス許可に使用できるコマンド オプションの詳細については、[GITHUB COPILOT CLI コマンド リファレンス](/ja/copilot/reference/copilot-cli-reference/cli-command-reference#command-line-options)を参照してください。

## 自動作業の制限

制限を使用して、タスクが予想以上に長く継続したり、より多くの AI credits を消費したりしないようにします。

* 自動継続メッセージの上限を設定するには、`--max-autopilot-continues=COUNT` を使用します。
* `--max-ai-credits=CREDITS`を使用して、プログラムからの使用向けのソフト AI credit 制限を設定します。
* 対話型セッションでは、 `/limits` を使用して、 AI credit の制限を検査または変更します。

現在の既定値と受け入れ値については、 [GITHUB COPILOT CLI コマンド リファレンス](/ja/copilot/reference/copilot-cli-reference/cli-command-reference#command-line-options) を参照してください。
AI credit制限の手順については、[で AI credit セッション制限を設定する GitHub Copilot CLI](/ja/copilot/how-tos/copilot-cli/use-copilot-cli/set-session-limit) を参照してください。

## 作業を停止して見直す

1. 実行中のターンを中断するには、<kbd>Esc</kbd> キーを 2 回押してください。

2. 次のプロンプトが Autopilot モードで実行されないようにするには、<kbd>Shift</kbd>+<kbd>Tab</kbd> キーを押して別のモードを選択してください。

3. エージェントが変更したファイルを確認します。 CLI では、次の方法で差分ビューを開くことができます。

   ```copilot
   /diff
   ```

4. 変更をコミットまたはプッシュする前に、関連するテスト、リンター、およびセキュリティ チェックを実行してください。

すべての中断コントロールとレビュー コントロールについては、 [GITHUB COPILOT CLI コマンド リファレンス](/ja/copilot/reference/copilot-cli-reference/cli-command-reference#global-shortcuts-in-the-interactive-interface) を参照してください。

## 次のタスクのモードの選択

既定では、Autopilot モードは維持されます。Copilot がタスクが完了したと判断すると、Copilot CLI は Autopilot モードのままになるため、入力した次のプロンプトもオートパイロット モードで処理されます。 <kbd>Shift</kbd>+<kbd>Tab</kbd> キーを押すと、いつでも標準の対話型モードに切り替えることができます。

各タスクの完了後に Copilot CLI が自動的に対話型モードに戻るようにしたい場合は、`stayInAutopilot` を `false` に設定することで、この動作を無効にできます。 これは、次のいずれかの方法で行うことができます。

* 対話型セッション中に、「 `/settings stayInAutopilot false`」と入力します。
* ユーザー構成ファイル (`"stayInAutopilot": false`) に`~/.copilot/settings.json`を追加します。 詳細については、「[GitHub Copilot CLI の構成ディレクトリ](/ja/copilot/reference/copilot-cli-reference/cli-config-dir-reference#user-settings-copilotsettingsjson)」を参照してください。

この設定を無効にすると、タスクが完了した時点で、Copilot は自動的に標準の対話型モードに戻ります。 Autopilot モードで別のタスクを実行するには、<kbd>Shift</kbd>+<kbd>Tab</kbd> キーを押して、オートパイロット モードに再び入るまで使用可能なモードを順番に切り替え、次のプロンプトを入力します。

> [!NOTE]
> この設定では、タスクの *完了後に使用* するモードのみが制御されます。 タスクの完了を決定した後も、 Copilot が動作し続けることは発生しません。 Autopilot は、タスクが完了したとき、問題が発生したとき、<kbd>Ctrl</kbd> キー+<kbd>C</kbd> キーを押したとき、または継続制限に達したときに停止します。

## プログラムによる Autopilot モードの実行

最初のプロンプトの後で CLI を続行する必要があるスクリプトまたはその他の非対話型ワークフローには、プログラムによる Autopilot モードを使用します。

1. タスクに必要なアクセス許可を決定します。

2. タスクに適した継続制限または AI credit 制限を設定します。

3. `-p`と`--autopilot`でプロンプトを実行してください。 例えば次が挙げられます。

   ```shell copy
   copilot --autopilot --yolo --max-autopilot-continues 10 -p "YOUR PROMPT HERE"
   ```

`YOUR PROMPT HERE`を特定のタスクに置き換えます。 この例では、すべてのアクセス許可を付与し、自動継続の最大数を `10`に設定します。

プログラム オプションの完全な一覧については、 [GitHub Copilot CLI プログラムリファレンス](/ja/copilot/reference/copilot-cli-reference/cli-programmatic-reference) と [GITHUB COPILOT CLI コマンド リファレンス](/ja/copilot/reference/copilot-cli-reference/cli-command-reference#command-line-options) を参照してください。