Skip to main content

Windows ターミナルでの GitHub Copilot の責任ある使用

GitHub Copilot を責任を持って使用する方法について学習し、その目的、機能、制限事項を理解します。

この機能を使用できるユーザーについて

GitHub Copilot Individual のサブスクリプションがある場合は、Windows Terminal の GitHub Copilot にアクセスできます。

GitHub Copilot Business または GitHub Copilot Enterprise のサブスクリプションがある organization またはエンタープライズの所有者は、GitHub Copilot in the CLI のポリシーに基づき organization またはエンタープライズ内のユーザーに対して Windows Terminal の GitHub Copilot へのアクセスを許可するかどうかを決定できます。

Windows Terminal での GitHub Copilot について

ターミナル チャットのチャット インターフェイスの GitHub Copilot を使えば、コマンド ラインについて質問することができます。 GitHub Copilot に質問すると、コマンドの提案または指定されたコマンドの説明が提供されます。

GitHub Copilot でサポートされている主な言語は英語です。

GitHub Copilot は、自然言語処理と機械学習を組み合わせて使用することで機能し、質問を理解して、回答を提供します。 このプロセスは、いくつかの手順に分けることができます。

入力処理

ユーザーからの入力プロンプトはターミナル チャットによって前処理され、コンテキスト情報 (アクティブなシェルの名前とチャット履歴) と組み合わせて、大規模言語モデルに接続された GitHub サービスに送信されます。そして大規模言語モデルにより、そのコンテキストとプロンプトに基づいて応答が生成されます。 ユーザー入力は、自然言語のプロンプトまたは質問の形式をとることができます。 このシステムは、コマンド ライン関連の質問に応答することのみを目的としています。 詳しくは、「ターミナル チャット」を参照してください。

言語モデルの分析

入力プロンプトは、大量のテキスト データでトレーニングされたニューラル ネットワークである言語モデルを通過します。 言語モデルでは、入力プロンプトが分析され、クエリに最も関連性の高いコマンドまたはコマンドの説明が見つかります。

応答の生成

言語モデルによって、入力プロンプトの分析に基づいた応答が生成されます。 この応答は、提案されたコマンドまたは質問したコマンドの説明の形式をとります。 提案されたコマンドを実行する場合は、そのコマンドをクリックしてコマンド ラインに挿入する必要があります。 コマンドが自動的に実行されることはありません。 手動でコマンドを実行する必要があります。

出力の形式

GitHub Copilot によって生成された応答は、書式設定されてユーザーに表示されます。 ターミナル チャットと GitHub Copilot では、生成された応答をわかりやすくするために、構文の強調表示、インデント、その他の書式設定機能が使用されます。

GitHub Copilot は、質問に最も関連性の高い回答を提供することを目的としています。 ただし、お探しの回答が必ず提供されるとは限りません。 GitHub Copilot のユーザーは、システムによって生成された応答を確認して検証し、それが正確かつ適切であることを確認する必要があります。

Windows Terminal での GitHub Copilot のユース ケース

ターミナル チャットの GitHub Copilot は、コマンドの提案または指定されたコマンドの説明を提供することによってユーザーを支援します。

タスクを実行するための適切なコマンドを見つける

GitHub Copilot は、完了しようとしているタスクの実行に役立つコマンドを提案することを目的としています。 結果が期待したものと異なる場合は、返されたコマンドが期待どおりになるまで質問を修正し続けることができます。 タスクにとって最適なコマンドを生成したら、それをコマンド ラインに挿入して、必要な場所で実行することができます。

未知のコマンドについて説明する

GitHub Copilot は、ユーザーが質問したコマンドについて説明するのに役立ちます。そのコマンドの機能と目的についての説明を自然言語で生成できます。 これは、コマンドのドキュメントを読んだり検索したりせずに、提供された特定の例に対するコマンドの動作を理解する場合に便利です。 説明には、コマンドの入力パラメーターや出力パラメーターなどの情報と、コマンドの使用方法の例を含めることができます。

GitHub Copilot で説明を生成することで、コマンドへの理解が深まり、学習の強化、生産性の向上、コンテキスト切り替えの削減につながる可能性があります。 ただし、生成された説明が必ずしも正確または完全であるとは限らないので、出力を確認し、場合によっては修正する必要があることに注意してください。 ユーザーは、コマンド ラインで実行するコマンドの精度と妥当性を確認する必要があります。

Windows Terminal での GitHub Copilot を改善する

GitHub Copilot のエクスペリエンスを向上させ、いくつかの制限事項に対処するために、さまざまな手段を取ることができます。 制限事項について詳しくは、「GitHub Copilot の制限事項」を参照してください。

代替手段ではなくツールとして GitHub Copilot を使う

GitHub Copilot は、コマンドやコマンド ラインの理解を深めるための強力なツールになり得ますが、人間によるプログラミングの代わりではなく、ツールとして使用することが重要です。 GitHub Copilot によって生成されたコマンドを常にレビューして検証し、要件を満たしていること、エラーやセキュリティ上の懸念がないことを確認する必要があります。

フィードバックを提供する

Windows Terminal での GitHub Copilot に関して問題や制限が発生した場合は、Windows Terminal のリポジトリで issue を開いてフィードバックを提供することをお勧めします。 これは、開発者がツールを改善し、懸念事項や制限事項に対処するのに役立ちます。

Windows Terminal での GitHub Copilot の制限事項

使用するオペレーティング システムや入力データなどの要因によっては、ターミナルで GitHub Copilot を使うときの精度が異なる場合があります。 次の情報は、GitHub Copilot に適用されるシステム制限とパフォーマンスに関する主な概念を理解するのに役立ちます。

制限付きのスコープ

GitHub Copilot は定義された境界内で動作するため、複雑なコマンド、あまり一般的でないコマンド、最近開発されたツールなどに関しては精度が落ちる可能性があります。 各言語で提供される提案の品質は、トレーニング データの可用性と多様性に影響される可能性があります。 たとえば、Git などの十分に文書化されたコマンドやツールに関する問い合わせでは、あまり知られていないコマンド ライン ツールに関する質問に比べて、より正確な応答が得られる場合があります。

潜在的なバイアスとエラー

GitHub Copilot のトレーニング データは、既存のオンライン ソースから取得されています。 これらのソースには、トレーニング データに貢献した人物それぞれのバイアスとエラーが含まれている可能性があることに注意してください。 GitHub Copilot は、こうしたバイアスやエラーを誤って残してしまう可能性があります。 さらに、GitHub Copilot のパフォーマンスはスクリプト言語やスクリプト スタイルによって異なる場合があり、その結果、コマンドの提案や説明が最適でなかったり、不完全になったりする可能性があります。

不正確な応答

GitHub Copilot では、一見有効であるように見えても、構文的または意味的に正しくないコマンドが生成される場合があります。 問題を回避するには、特にコンテンツの削除などの重大または破壊的なタスクの場合は、常に慎重に提案を確認して検証してください。 生成されたコマンドがベスト プラクティスと一致し、ワークフローに適合していることを確認します。

コマンド実行におけるリスク管理とユーザーアカウンタビリティ

GitHub Copilot にコマンドの実行を依頼する機能の追加に関しては、特に提案される一部の破壊的なコマンドについて、さらなる注意が必要になります。 ファイルの削除またはハード ドライブのフォーマットに関するコマンドが発生する可能性があり、誤って使用した場合、問題が発生する可能性があります。 特定のシナリオではこのようなコマンドが必要になる一方、これらのコマンドを受け入れて実行するときは注意が必要です。

また、最終的には、ユーザーが GitHub Copilot によって実行されたコマンドの責任を負います。 GitHub Copilot によって生成されたコマンドを使用するかどうかは、完全にユーザーの判断です。 フェイルセーフ装置と安全メカニズムが存在するにもかかわらず、コマンドの実行には内在するリスクがあることを理解する必要があります。 GitHub Copilot には強力なツール セットが用意されていますが、その提案は慎重に扱い、コマンドが自分の意図や要件と合致していることを確認する必要があります。

コーディング以外のトピックに対する不正確な応答

Windows Terminal での GitHub Copilot は、コマンド ライン関連のタスクの範囲を超えた質問に回答するようには設計されていません。 その結果、コーディングや一般的なコマンド ラインの使用に関係のない質問に直面したときに、その応答では一貫して精度や支援が提供されない可能性があります。 コーディング以外のトピックについて問い合わせても、GitHub Copilot では意味のある応答を提供できないことがあります。

自然言語に基づくパフォーマンスの違い

GitHub Copilot は、主に英語で記述された自然言語コンテンツでトレーニングされています。 そのため、英語以外の言語で GitHub Copilot に自然言語の入力プロンプトを指定すると、パフォーマンスが異なる場合があります。

参考資料