Skip to main content
Select language: current language is Japanese
検索する、または Copilot に質問する
メニューを開く

GitHub Copilot CLI が自律的に動作できるようにする

CLI のオートパイロット モードを使用すると、Copilot CLI はタスクで自律的に動作し、タスクが完了するまで複数のステップを実行できます。

概要

通常、Copilot CLI を対話形式で使用する場合は、プロンプトを送信し、Copilot CLI が応答するのを待ってから、次の指示を与える必要があります。 この前後の対話は、タスクが完了するまで続行されます。

Autopilot モードを使用すると、Copilot CLI は、各ステップの後に入力を待たずにタスクを処理できます。 最初の指示を行うと、Copilot CLI はタスクが完了したと判断されるまで、各ステップを自律的に実行します。

CLI の標準対話型モードとオートパイロットモードの違いは、例えるなら、一緒に作業をしつつも主に同僚がその作業を行い、途中であなたに確認を求めるパターンと、作業をすべて同僚に任せて「これが必要です。完了したら知らせてください」と伝えるパターンとの違いに似ています。

オートパイロット モードでは、Copilot は、次のいずれかが発生するまで継続します。

  • エージェントは、タスクが完了したと判断します。
  • それ以上の進行状況を妨げる問題が発生します。
  • Ctrl+キーを押して、エージェントの続行を停止します。
  • 継続の上限に達しました (設定されている場合)。

対話型セッション中にオートパイロット モードに切り替えるには、 Shift+Tab キーを押し、オートパイロット モードになるまで使用可能なモードを順番に切り替えて、プロンプトを入力します。 オートパイロット モードから標準対話型モードに切り替えるには、同じキー押下を使用します。

オートパイロット モードの利点

  •         **ハンズオフ自動化:** Copilot は、最初の命令の後に入力を必要とせずにタスクを完了します。
    
  •         **効率:** テストの記述、ファイルのリファクタリング、CI エラーの修正などの明確に定義されたタスクに最適です。 Autopilot は、実行時間の長いマルチステップ セッションを必要とする大規模なタスクに特に適しています。
    
  •         **バッチ操作:** Copilot を実行して完了させるスクリプト作成と CI ワークフローに役立ちます。
    
  •         **安全:** Autopilot モードでは、Copilot が複数の自己指示型の手順を実行してタスクを完了できます。 
            `--max-autopilot-continues` は、無限ループを回避するために、停止する前に実行できるステップの数を制限します。 また、オートパイロット モードでは、Copilot は、完全なアクセス許可を明示的に付与しない限り、アクセス許可を必要とするアクションを実行できません。
    

考慮すべき事項

  •         **タスクの適合性:** Autopilot モードは、明確に定義されたタスクに最適です。 オープン エンドの探索、明確な目標のない機能開発、進行中の作業をガイドするタスクには理想的ではありません。
    

    Copilot はタスクを完了するために最善を尽くしますが、あいまいまたはあいまいな命令や、途中で微妙な判断の呼び出しを必要とするタスクに苦労する可能性があります。 これにより、予期した内容ではなく、修復作業なしでは使用できない一連のコード変更が発生する可能性があります。

  •         **信頼:** 適切な決定を行うには、Copilot を信頼する必要があります。 Autopilot モードは、すべてのアクセス許可に対して承認を付与する場合に最適です。 これは、 `--allow-all` オプションを使用して Copilot CLI を実行することと同じです。 これにより、ファイルの変更や削除など、タスクを完了するために必要と思われる変更を行うアクセス許可が CLI に付与されます。
    
  •         **コスト:** Autopilot モードでは、標準の対話型インターフェイスで作業する場合と同じ方法で Premium 要求が使用されます。 標準モードでは、最初のプロンプトを送信するときに 1 つの Premium 要求が使用され、CLI で質問に返信するたびに追加の Premium 要求が使用され、エージェントは応答を使用して AI モデルと対話します。 オートパイロット モードでも同じことが適用されます。ただし、次の手順の開始に関与していない点が異なります。そのため、追加の Premium 要求の使用は、直接関与することなく行われます。
    

    課金対象の Premium 要求の使用量は、乗数を使用して決定されます。 乗数は、使用するモデルによって異なります。 /modelスラッシュ コマンドを使用して、現在選択されているモデルとその乗数を確認し、必要に応じてモデルを変更します。 詳細については、「GitHub Copilot での要求」および「個々のGitHub Copilot プランの課金について」を参照してください。

    エージェントが自律的に続行されるたびに、モデルの乗数を考慮して、その継続手順で使用された Premium 要求の数を示すメッセージが CLI に表示されます (例: Continuing autonomously (3 premium requests))。

Permissions

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

1. Enable all permissions (recommended)
2. Continue with limited permissions
3. Cancel (Esc)

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

オートパイロットモード、--allow-all、および --no-ask-user の比較

          `--allow-all`およびそのエイリアス `--yolo`は、対話型セッションを開始するときに `copilot` コマンドに渡すことができるアクセス許可関連のオプションです。 使用可能なオプションの完全な一覧については、 [AUTOTITLE を](/copilot/reference/copilot-cli-reference/cli-command-reference#command-line-options)参照してください。

          `--allow-all`オプションと`--yolo`オプションを使用すると、CLI エージェントはすべてのツール、パス、および URL を使用できます。 対話型セッション中に、`/allow-all`やスラッシュコマンド`/yolo`を使用してこれらのアクセス許可を設定することもできます。

メモ

          `/allow-all`と`/yolo`を入力すると、現在のセッションのアクセス許可が有効になります。 これらのスラッシュ コマンドをもう一度入力してもアクセス許可は無効になりません。つまり、これらのコマンドはアクセス許可のオンとオフを切り替えません。
          `--allow-all`を使用して、通常の対話型フローを継続して行います。 Copilot は引き続き停止し、決定ポイントに達したときに何を行いたいかを尋ねます。 ただし、Copilot CLI が通常は承認が必要な操作(ツール、パス、URLの使用など)を行う必要がある場合も、許可を求めることなく実行されます。

          `--no-ask-user` オプションを使用すると、Copilot が通常行う明確化のための質問を抑制します。 代わりに、エージェントは入力を要求するのではなく、単独で決定を行う必要があります。 これにより、ある程度の自律性が提供されます。 ただし、autopilot モードとは異なり、 `--no-ask-user` では、AI モデルとの対話が必要な連続する手順を通じて、エージェントがタスクの作業を続行することはできません。 このオプションを使用すると、CLI は、最初のプロンプトの後で、ユーザーの関与なしに追加のプレミアムリクエストを使用しません。

オートパイロット モードを使用するための一般的なワークフロー

Autopilot モードは、大規模で詳細な作業計画を実装するのに最適です。 多くの場合、プラン モードで Copilot を使用して実装計画を作成した後、オートパイロット モードに切り替えると便利です。 プラン モードの詳細については、「 GitHub Copilot CLI のベスト プラクティス」を参照してください。

例えば次が挙げられます。

  • 対話型 Copilot CLI セッションを開始します。

    必要に応じて、アクセス許可を付与する --allow-all オプションと、 --max-autopilot-continues オプションを含めて、セッション中の自動パイロット モードの最大継続制限を設定できます。 たとえば、 copilot --allow-all --max-autopilot-continues 10 を使用してセッションを開始し、エージェントにすべてのツール、パス、URL を使用するアクセス許可を付与し、autopilot の最大継続制限を 10 に設定できます。

  • 対話型セッションの開始時に、現在のフォルダー内のファイルを信頼するように求められた場合は、このオプションをそのまま使用します。

  •         <kbd>Shift</kbd>+<kbd>Tab</kbd> キーを押してプラン モードに切り替え、達成する内容を説明するプロンプトを入力し、Copilot を使用して詳細なプランを作成します。
    
  • 満足のいくプランを作成したら、CLI が提示するオプションを使用して、"プランを受け入れて autopilot で構築する" ことを確認します。

  • アクセス許可の入力を求められたら、すべてのアクセス許可を有効にするオプションを選択します。

  • Copilot にプランの実装を任せます。 進行状況は定期的にチェックインできます。

プログラムによるオートパイロット モードの使用

オートパイロット モードは、Copilot CLI をプログラムで実行する場合に使用できます。たとえば、コマンド ラインで Copilot プロンプトを渡す場合や、スクリプトまたは CI ワークフローの一部として CLI を使用する場合などです。 これにより、最初のコマンドの後に CLI を操作しなくても、エンドツーエンドでタスクを自動化できます。

          `--allow-all` (または`--yolo`) オプションを使用して、 Copilot アクセス許可を付与して、すべてのツール、パス、および URL を使用できるようにします。 
          `--max-autopilot-continues` オプションを含め、ランナウェイ ループを防ぐために最大継続制限を設定できます。 これは、問題が発生した場合に介入する必要がないプログラムコンテキストで特に重要です。

使用例:

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

概要

タスクを引き継ぎ、ユーザーの関与なしで完了させたい場合は、Copilot をオートパイロットモードで使用します。 Copilot を信頼して、適切に定義された明確なタスクを任せる場合に最適です。

詳細については、次を参照してください。

  •         [AUTOTITLE](/copilot/how-tos/copilot-cli/use-copilot-cli#get-copilot-to-work-autonomously)
    
  •         [AUTOTITLE](/copilot/concepts/agents/copilot-cli/fleet)
    
  •         [AUTOTITLE](/copilot/how-tos/copilot-cli)
    
Morty Proxy This is a proxified and sanitized view of the page, visit original site.