メモ
この機能は現在パブリック プレビューにあり、変更される可能性があります。
イントロダクション
開発者は、既存のコードベース (開発チームの新しいメンバーなど) の作業を開始するときに、リポジトリの README、コーディング規則のドキュメント、およびその他の情報を読んで、リポジトリを理解し、コードを更新または追加する際の作業方法を理解できます。 これにより、高品質の pull request を送信するのに役立ちます。 ただし、コードベースで作業し、詳細を学習すると、提供できる作業の品質が着実に向上します。 同様に、Copilot にリポジトリに対する独自の理解を構築できるようにすることで、時間の経過と同時に有効にできるようになります。
Copilot は、"メモリ" を格納することで、リポジトリの永続的な理解を開発できます。
メモリはリポジトリに関する厳密な範囲の情報であり、リポジトリで動作する Copilot によって推測されます。 思い出は次のとおりです。
- リポジトリ固有。
- ユーザーが Copilot メモリ を有効にして実行した Copilot アクティビティに応じてのみ作成されます。
Copilot の一部によって作成されたメモリは、Copilot の別の部分で使用できます。 そのため、たとえば、Copilot コーディング エージェント がリポジトリによるデータベース接続の処理方法を検出した場合、Copilot コード レビュー は後でそのナレッジを適用して、レビュー中のプル要求で一貫性のないパターンを見つけることができます。 同様に、Copilot コード レビュー が 2 つの個別のファイルで同期を維持する必要がある設定について学習した場合、Copilot コーディング エージェント は、いずれかのファイルの設定を変更した場合は、それに応じてもう一方のファイルを更新する必要があることを認識します。
Copilot メモリ を使用することの利点
ステートレスであり、個別の人間と AI の対話の間でコードベースの理解を維持しない AI では、プロンプト内の特定のコードに関するコーディング規則と重要な詳細を繰り返し説明するか、詳細なカスタム命令ファイルを作成する必要があります。その後、維持する必要があります。
Copilot メモリ:
- プロンプトで同じ詳細を繰り返し提供する負担を軽減します。
- カスタム命令ファイルの定期的な手動メンテナンスの必要性を軽減します。
Copilot は、永続的なリポジトリ レベルのメモリを構築して維持することで、コードベースに関する独自の知識を開発し、コーディング要件に適応し、時間の経過とともに提供できる価値を高めます。
Copilot メモリ はどこで使用されますか?
Copilot メモリ は、Copilot コーディング エージェント および Copilot コード レビュー によって、これらの機能が GitHub Web サイトでプルリクエストに取り組んでいる場合や、Copilot CLI によって使用されます。 Copilot メモリ が、Copilot 操作を開始するユーザーに対して有効になっている場合にのみ、Copilot によってメモリが作成および使用されます。
エージェント メモリは、今後のリリースで、 Copilot の他の部分、および個人および組織のスコープに拡張される予定です。
メモリの保存、保持、および使用方法
Copilot が生成する各メモリは、引用文献と共に格納されます。 これらは、メモリをサポートする特定のコードの場所への参照です。 Copilot は、現在の作業に関連する記憶を見つけた場合、現在のコードベースに対して参照をチェックし、その情報が依然として正確で、現在のブランチに関連していることを確認します。 メモリは、正常に検証された場合にのみ使用されます。
古いメモリが保持され、古い情報が Copilotの意思決定に悪影響を与えるのを防ぐために、メモリは 28 日後に自動的に削除されます。
Copilot によってメモリが検証されて使用される場合、同じ詳細を持つ新しいメモリが保存され、その結果、そのメモリの寿命が延びることがあります。
マージされずに閉じられたプル要求のコードからメモリを作成できます。 ただし、検証メカニズムにより、現在のコードベースに実証証拠がない場合、このようなメモリが Copilotの動作に影響を与えなくなります。
Copilot は、リポジトリに対する書き込みアクセス許可を持ち、Copilot メモリ が有効になっているユーザーがリポジトリ内で実行したアクションに応答して、リポジトリ内にメモリのみを作成します。 メモリは、ユーザー スコープではなくリポジトリ スコープであるため、リポジトリに格納されているすべてのメモリは、そのリポジトリの Copilot メモリ にアクセスできるユーザーによって開始された Copilot 操作で使用できます。 リポジトリに格納されているメモリは、同じリポジトリでのCopilot 操作でのみ使用できます。 このようにして、Copilot がリポジトリについて学習することは、そのリポジトリ内にとどまり、プライバシーとセキュリティが確保されます。
Copilot メモリ が使用されているリポジトリの所有者である場合は、そのリポジトリのメモリを確認して手動で削除できます。 「Copilot メモリの有効化とキュレーション」を参照してください。
Copilot メモリ の有効化について
Copilot メモリ は既定で無効になっており、エンタープライズ設定、組織設定、個人設定で有効にすることができます。
Copilot メモリ を使用する機能は、リポジトリに対して有効にするのではなく、ユーザーに付与されます。 Copilot メモリ がユーザーに対して有効化された後、Copilot は、ユーザーが GitHub Copilot を使用しているすべてのリポジトリで「エージェント メモリ」を使用できるようになります。
エンタープライズ レベルまたは組織レベルで有効にすると、Copilot メモリ は、その組織から Copilot サブスクリプションを受け取るすべての組織メンバーが使用できるようになります。
Copilot Pro プランまたは Copilot Pro+ プランの個々の Copilot サブスクリプションを持つユーザーは、GitHub の個人 Copilot 設定で Copilot メモリ を有効にする必要があります。
詳しくは、「Copilot メモリの有効化とキュレーション」をご覧ください。