GitHubは2026年1月15日、GitHub Copilotの全有料プランを対象に、エージェント用のメモリ機能
- Agentic memory for GitHub Copilot is in public preview - GitHub Changlog
- Building an agentic memory system for GitHub Copilot - GitHub Blog
エージェントセッションは一般的にセッションごとにコンテキストがリセットされる。そのため新規にエージェントセッションを作成する際にはこれまでだと、リポジトリ特有の話についてユーザーがプロンプトで繰り返し説明したり、カスタムインストラクションファイルを手動で作成して維持したりすることが必要だった。
Copilot Memoryは、リポジトリに関する有用な情報をCopilotのエージェントが把握できた際に、範囲をしぼってその洞察をメモリとして保持するための機能。そのメモリに蓄積された知識を活用することで、Copilotコーディングエージェント、Copilotコードレビュー、Copilot CLIの動作を改善できるようになる。
これによって上述したプロンプト入力の手間を削減したりカスタムインストラクションを維持する負担を減らしたりできる。また、たとえば、Copilotコーディングエージェントが特定のファイルを修正した時に学習した内容を記憶し、あとでCopilotコードレビューがプルリクエストを確認するときにその知識を用いて指摘してくれるようになる[1][2]。そして、マルチエージェントによるワークフローの潜在能力を引き出すには、各エージェントがメモリを共有することが重要になってくるという。
Copilot Memoryを利用したい場合、個人ユーザーは、GitHub上の個人のCopilot設定で有効化する。組織ユーザーの場合は、組織ポリシーの設定を通じて有効化できる。
メモリが作成されるのは、Copilot Memoryが有効化されていて[3]、かつ該当のリポジトリへの書き込み権限を持つユーザーがCopilotを使って操作を行った場合のみ。リポジトリの読み取り権限のみのユーザーは、既存のメモリを利用できるが、新規にメモリを作成することはない。また、メモリはリポジトリ単位であるため
現在の実装では、メモリには有効期限が設定されており、28日で自動的に期限切れとなる。ただし、Copilotによってメモリが使われると、その寿命が延長される。
セッション開始時に該当のリポジトリの最新のメモリを取得し、それをプロンプトに含める仕組みとなっている。将来的には、検索ツールや優先順位付けなど、追加の検索技術を実装する予定とのこと。
また、情報の正確性を維持するために、Copilot Memoryではジャストインタイム検証
Copilotはメモリを保存する際、単なるテキストではなく、ファイル上のコード位置を引用情報とあわせて保存する
{
subject: "API version synchronization",
fact: "API version must match between client SDK, server routes, and documentation.",
citations: ["src/client/sdk/constants.ts:12", "server/routes/api.go:8", "docs/api-reference.md:37"],
reason: "If the API version is not kept properly synchronized, the integration can fail or exhibit subtle bugs. Remembering these locations will help ensure they are kept syncronized in future updates."
}
エージェントはこのようなメモリを利用するときに、引用先をリアルタイムで検証する。コードが変更されていたり、引用先が存在しなくなっていたりする場合にはそのメモリは無効とみなされ、破棄または更新されることになる。これにより、古くなった情報や誤った情報に基づいてCopilotが動作するリスクを軽減できる。
リポジトリの所有者は、保存されたメモリの確認と管理ができる。リポジトリの設定にあるCopilotの項目から