Skip to main content
Skip to content

О памяти GitHub Copilot

Copilot Memory Помогает Copilot со временем стать более эффективным, запоминая факты о ваших репозиториях и личные предпочтения в программировании.

Кто может использовать эту функцию?

Доступно для всех платных Copilot планов.
Sign up for Copilot

Любой разработчик, начинающий работу с существующей базой кода, обычно считывает readME репозитория, соглашения о кодировании и другую документацию, чтобы понять, как работает проект и как внести свой вклад. Это помогает им отправлять запросы на вытягивание с самого начала. По мере того как они работают над проектом, качество их работы, как правило, улучшается, так как они становятся более знакомы с базой кода и изучают свои нюансы. Таким же образом, Copilot Memory позволяет Copilot создать собственное понимание репозитория и способ работы, что позволит ему стать все более эффективным с течением времени.

Типы воспоминаний

Copilot может хранить два типа памяти:

  • Факты уровня репозитория описывают базу кода и совместно используются для совместной работы.
  • Параметры уровня пользователя описывают, как вы лично хотите работать и следовать за вами между репозиториями. Они могут включать способ представления ответов, действий, требующих утверждения, и рабочих процессов, которые вы хотите Copilot выполнить в проектах.
Факты на уровне репозиторияПредпочтения на уровне пользователя
То, что они захватываютФакты о репозитории, таких как соглашения о кодировании, архитектурные решения, команды сборки и тестирования, а также правила для конкретного проекта.Четко указанные, нечувствительные предпочтения, требования к утверждению и многократно используемые рабочие процессы, применяемые в проектах.
Кто может видеть ихПользователи с доступом на чтение к репозиторию, который может использовать Copilot Memory. Для просмотра воспоминаний в параметрах репозитория требуется доступ на запись и настройки уровня пользователя для учетной записи.Вы и любой пользователь, который может просмотреть сеанс общего агента, в котором отображаются предпочтения. Copilot Enterprise Кроме Copilot Business того, администратор организации или предприятия может просматривать и экспортировать их.
Где они применяютсяТолько в операциях с тем же репозиторием.Copilot В взаимодействии во всех репозиториях.
Кто может создать ихПользователи с доступом на запись в репозиторий, который включил Copilot Memory .Только вы, из ваших собственных взаимодействий.
Кто может удалить ихПользователи с доступом на запись в репозиторий с включенными параметрами уровня пользователя для учетной записи. См . раздел AUTOTITLE.Ты. Copilot Enterprise Кроме Copilot Business того, администратор организации или предприятия может удалить их.
Как они цитируютсяСо ссылкой на код, поддерживающий факт.С цитатами, которые могут включать прямые цитаты о том, что вы сказали.

Например, "этот репозиторий использует Vitest для модульных тестов" — это факт о базе кода, полезной для всех, работающих в нем, поэтому он хранится как факт уровня репозитория. "Объяснить изменения перед применением" — это инструкция о том, как вы лично хотите Copilot вести себя, поэтому она хранится в качестве предпочтения на уровне пользователя и применяется везде, где вы работаете.

Воспоминания создаются только в том случае, если применимые параметры позволяют использовать этот тип памяти.

Где Copilot Memory доступно

Copilot Memory доступен во всех платных Copilot планах. Зависит ли он от параметров плана, доступа к репозиторию и используемой поверхности.

Copilot Memory можно использовать Copilot в:

  • GitHub Copilot app
  • Copilot CLI
  • Copilot code review
  • Copilot cloud agent
  • Agentic Autofix
  • Copilot в GitHub Mobile
  • Copilot в Slack
  • Copilotв Microsoft Teams

Факты и предпочтения, захваченные одной Copilot поверхностью, могут использоваться другой Copilot поверхностью. Например, если Copilot cloud agent вы обнаружете, как ваш репозиторий обрабатывает соединения с базой данных, Copilot code review позже можно применить эти знания для обнаружения непоследовательных паттернов в pull request. Аналогично, если Copilot code review система узнает, что определённые настройки должны оставаться синхронизированными между двумя файлами, Copilot cloud agent он будет знать, что нужно обновлять оба файла при изменении одного.

Примечание.

Доступность в этой GitHub Copilot app учетной записи зависит от того, была ли Copilot Memory доступна ваша учетная запись. В приложении нет параметров для включения этой доступности. Где доступны, личные параметры, параметры репозитория и применимые политики определяют, какие типы памяти можно использовать.

Параметр памяти для проекта в GitHub Copilot app этом разделе является отдельной функцией. Он сохраняет предпочтения для этого проекта в задачах, а не общие факты репозитория и предпочтения уровня пользователя, описанные в этой статье. Изменение или отключение памяти проекта не изменяет или не отключает Copilot Memory.

Как хранилище и владение отличаются между типами памяти

Два типа памяти хранятся отдельно и управляются по-разному.

Факты на уровне репозитория

Каждый факт уровня репозитория принадлежит одному конкретному репозиторию и может просматриваться и удаляться в параметрах репозитория. При Copilot обнаружении факта уровня репозитория, относящегося к его текущей работе, он проверяет ссылки фактов против текущей ветви, чтобы судить о том, является ли информация по-прежнему точной. Поскольку это решение Copilot делает, а не гарантию, применяемую системой, хранимый факт не следует полагаться как правило, которое всегда будет следовать. Для последовательного предоставления инструкций используйте пользовательские инструкции. Ознакомьтесь с пользовательскими инструкциями.Copilot Memory

Факты репозитория не объединяются в репозитории организации. Вилка репозитория не копирует свои сохраненные воспоминания в вилку. Параметры уровня пользователя по-прежнему могут применяться при работе в вилке.

Предпочтения на уровне пользователя

Параметры уровня пользователя хранятся в параметрах пользователя. Когда Copilot обнаруживает предпочтение, относящееся к текущей работе, она использует своё лучшее суждение, чтобы подтвердить, что это предпочтение всё ещё актуально.

Copilot Business и Copilot Enterprise планы

Copilot Enterprise Параметры Copilot Business на уровне пользователя и планы принадлежат сущности выставления счетов, которая является организацией или предприятием, предоставляющим пользователю свою лицензию. При создании предпочтения он хранится в активной сущности выставления счетов для текущего использования пользователя. Затем при Copilot создании контекста для сеанса агента он снова смотрит на текущую активную сущность выставления счетов пользователя и получает только предпочтения, принадлежащие этой сущности выставления счетов. Пользователи могут просматривать свои сохраненные настройки уровня пользователя и владельца каждого отображаемого предпочтения в личных параметрах.

Пользователи, имеющие несколько лицензий из разных мест, должны выбрать сущность выставления счетов по умолчанию в параметрах учетной записи , чтобы создать новые факты на уровне репозитория или настройки уровня пользователя.

Владельцы организации и предприятия могут экспортировать или удалять предпочтения уровня пользователя для своих членов в массовом или корпоративном режиме. См . раздел AUTOTITLE.

Как создаются воспоминания

Copilot создает воспоминания, как побочный продукт работы с вами. Как Copilot работает, он замечает устойчивые факты о репозитории и подробные сведения о ваших личных предпочтениях, что он определяет, стоит сохранить, и он сохраняет их для последующего использования.

Вы можете просмотреть параметры уровня пользователя, Copilot сохраненные для вас, и удалить все, что вы не хотите Copilot использовать. Если у вас есть доступ на запись к репозиторию и настройкам уровня пользователя для учетной записи, вы также можете просмотреть и удалить факты на уровне репозитория в параметрах репозитория. Вы не можете напрямую создать или изменить отдельную память в параметрах gh.asamalin.top, но вы можете повлиять на Copilot создание воспоминаний. Если вы явно задаете личное предпочтение или факт о репозитории , или явно попросите Copilot помнить что-то, скорее всего, будет захвачено как память. Вы также можете использовать Copilot CLI для массового импорта подготовленных воспоминаний. См. раздел импорта воспоминаний с Copilot CLIпомощью . При Copilot создании памяти в результате того, что вы сказали, ваши слова записываются в качестве ссылки на память.

Copilot определяет, является ли память фактом уровня репозитория или предпочтениями уровня пользователя. Это основывается на выборе, к которому применяется память, а не на том, кто его заявил. То, что будет верно для всех, кто работает в репозитории, становится фактом уровня репозитория, в то время как то, что отражает ваш собственный способ работы становится предпочтениями на уровне пользователя. Если ваше намерение неоднозначно, попросит вас уточнить область, Copilot а не угадать. Вы можете избежать неоднозначности, явно указав, является ли память для вас или для всех, работающих в репозитории.

Тип памяти Copilot может создаваться в зависимости от контекста. Факты уровня репозитория создаются только при работе в репозитории с доступом на запись, а предпочтения уровня пользователя создаются только в том случае, если CopilotCopilot вы можете определить пользователя, с которым он работает.

Данные, хранящиеся для каждой памяти

Каждая память содержит данные, необходимые Copilot для определения того, когда и как использовать память. Некоторые из этих данных( например, сведения о голосовании— только для внутреннего использования и поэтому не отображаются на GitHub веб-сайте или включены в журналы аудита. В следующей таблице показан выбор данных, хранящихся для каждой памяти, и указывает, какие поля отображаются на страницах параметров на gh.asamalin.topстраницах параметров.

ДанныеExampleОтображается
Текст памятиThe payments module must never call Stripe directly — route all charges through BillingGateway.
Область темыarchitecture
AgentCopilot cloud agent
Модельclaude-sonnet-4
Сущность выставления счетовAcme Org
Цитаты—
Причина хранения—
Выбор факта репозитория или пользователя—
Данные голосования—
Дата окончания срока действия—

Примечание.

  • Примеры данных опущены для полей, которые не отображаются.
  • Модель и сущность выставления счетов не всегда присутствуют, поэтому может не отображаться.
  • Если сущность выставления счетов является организацией, в пользовательском интерфейсе отображается значок сборки (🏢). Если это предприятие, отображается значок глобуса (🌐).

Как воспоминания усилены и отставны

Copilot не обрабатывает память как постоянную правду после его хранения. Вместо этого необходимо проверить ссылки, Copilot предоставленные каждой памятью перед его использованием. Copilot использует внутреннюю систему голосования, чтобы оценить полезность каждой памяти, исходя из того, является ли память действительной. Он может повысить объем памяти, которую он может проверить, и понизить память, если она найдена неправильной или устаревшей. Это усиливает полезные воспоминания.

Не все воспоминания из хранилища памяти отправляются в модель с запросом. Голосовые воспоминания, скорее всего, будут отправлены. Таким образом, увеличение объема памяти, скорее всего, будет применяться в будущих работах. Воспоминания, проголосовавшие за пороговое значение, больше не используются и будут удалены после периода неиспользования.

Upvoting и downvoting выполняются автоматически Copilot. Несмотря на то, что вы можете повлиять на Copilot увеличение или понижение памяти , предоставив положительный или отрицательный комментарий об использовании этой памяти в сеансе, это то, что вы можете оставить для Copilot управления. Количество голосов для памяти намеренно не отображается, но вы можете увидеть эффект голосования в порядке, в котором воспоминания перечислены на соответствующей странице параметров. Вверх голосовые воспоминания подняться вверх по списку, в то время как вниз проголосовали воспоминания двигаются вниз.

На страницах параметров отображаются воспоминания, ранжированные по полезности. Воспоминания, которые Copilot не учились использовать, скрыты из списка, но могут храниться до истечения срока их действия. Память, исчезающая из списка, не обязательно означает, что она была удалена.

Если Copilot используется память, которую вы не хотите использовать повторно, необходимо явно удалить ее из параметров репозитория (для факта репозитория) или личных параметров (для предпочтения уровня пользователя). См . раздел AUTOTITLE.

Срок хранения и истечения срока действия

Чтобы предотвратить застойную информацию, хранящиеся факты репозитория и пользовательские предпочтения истекают после периода без подкрепления. Срок действия начинается при создании памяти и сбросе при Copilot его запуске. Простое получение памяти не сбрасывает этот период.

Срок действия по умолчанию составляет 90 дней. Владельцы предприятия и организации могут настроить срок действия фактов на уровне репозитория для любого значения в диапазоне от 7 до 180 дней (включительно). Этот параметр не применяется к предпочтениям уровня пользователя, которые всегда используют период хранения по умолчанию. Изменение периода хранения не изменяет факты на уровне репозитория, которые уже хранятся: они принимают новый период хранения при следующем Copilot укреплении.

Если разные периоды истечения срока действия задаются организацией и предприятием, к которому принадлежит организация, используется меньшее из двух значений.

При Copilot переключении памяти срок действия для этой памяти сбрасывается до заданного по умолчанию или настроенного периода истечения срока действия. Это расширяет жизнь используемой памяти. Понижение срока действия памяти не изменяет период, оставшийся до истечения срока действия памяти.

Примечание.

Факты репозитория можно записать из запросов на вытягивание, которые были закрыты без объединения. Copilot Показано проверить эти факты на соответствие текущей базе кода, но это не гарантирует, что она будет распознавать каждый устаревший факт.

Что Copilot не хранится

Система предотвращает хранение некоторых содержимого и Copilot не сохраняет другое содержимое:

  • Воспоминания проверяются на наличие секретов, таких как маркеры, ключи или учетные данные. Воспоминания, в которых обнаружен секрет, отклоняются и не хранятся.
  • Система может отклонять воспоминания, содержащие распознанные маркеры управления моделью, в качестве защиты от внедрения запроса.
  • Copilot Не рекомендуется хранить конфиденциальную личную информацию, конфиденциальную информацию или какие-либо общие сведения.
  • Copilot Не рекомендуется хранить кратковременные инструкции или инструкции для конкретной задачи, так как воспоминания предназначены для отслеживания вещей, которые остаются верными с течением времени.

Параметры по умолчанию

Параметры уровня пользователя и факты уровня репозитория имеют отдельные значения по умолчанию. Следующие значения по умолчанию применяются, где Copilot Memory доступно, и вы или администратор не изменили соответствующие параметры. Существующие отказы остаются в силе.

PlanПо умолчанию для параметров уровня пользователя
Copilot Pro, Copilot Pro+ и Copilot MaxВключено. Вы можете отказаться от личных параметров.
Copilot Business и Copilot Enterprise.Отключается до тех пор, пока владелец организации или владелец предприятия не включает политику. Затем вы можете отказаться от личных параметров.

Факты уровня репозитория имеют отдельное значение по умолчанию для всех этих планов. Доступ к памяти репозитория разрешен, если только параметры предприятия, организации или репозитория не ограничивают его. Параметр доступа к репозиторию организации по умолчанию используется для всех репозиториев. Отключение параметров уровня пользователя в личных параметрах не отключает факты уровня репозитория. См. раздел "Управление Copilot Memory для репозиториев".

Параметры для каждой поверхности

Некоторые поверхности имеют дополнительный локальный параметр. Включение позволяет поверхности использовать Copilot Memory только в том случае, если описанные выше параметры также разрешают его.

SurfaceDefaultДополнительная информация
Copilot CLI, интерактивные сеансыЛокальный параметр включен. GitHub Следует за параметрами.Управление памятью Copilot для вашего личного аккаунта
Copilot CLI, программные сеансыВыкл. Используется --enable-memory для каждого запуска.Управление памятью Copilot для вашего личного аккаунта
Visual Studio CodeВыкл. Включите локальный параметр.
Управление памятью Copilot для вашего личного аккаунта
GitHub Copilot app
GitHub Следуйте вашим параметрам, где доступно вашей учетной записи.
Управление памятью Copilot для вашего личного аккаунта
Copilot cloud agent
GitHub Следует за параметрами.
Управление памятью Copilot для вашего личного аккаунта и Управление памятью Copilot для предприятия, организации или репозитория
Copilot code reviewСледуйте параметрам репозитория.
Управление памятью Copilot для предприятия, организации или репозитория
Agentic AutofixСледуйте параметрам репозитория.
Управление памятью Copilot для предприятия, организации или репозитория

Все эти поверхности поддерживают факты уровня репозитория. Все, кроме того Copilot code reviewagentic autofix , поддерживают настройки уровня пользователя. В Copilot CLIпараметрах пользователя принадлежит пользователь, который начал сеанс.

Copilot app Copilot CLI В интерактивных сеансах Copilot можно попросить утвердить хранение памяти. Copilot cloud agent и Copilot code review не спрашивайте об этом утверждении.

ПоведениеCopilot cloud agent, описанное здесь, также относится к его сеансам, запущенным с Slack, или Microsoft Teams. См. Интеграция облачного агента Copilot с Slack и Интеграция облачного агента Copilot с Teams.

Copilot code review и agentic autofix никогда не применяйте предпочтения уровня пользователя, поэтому личный выбор не изменит способ проверки запросов на вытягивание или исправление оповещений системы безопасности.

В Copilot CLIэтом случае может использовать store_memory только корневой агент или vote_memory. Субагенты могут читать воспоминания, если у них есть доступ read_memories, но они не могут их изменить.

Примечание.

Приложения, созданные Copilot SDK с помощью функции включения Copilot Memory при создании или возобновлении сеанса. Пакет SDK не предоставляет API для перечисления, редактирования или удаления памяти. См . раздел AUTOTITLE.

Что определяет, используется ли Copilot Memory он

Параметры уровня пользователя и факты уровня репозитория имеют отдельные элементы управления. Зависит Copilot Memory ли используемый параметр от параметров для соответствующего типа памяти и используемого клиента:

  1. Ваш личный параметр. Параметр Copilot Memory в личной учетной записи определяет, могут ли параметры уровня пользователя храниться и использоваться в сеансах. Он не контролирует факты на уровне репозитория или переопределяет ограничения администратора. См . раздел AUTOTITLE.

    В планах, управляемых организацией, параметры уровня пользователя будут отключены до тех пор, пока администратор не будет включать их, после чего вы можете отказаться.

  2. Ваша корпоративная или корпоративная политика. В управляемых планах Copilot Memory политика управляет предпочтениями уровня пользователя. При удержании лицензий из нескольких организаций применяется самая ограничивающая политика. Доступ к репозиторию управляется отдельно. См . раздел AUTOTITLE.

  3. Доступ к репозиторию и параметры. Владелец организации может разрешить факты на уровне репозитория для всех, выбранных или без репозиториев, при условии ограничений предприятия. Администратор репозитория также может отключить факты уровня репозитория для отдельного репозитория.

    Примечание.

    Отключение фактов уровня репозитория не отключает настройки уровня пользователя. Аналогичным образом отключение настроек уровня пользователя не отключает факты уровня репозитория.

  4. Параметр клиента. В интерактивном Copilot CLI сеансе отключает оба типа памяти, /memory off даже если другие параметры позволяют им. Этот параметр не зависит от параметра gh.asamalin.top и сохраняется для будущих интерактивных сеансов на этом компьютере. /memory on очищает этот параметр, но не может переопределить применимые ограничения предприятия, организации или репозитория. Для неинтерактивных запусков требуется отдельный --enable-memory параметр. Visual Studio Code также имеет собственный параметр в приложении. См . раздел AUTOTITLE.

Сводка о том, когда Copilot Memory используется

Для использования Copilot Memory выполните следующие действия:

  • У вас должен быть поддерживаемый платный Copilot план.
  • Клиент, который вы используете, должен поддерживаться Copilot Memory, и любой локальный параметр должен разрешить его. Используйте Copilot CLI/memory show для проверки локального параметра.
  • Если у вас несколько Copilot лицензий, необходимо выбрать сущность выставления счетов по умолчанию, прежде чем сохранить новые воспоминания.

Для параметров уровня пользователя личный Copilot Memory параметр и любая соответствующая политика предприятия или организации также должны разрешать их.

Для фактов уровня репозитория:

  • У вас должен быть доступ к репозиторию.
  • Для создания новых фактов репозитория необходимо отправить разрешение на отправку.
  • Copilot Memory не должен быть отключен для репозитория в параметрах Copilot репозитория.
  • Если репозиторий принадлежит организации, доступ к репозиторию организации Copilot Memory должен включать этот репозиторий.
  • Любое применимое ограничение корпоративного доступа к памяти репозитория должно разрешить его.

Использование и выставление счетов

Воспоминания, включенные в число контекстов модели к использованию маркеров и могут повлиять на AI credits потребление взаимодействия. Стоимость зависит от модели и количества используемых маркеров. Дополнительные сведения см. в разделе Модели и ценообразование для GitHub Copilot.

Использование пользовательских инструкций вместе с Copilot Memory

Copilot Memory и пользовательские инструкции решают аналогичные проблемы разными способами, и они хорошо работают вместе.

Copilot Memory построен и курируется Copilot. Он не требует обслуживания от вас, он адаптируется как база кода и ваши привычки изменяются, и он отменяет то, что перестает быть актуальным. Copilot решает, что помнить, судьи, применяется ли память, и может ли не применять память в каждом сеансе.

Пользовательские инструкции написаны и поддерживаются вами. Они предоставляют инструкции по Copilot рассмотрению и отображению в репозитории или личных параметрах, чтобы вы могли видеть и просматривать именно то, что Copilot было сказано.

Используйте пользовательские инструкции для указания важных правил, таких как требование безопасности или обязательный этап проверки, и позволить Copilot Memory обрабатывать накопленные детали, которые в противном случае делают файл инструкций длинным и трудным для обслуживания. Ни воспоминания, ни пользовательские инструкции не гарантируют, что Copilot будут следовать правилу каждый раз, поэтому просмотрите свою работу. Дополнительные сведения см. в разделе Пользовательские инструкции для GitHub Copilot.

Дополнительные материалы