注意
此功能目前处于状态 公共预览版 ,可能会更改。
介绍
作为开发人员,当你开始处理现有代码库(可能是开发团队的新成员)时,你可以阅读存储库的自述文件、编码约定文档和其他信息,以帮助你了解存储库以及更新或添加代码时应如何工作。 这将帮助您提交高质量的拉取请求。 但是,随着您对代码库的处理和对其理解的加深,您能够交付的工作质量将稳步提高。 同样,通过允许 Copilot 自己了解存储库,可以使其随时间推移越来越有效。
Copilot 可以通过存储“记忆”来持续了解存储库。
记忆是关于存储库的高度限定的信息片段,由 Copilot 在处理存储库时推断得出。 记忆包括:
- 特定于存储库。
- 仅在响应已启用 Copilot内存 的用户所启动的 Copilot 活动时创建。
由Copilot的某一部分创建的记忆可以被Copilot的另一部分使用。 例如,如果 Copilot云代理 发现存储库如何处理数据库连接, Copilot代码评审 则以后可以应用该知识来发现拉取请求中不一致的模式。 同样,如果 Copilot代码评审 了解必须在两个单独的文件中保持同步的设置,则会 Copilot云代理 知道,如果更改其中一个文件中的设置,则必须相应地更新另一个文件。
使用Copilot内存的好处
AI 是无状态的,并且不保留对单独的人/AI 交互之间的代码库的理解,需要你反复解释有关提示中特定代码的编码约定和重要详细信息,或者创建详细的自定义说明文件,然后必须维护这些文件。
Copilot内存:
- 减少反复在提示中提供相同详细信息的负担。
- 减少定期手动维护自定义指令文件的需求。
通过构建和维护永久性的存储库级内存, Copilot 开发自己的代码库知识,适应编码要求,并增加它随时间推移提供的价值。
Copilot内存在哪里使用?
目前,在 GitHub 网站上对拉取请求执行这些功能时,Copilot内存 由 Copilot云代理 和 Copilot代码评审 使用,同时也由 Copilot CLI 使用。 仅当为发起Copilot操作的用户启用了Copilot内存时,Copilot才会创建和使用内存。
在未来版本中,智能记忆将扩展到 Copilot 的其他部分,以及个人和组织范围。
存储、保留和使用记忆的方式
Copilot 生成的每条记忆都会附带引用并存储。 这些引用指向支持该记忆的具体代码位置。 当找到与它正在执行的操作相关的内存时 Copilot ,它会根据当前代码库检查引文,以验证信息是否仍然准确且与当前分支相关。 仅当内存成功验证时才使用。
为了避免保留过时的记忆,导致过时的信息对决策产生 Copilot不利影响,记忆会在 28 天后自动删除。
如果对内存进行验证和使用 Copilot,则可以存储具有相同详细信息的新内存,从而提高该内存的寿命。
记忆可以来自已关闭但未合并的拉取请求中的代码。 但是,如果当前代码库中没有证实的证据,验证机制可确保此类记忆不会影响 Copilot其行为。
Copilot 仅在具有存储库写入权限且已启用 Copilot内存 的人员在该存储库中执行操作时,创建相应的记录。 内存是存储库范围的,而不是用户范围的,因此,为存储库存储的所有内存都可用于 Copilot 任何有权访问 Copilot内存 该存储库的用户启动的操作。 为某个存储库存储的记忆只能用于该同一存储库中的 Copilot 操作。 通过这种方式, Copilot 了解存储库的内容会保留在该存储库中,确保隐私和安全性。
如果你是正在使用的存储库 Copilot内存 的所有者,则可以查看并手动删除该存储库的内存。 请参阅“管理和整理 Copilot 记忆”。
关于启用 Copilot内存
向用户授予使用 Copilot内存 的权限,而不是为存储库启用。 启用 Copilot内存 为用户后,Copilot 将能够在用户使用 GitHub Copilot 的任何存储库中使用自主内存。
对于具有单个 Copilot 订阅 Copilot Pro 或 Copilot Pro+ 计划的用户, Copilot内存 默认情况下处于启用状态。 这些用户可以在GitHub的个人Copilot设置中禁用Copilot内存。
对于企业和组织管理的 Copilot 订阅,默认处于关闭状态, Copilot内存 可在企业或组织设置中启用。 在企业或组织级别启用后, Copilot内存 将可供从该组织接收 Copilot 订阅的所有组织成员使用。
有关详细信息,请参阅“管理和整理 Copilot 记忆”。