# 关于GitHub Copilot内存

Copilot内存 通过记住有关存储库和个人编码首选项的事实，帮助 Copilot 随着时间的推移变得更加有效。

> \[!NOTE] 此功能目前处于状态 公开预览 ，可能会更改。

作为加入现有代码库的开发人员，通常阅读存储库的自述文件、编码约定和其他文档，以了解项目的工作原理以及如何参与。 这有助于你从一开始就提交高质量的拉取请求。 即便如此，工作的质量也会随着你在代码库中花费更多时间而稳步提高，并了解其细微差别。 同样，让 Copilot 逐步形成对你的代码仓库的理解，能使它随着时间推移变得越来越高效。

## 记忆类型

Copilot 可用于 Copilot内存 存储有关存储库和个人首选项的重要事实。

Copilot内存商店：

* **存储库级别事实**
  * 有关存储库的事实，例如编码约定、体系结构决策、生成命令和特定于项目的规则。
  * 可供有权访问 Copilot内存 该存储库的所有用户使用。
* **用户级首选项**
  * 关于用户希望如何与 Copilot 交互的隐含或明示的个人偏好。
  * 仅适用于该用户在不同存储库中与 Copilot 的交互。
  * 对于 Copilot业务 和 Copilot Enterprise 计划，组织或企业管理员可以查看和删除它们。

我们通常将这些仓库级事实和用户级偏好称为“记忆”，而且只有在已启用 Copilot 的用户发起 Copilot内存 活动时，才会创建这些“记忆”。

## 功能可用性

Copilot内存 当前由 Copilot云代理、Copilot 代码评审 和 Copilot 命令行界面（CLI） 使用。

由一个Copilot功能捕获的事实和首选项可供另一个功能使用。 例如，如果 Copilot云代理 发现存储库如何处理数据库连接， Copilot 代码评审 则以后可以应用该知识来发现拉取请求中的不一致模式。 同样，如果 Copilot 代码评审 了解到某些设置必须跨两个文件保持同步， Copilot云代理 则更改一个文件时将知道更新这两个文件。

一些特定于功能的限制适用：

* Copilot 命令行界面（CLI） 会应用存储库级别的事实信息以及发起该操作的用户的偏好设置。
* Copilot 代码评审 仅使用代码库级别的信息。 在代码评审期间不会应用用户级首选项。

## 使用Copilot内存的好处

无状态 AI 不会在多次交互之间保留对代码库的理解。 这强制你在提示中反复解释编码约定和代码特定的详细信息，或维护详细的自定义说明文件。

Copilot内存：

* 减少反复在提示中提供相同详细信息的负担。
* 减少定期手动维护自定义指令文件的需求。

通过捕获和应用存储库级事实和用户级首选项， Copilot 构建自己的代码库和个人工作流知识，适应编码要求，并随时间推移提供更多价值。

## 如何 Copilot内存 存储、保留和使用信息

### 存储库级别事实

仓库级别的事实会连同指向为这些事实提供支持的代码的引用一起存储。 当Copilot发现与当前工作相关的事实时，它会根据当前分支核对这些引用，以确认信息仍然准确。 仅使用已验证的事实。

Copilot 仅创建存储库级事实，以响应具有对已启用存储库 Copilot内存 的写入访问权限的用户的操作。 存储后，这些事实可供有权访问 Copilot内存 该存储库中的任何用户使用，但这些事实只能在同一存储库的操作中使用。 这会将 Copilot 了解到的有关某个存储库的信息限定在该存储库范围内，从而保护隐私和安全。

存储库所有者可以查看并手动删除为其存储库存储的存储库级事实。

### 用户级首选项

用户级别的偏好设置与引文一同存储，这些引文可能包含直接引用的用户原话。 当找到与其当前工作相关的首选项时 Copilot ，它使用最佳判断来确认首选项仍适用。

Copilot 仅创建用户级首选项以响应特定用户启动的交互，并且这些首选项仅在该用户的后续交互中可用。 他们捕获个人的编码样式和工作流模式，并与创建它们的用户保持关联。

无论其计划如何 Copilot ，用户都可以查看和删除自己的用户级首选项。

#### Copilot业务 和 Copilot Enterprise 计划

在 Copilot业务 和 Copilot Enterprise 计划中，组织或企业管理员还可以批量或按用户导出或删除用户级偏好设置。

首选项由计费实体拥有，该实体是授予用户许可证的组织或企业。 创建记忆时，会根据用户当前使用情况，将记忆存储在活动计费实体中。 然后，在为代理会话创建上下文时 Copilot ，它会再次查看用户的当前活动计费实体，并仅检索该计费实体拥有的内存。 用户可以在其 [个人设置](https://github.com/settings/copilot/memory?ref_product=copilot\&ref_type=engagement\&ref_style=text)中查看所有存储的首选项和相应的所有者。

拥有不同位置的多个许可证的用户必须在 [帐户设置](https://github.com/settings/copilot/features?ref_product=copilot\&ref_type=engagement\&ref_style=text) 中选择默认计费实体，才能生成用户级首选项。

### 保留和验证

为防止过时的信息挥之不去，28 天后会自动删除未使用的任何存储事实或首选项。 每当 Copilot 成功验证和使用条目时，28 天计时器都可能会重置。

还可以从未合并而关闭的拉取请求中捕获事实。 在这些情况下，验证步骤可确保 Copilot行为不受影响，除非当前代码库仍证实信息。

## 启用 Copilot内存

Copilot内存 是按用户启用的，而不是按存储库启用。 启用后，它将应用于该用户使用 GitHub Copilot的任何存储库。 对于个人套餐，默认开启。 对于企业和组织管理的计划，管理员必须先启用策略，然后个人用户可以选择退出。

有关详细信息，请参阅“[管理个人帐户的 Copilot 内存](/zh/enterprise-cloud@latest/copilot/how-tos/use-copilot-agents/copilot-memory/manage-for-yourself)”或“[管理组织或企业的 Copilot 内存](/zh/enterprise-cloud@latest/copilot/how-tos/use-copilot-agents/copilot-memory/manage-as-administrator)”。