Skip to main content

О агентной памяти для GitHub Copilot

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

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

  • Предприятия и организации с планом Копилот Энтерпрайз или Бизнес Copilot.
  • Индивидуальные пользователи с планом Copilot Pro или Copilot Pro+.
    Sign up for Copilot

Примечание.

Эта функция в настоящее время находится в public preview и подлежит изменению.

Введение

Как разработчик, когда вы начинаете работать с существующей кодовой базой — возможно, как новый член команды разработчиков — вы можете прочитать README для репозитория, документацию по нормам кода и другую информацию, которая поможет вам понять репозиторий и понять, как следует работать при обновлении или добавлении кода. Это поможет вам отправлять качественные pull requests. Однако качество работы, которую вы сможете выполнять, будет постепенно улучшаться по мере работы над кодовой базой и изучения её больше. Аналогично, позволяя Copilot формировать собственное понимание вашего репозитория, вы можете сделать его более эффективным со временем.

Copilot может развить устойчивое понимание репозитория, сохраняя «воспоминания».

Воспоминания — это узкие фрагменты информации о репозитории, которые выведывается Copilot по мере работы с репозиторием. Воспоминания:

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

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

Преимущества использования Память copilot

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

Память copilot:

  • Это снижает нагрузку на повторное повторение одних и тех же деталей в ваших подсказках.
  • Снижает необходимость регулярного ручного обслуживания пользовательских файлов инструкций.

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

Где используется Память copilot?

В настоящее время Память copilot используется Агент кодирования Copilot и Проверка кода Copilot, когда эти функции работают над pull request-запросами на сайте GitHub, а также Интерфейс командной строки Copilot. Память создаётся и используется Copilot только тогда, когда Память copilot был активирован для пользователя, инициирующего операцию Copilot.

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

Как сохраняются, сохраняются и используются воспоминания

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

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

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

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

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

Если вы владелец репозитория, где используется Память copilot, вы можете вручную просматривать и удалить воспоминания этого репозитория. См . раздел AUTOTITLE.

О включении Память copilot

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

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

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

Пользователи, имеющие индивидуальную подписку Copilot из плана Copilot Pro или Copilot Pro+, должны включить Память copilot в своих личных настройках Copilot на GitHub.

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