Гайд · TNWS AI
Как запросить code review у GitHub Copilot в pull request
Пошаговый code review pull request через GitHub Copilot: Reviewers → Copilot → Request, чтение severity, применение suggestions, re-review и финальная проверка.
Задача и применимость
Цель этого руководства — запросить у Copilot отдельное ревью существующего pull request, разобрать комментарии по severity и повторно проверить исправления. Материал рассчитан на авторам pull request и ревьюерам, которым нужен дополнительный машинный проход до человеческого approval, без подмены правил branch protection. Здесь важен не сам факт появления ответа Copilot, а воспроизводимый результат: понятная конфигурация, ограниченная область действия, контролируемое подтверждение и независимая проверка.
Актуальность интерфейса, имён команд и функций проверена 13 сентября 2026 года по официальной документации GitHub. Тарифы и числовые лимиты намеренно не приводятся: они не нужны для выполнения сценария и могут меняться. Если доступ выдан организацией, итоговое поведение также зависит от политики администратора.
Что подтверждает официальная документация
На GitHub.com путь — pull request → блок Reviewers → рядом с Copilot кнопка Request. Комментарии получают severity High, Medium или Low. По умолчанию review имеет тип Comment и не считается требуемым approval. Проверено 13 сентября 2026 года.
Не переносите названия кнопок из старых скриншотов и не заменяйте команды похожими по смыслу. В автоматизируемом сценарии точное имя — часть контракта. Если интерфейс отличается от описанного, остановитесь и снова откройте источник по ссылке в конце статьи.
Результат, который считаем успешным
Успех проверяется наблюдаемыми признаками. Инструмент доступен в ожидаемой области; тестовая операция выполняется ровно один раз; пользователь понимает, какие данные читаются или изменяются; результат можно перепроверить вне ответа модели. Если хотя бы один признак отсутствует, не переходите к рабочему репозиторию.
Перед началом создайте безопасную тестовую область. Для локальной работы полезны чистый git status, небольшой репозиторий и отсутствие секретов в открытых файлах. Для операций GitHub заранее запишите правильные OWNER/REPO, ожидаемый тип действия и критерий отмены. Это превращает расплывчатую просьбу в проверяемую процедуру.
Шаблон описания PR перед review
Скопируйте заготовку и замените только явно обозначенные данные:
Цель: устранить двойное списание при повторе webhook.
Границы: только обработчик payment_succeeded и idempotency storage.
Риск: гонка двух одинаковых событий.
Проверка: unit-тест на повтор и integration-тест на параллельную доставку.
Не меняется: API ответа и схема базы.
Храните команду или профиль рядом с инструкцией команды, если это не персональный секрет. Токены, cookies и одноразовые коды нельзя помещать в Markdown, chat prompt, issue или git. Перед выполнением перечитайте шаблон как обычный код: какие процессы запускаются, какой ресурс указан и есть ли возможность записи.
Пошаговая настройка
-
Откройте существующий pull request или создайте новый. До запроса ревью заполните описание: цель, границы, риск, проверка и то, что намеренно не меняется.
-
В правой sidebar найдите блок Reviewers. Рядом с Copilot нажмите Request.
-
Дождитесь окончания анализа и прокрутите страницу к комментариям. Сначала обработайте High, затем Medium и Low; severity — приоритет, а не доказательство корректности.
-
Для каждого замечания откройте соответствующий diff и проверьте утверждение по коду и тестам. Ошибочный комментарий не нужно принимать ради закрытия списка.
-
Если предложена suggested change, изучите её полностью. Можно принять одну suggestion либо группу, но после применения обязательно запустить собственные проверки.
-
Если доступна кнопка Fix with Copilot, помните: она подключает cloud agent и создаёт отдельный workflow исправления. Проверьте, будет ли результат новым PR или commit в текущий PR.
-
После push исправлений вручную запросите re-review кнопкой повторного запроса рядом с Copilot в Reviewers, если автоматическое ревью новых push не настроено.
После каждого существенного шага фиксируйте простой факт: команда найдена, сервер запущен, профиль выбран, preview совпадает или публичная страница открылась. Не заменяйте такую проверку фразой модели «готово» — она описывает намерение, но не состояние системы.
Готовый промпт
Проверь этот PR с фокусом на идемпотентность webhook, гонки при параллельной доставке и полноту негативных тестов. Не предлагай изменение публичного API. Для каждого замечания укажи сценарий отказа и минимальную проверку.
Промпт специально задаёт объект работы, границы и формат. В рабочем варианте добавьте критерий остановки: например, «ничего не создавай до подтверждения», «не меняй файлы» или «не выходи за изменённые функции». Для write-действий формулируйте preview и выполнение как два разных хода диалога.
Реалистичный пример входа и ожидаемого результата
Вход: PR добавляет idempotency key, обновляет обработчик и два теста; в описании явно указана гонка повторных webhook.
Ожидаемый результат: Review содержит комментарии, привязанные к diff, с severity. Автор вручную подтверждает каждый риск, применяет только корректные suggestions и после push запрашивает re-review.
Проверьте результат по первичному артефакту: git diff, списку MCP tools, URL GitHub, состоянию issue или локальным тестам. Если модель уверенно сообщает неподтверждённую версию, право доступа или факт выполнения, считайте это незавершённым шагом. Правильный результат допускает внешнюю проверку.
Как разобрать ответ и принять решение
Сначала отделите факты от рекомендаций. Факт должен иметь опору: путь к файлу, параметр вызова, номер issue, URL, diff или результат команды. Рекомендация может быть полезной, но не должна автоматически расширять задачу. Особенно внимательно проверяйте новые зависимости, изменения прав и команды, которые отправляют данные во внешний сервис.
Затем сравните ответ с исходными границами. Если просили read-only анализ, любое предложение немедленно изменить файл — повод отменить действие. Если разрешили один объект, убедитесь, что tool call не содержит пакетной операции. Если сценарий использует подтверждение, читайте имя инструмента и аргументы, а не только текст кнопки.
Наконец, повторите минимальную проверку без помощи модели. Для локального сценария это обычно git status, git diff и проектные тесты. Для GitHub — открытие прямого URL и сравнение title, body, labels или review comments. Такая тройная сверка обнаруживает частично выполненные операции и ошибки области действия.
Типовые ошибки и диагностика
- По умолчанию Copilot оставляет Comment, а не approval; требования merge всё равно контролируются правилами репозитория.
- Комментарии Copilot не заменяют запуск тестов и человеческое ревью чувствительного кода.
- Обычный ответ человека на review comment виден людям, но Copilot не отвечает в такой ветке комментариев.
При сбое не повторяйте write-запрос вслепую: сначала проверьте, не был ли объект уже создан. Для локальной команды сначала выясните фактический путь исполняемого файла. Для MCP посмотрите список серверов, выбранный режим Agent, перечень tools и параметры подтверждения. Для custom agent откройте сам .agent.md и проверьте frontmatter.
Безопасность и командная эксплуатация
Принцип минимальных полномочий здесь практичен: включайте только необходимые tools, открывайте только нужный workspace и не передавайте секреты через prompt. Репозиторные конфигурации MCP и custom agents должны проходить code review, потому что они управляют командами и поведением агента. Персональные профили тоже нужно периодически перечитывать: они действуют в нескольких проектах и легко устаревают.
Разделяйте подготовку и изменение. На первом ходе агент собирает данные и показывает preview, на втором пользователь проверяет целевой ресурс, а на третьем разрешает ровно одно действие. После действия выполняется независимая проверка. Эта последовательность немного длиннее, зато оставляет понятный журнал решений и упрощает откат.
Чек-лист финальной проверки
- Использован точный официальный путь, команда или пункт меню, актуальный на 13 сентября 2026 года.
- Область действия соответствует задаче: пользователь, workspace, репозиторий или один pull request.
- В шаблоне нет токенов, персональных данных, внутренних URL и случайных секретов.
- Перед write-действием проверены preview, имя tool и его аргументы.
- Операция выполнена не более одного раза и не создала дубль.
- Результат подтверждён через
git diff, список серверов, тесты или прямой URL. - Неожиданные рекомендации не расширили исходную задачу.
- Изменения конфигурации готовы к обычному code review команды.
FAQ
Считается ли ревью Copilot обязательным approval?
По умолчанию нет: официальный документ говорит о типе Comment. Approve возможен только при отдельной конфигурации.
Как запросить повторное ревью?
После нового push нажмите кнопку re-request рядом с именем Copilot в меню Reviewers, если Review new pushes не включён автоматически.
Можно ли применить несколько suggestions одним commit?
Да, GitHub допускает принятие группы предложений, но diff и тесты нужно проверить до commit.
Что означает severity?
High, Medium и Low помогают расставить приоритет, но не гарантируют истинность замечания. Проверяйте сценарий по коду.
Официальные первоисточники
Источники и изменяемые детали проверены 13 сентября 2026 года. Перед повторением процедуры после заметного обновления GitHub Copilot или VS Code откройте ссылки снова и сравните имена команд, меню и требования.
Читайте также
Как архивировать остановленную сессию Copilot cloud agent
Пошаговое архивирование stopped-сессии Copilot cloud agent без потери pushed commits и с предварительной проверкой pull request.
Как найти прошлую сессию Copilot по естественному запросу
Поиск синхронизированных Copilot-сессий по смыслу: условия remoteExport, точные запросы, проверка владельца и восстановление контекста.
Как безопасно настроить allowed-tools в GitHub Copilot Agent Skill
Практическая настройка allowed-tools для Agent Skill: минимальные разрешения, shell-риски, проверка скрипта и негативный тест.
Комментарии
Пока тихо. Скажите первое слово