GitHub предоставляет два отдельных интерфейса автофикса для code scanning оповещений: agentic autofix и Copilot Autofix. Используйте большие языковые модели (LLM), данные из базы кода и code scanning анализ для создания потенциальных изменений и объяснений кода. Однако они имеют разные рабочие процессы, результаты, требования к доступу и использование.
Каковы два типа автофикса?
Agentic Autofix и Copilot Autofix решить различные проблемы:
- Используйте agentic autofix , когда вы хотите Copilot изучить и исправить одно или несколько оповещений для вас, завершится.
- Используйте, если требуется Copilot Autofix одно предлагаемое изменение кода для одного оповещения, которое вы просматриваете и применяете самостоятельно.
При этом agentic autofixвы назначаете одно или несколько оповещений Copilot. Он изучает базу кода, создает исправление и проверяет изменения. Затем откроется черновик запроса на вытягивание, содержащий предлагаемое исправление.
Copilot Autofix При этом GitHubсоздается одно предлагаемое изменение кода для одного поддерживаемого оповещения. Это предложение можно использовать для создания запроса на вытягивание самостоятельно.
Где доступно автофикс?
Доступ к двум функциям работает по-разному. Для agentic autofix репозитория, принадлежащем организации, владелец организации или руководитель безопасности должен включить его. Если организация принадлежит организации, владелец предприятия или руководитель безопасности также должен разрешить его. Включение организации включает его для допустимых репозиториев по умолчанию, но администратор репозитория может отказаться или повторно включить его при разрешении параметров более высокого уровня.
Для подходящего общедоступного репозитория, принадлежащем личной учетной записи, администратор репозитория может включить agentic autofix напрямую. Для использования Copilotлицензии не требуетсяagentic autofix, но она недоступна для репозиториев, принадлежащихEnterprise Managed Users. Дополнительные сведения см. в разделе Управление доступом к автофиксу агента для сканирования кода .
Copilot AutofixВ отличие от этого, по умолчанию для любого репозитория, использующего CodeQLего, включен, если администратор не отключает его. Он доступен для всех общедоступных репозиториев GitHub.com. Он также доступен для внутренних или частных репозиториев, принадлежащих организациям и предприятиям, имеющим лицензию.GitHub Code Security В отличие от agentic autofixэтого, Copilot Autofix доступен для репозиториев, Enterprise Managed Usersпринадлежащих .
Выбор типа автофикса
Затраты на использование также учитывают, какие функции следует использовать. Каждый agentic autofix сеанс агента потребляет и AI credits минутыGitHub Actions, а Copilot Autofix предлагаемые исправления не используютсяAI credits.
Если agentic autofix репозиторий не включен, можно по-прежнему использовать Copilot Autofix для создания предлагаемых исправлений для поддерживаемых оповещений.
С использованием agentic autofix
Используйте agentic autofix , если вы хотите Copilot исследовать одно или несколько оповещений и подготовить черновик запроса на вытягивание. Вы можете назначить agentic autofix оповещения из невыполненной работы репозитория или кампании безопасности. Каждое назначение запускает сеанс агента. Сеанс изучает базу кода за пределами затронутого файла, а затем создает и проверяет исправление. Откроется запрос на вытягивание с изменениями. См . раздел AUTOTITLE.
Помните о перечисленных ниже моментах.
- Дополнительные сведения о включении agentic autofix на уровне организации, предприятия или репозитория см. в разделе Управление доступом к автофиксу агента для сканирования кода.
- Agentic Autofix использует кредиты и минуты GitHub Actions на основе кода безопасности ИИ. См . раздел AUTOTITLE.
- Copilot использует пользовательские инструкции, которые применяются при создании исправления. См . раздел AUTOTITLE.
- Agentic Autofix работает на основе лучших усилий.
Copilotпроверяет исправления путем повторного CodeQL выполнения code scanning с помощью набора запросов. Он не может подтвердить исправления для оповещений из пользовательских CodeQL запросов,
security-extendedCodeQL набора запросов или code scanning оповещений сторонних средств.
Всегда проверяйте созданные изменения перед слиянием запроса на вытягивание.
С использованием Copilot Autofix
Copilot Autofix работает так же, используется ли репозиторий по умолчанию или расширенная настройка code scanning. Нет отдельного шага, чтобы включить его: code scanningCodeQL включение достаточно. См . раздел AUTOTITLE.
Copilot Autofix также является неотъемлемой частью GitHub Code Qualityи продолжает работать с результатами качества кода, даже если он отключен для code scanning результатов.
Администраторы на уровне предприятия, организации и репозитория могут отключить Copilot Autofix. Параметры каскада вниз: если владелец предприятия запрещает эту функцию, организация или репозиторий в этом предприятии не могут включить его, а если владелец организации отключает его, то репозиторий в этой организации не может повторно включить. Чтобы восстановить функцию на определенном уровне, администратор на этом уровне или выше должен изменить параметр. Чтобы научиться управлять Copilot Autofix каждым уровнем, смотрите Отключение автофикса Copilot для сканирования кода.