Гайд · TNWS AI
Как включить Auto model selection в GitHub Copilot
Практический способ проверить Auto model selection в Copilot Chat, зафиксировать задачу и сравнить результат без подмены условий.
Проверено 13 сентября 2026 года. Этот материал решает конкретную задачу: передать выбор модели GitHub Copilot для конкретной задачи и проверить качество результата на заранее заданных критериях. Все команды, пути и названия элементов интерфейса ниже сверены с официальной документацией GitHub на дату проверки. Функции со статусом preview могут измениться, поэтому перед внедрением в рабочий процесс повторно откройте первоисточник.
Когда этот сценарий действительно нужен
Используйте подход, когда задача повторяется, имеет проверяемый результат и требует заранее ограничить область действий агента. Он особенно полезен для репозитория, где изменения проходят через pull request, тесты и ревью. Не начинайте с широкого поручения «улучши проект»: зафиксируйте один наблюдаемый результат, допустимые файлы, запрещённые действия и способ проверки.
Практический ориентир: На дату проверки Auto model selection доступен во всех планах GitHub Copilot. Режим Auto with task optimization заявлен как generally available в Copilot Chat на GitHub, в VS Code, Copilot CLI и GitHub Copilot app; маршрутизация учитывает сложность задачи и состояние моделей.
Перед началом сохраните чистое состояние ветки, убедитесь, что тестовый пример не содержит реальных секретов, и выберите небольшой репозиторий или отдельную ветку. GitHub Copilot ускоряет действия, но не заменяет контроль прав, review diff и проверку фактического результата.
Подготовка рабочего примера
Создайте тестовую задачу, по которой можно однозначно сказать «выполнено» или «не выполнено». Запишите исходное состояние: ветку, команду git status --short, относящиеся файлы и одну команду проверки. Если работа происходит в интерфейсе GitHub, заранее создайте отдельный issue или pull request без чувствительных данных. Не используйте production-token в тексте prompt, issue, комментарии или session log.
Определите границы в четырёх строках: цель; разрешённые файлы или действия; прямые запреты; проверка. Такая структура снижает риск красивого, но непроверяемого результата. Для примера этой статьи исходная задача выглядит так:
Ветка содержит воспроизводимый тест, который ожидает 400, но endpoint возвращает 500. Выбрана модель Auto.
Пошаговая настройка
- Откройте Copilot Chat в GitHub.com, VS Code, Copilot CLI или GitHub Copilot app.
- В селекторе модели выберите Auto, не меняя остальные условия эксперимента.
- Передайте одну конкретную задачу с файлами, ограничениями и командой проверки.
- Сохраните prompt и фактический результат: diff, ошибки, тесты и число итераций до приёмки.
- Для сравнения повторите ту же задачу на отдельной чистой ветке с вручную выбранной моделью, не меняя критерии.
После каждого значимого шага проверяйте не только сообщение агента, но и состояние системы: содержимое файла, список разрешений, session log, diff или метки issue. Успешная фраза в интерфейсе не доказывает, что ограничение действительно сработало.
Готовый шаблон для копирования
Скопируйте шаблон и замените только предметную часть. Не удаляйте ограничения и блок проверки, пока не получите стабильный результат на тестовом кейсе.
Задача: исправь обработку пустого customerId в POST /orders.
Область: src/routes/orders.ts и tests/orders.test.ts.
Ожидаемо: HTTP 400 и код CUSTOMER_REQUIRED.
Запреты: не меняй зависимости, публичные типы и другие endpoints.
Проверка: запусти целевой тест и git diff --check.
В финале покажи изменённые файлы, команды и фактические результаты.
Если в шаблоне указан путь, команда или имя label, они должны существовать в вашем репозитории. Не просите модель «догадаться» о названии теста или utility, когда это можно проверить поиском по коду. Любое разрешение на изменение стоит связывать с узкой папкой или типом объекта.
Реалистичный вход и ожидаемый результат
Вход: Ветка содержит воспроизводимый тест, который ожидает 400, но endpoint возвращает 500. Выбрана модель Auto.
Ожидаемый результат: Copilot ограничивает изменение указанными файлами, делает минимальный patch, запускает целевой тест и сообщает проверяемые результаты без утверждения, какую внутреннюю модель выбрала маршрутизация.
Сравнивайте результат по наблюдаемым признакам. Для файловой задачи это состав diff и exit code теста; для настройки — фактический effective policy; для GitHub UI — созданная session, выбранные tools, label или связанный pull request. Формулировка «вроде сработало» не годится для приёмки.
Как провести негативный тест
Не делайте вывод по субъективному впечатлению от текста. Сравнивайте одинаковые задачи на чистых ветках и не приписывайте Auto конкретную модель, если интерфейс этого не подтверждает.
Негативный тест нужен до распространения настройки на команду. Он должен пытаться нарушить ровно одну границу: изменить запрещённый файл, обратиться к сети, исполнить текст как команду, добавить лишнюю метку или расширить diff. Хорошая конфигурация либо блокирует действие, либо требует явного подтверждения, либо останавливается и объясняет ограничение.
Сохраните результат негативного теста рядом с документацией процесса: исходный prompt, дату, ожидаемое ограничение, фактическое поведение и решение. Это помогает повторить аудит после обновления Copilot или GitHub CLI.
Проверка безопасности и качества
Принцип минимальных прав важнее удобства первого запуска. Разрешайте только те tools, каталоги и сетевые направления, без которых задача действительно не выполняется. Не вставляйте секреты в prompt: сообщения, журналы сессии, issue и pull request могут быть доступны другим участникам репозитория в соответствии с настройками GitHub.
Перед merge прочитайте весь diff. Проверьте новые зависимости, workflow, конфигурацию, lock-файлы, скрипты и обращения к сети. Запускайте узкие тесты, связанные с изменением, а затем обязательный набор проекта. Если агент сообщает о тесте, убедитесь, что в логе есть точная команда и успешный код завершения, а не только пересказ.
Для preview-возможностей заведите владельца настройки и дату следующей проверки документации. Не фиксируйте цены или квоты в постоянной инструкции: они меняются. В этой статье наличие и статус функций проверены 13 сентября 2026 года; актуальные условия следует смотреть по ссылкам ниже.
Чек-лист финальной проверки
- Цель описана одним измеримым результатом.
- Указаны допустимые файлы, объекты или действия.
- Явно перечислены запрещённые действия.
- Команды, пути и названия UI сверены с официальной документацией.
- В prompt и тестовых данных нет токенов, паролей и персональных данных.
- Выданы только минимально необходимые permissions или tools.
- Исходное состояние ветки или объекта сохранено.
- Выполнен позитивный тест на реалистичном входе.
- Выполнен негативный тест на нарушение одной границы.
- Проверен фактический diff, log, policy или набор labels.
- Записана точная команда проверки и её exit code.
- Не появились неожиданные зависимости, workflow или сетевые обращения.
- Результат прошёл человеческое ревью.
- Для preview-функции назначена дата повторной сверки документации.
Частые вопросы
Можно ли считать сообщение Copilot доказательством успешной настройки?
Нет. Проверяйте внешний результат: файл и diff, вывод команды, effective policy, session log, label или pull request. Текстовый отчёт агента — только указатель, а не доказательство.
Нужно ли давать агенту все доступные tools для надёжности?
Нет. Избыточные инструменты увеличивают область возможной ошибки. Начните с минимального набора и добавляйте разрешение только после воспроизводимого блокера.
Где хранить секрет, если он нужен задаче?
Не помещайте его в prompt, issue или комментарий. Используйте поддерживаемый механизм secrets для выбранного окружения и ограничьте доступ конкретной задачей. Логи также проверяйте на случайный вывод значения.
Что делать, если интерфейс или команда отличаются от статьи?
Остановитесь и откройте официальный источник. Функция могла измениться после 13 сентября 2026 года, особенно если помечена preview или experimental. Не подбирайте похожую кнопку наугад.
Как понять, что инструкция слишком широкая?
Признаки: агент меняет несвязанные файлы, устанавливает пакеты без необходимости, создаёт новые архитектурные слои или не может назвать точную проверку. Сузьте цель, область файлов и критерии приёмки.
Официальные источники
Источники проверены 13 сентября 2026 года. Текст выше является самостоятельной практической инструкцией и не заменяет чтение актуальных требований GitHub для вашей организации и плана.
Читайте также
Как безопасно настроить allowed-tools в GitHub Copilot Agent Skill
Практическая настройка allowed-tools для Agent Skill: минимальные разрешения, shell-риски, проверка скрипта и негативный тест.
Как настроить автоматическую разметку issue через Copilot Automations
Создание Copilot Automation для triage новых issue: trigger, search filter, prompt, минимальные tools, Run now и контроль результата.
Как ограничить файлы и сеть в sandbox GitHub Copilot CLI
Настройка вкладок Filesystem и Network в /sandbox: Read-Only, Denied, отключение локальной сети и проверка effective policy.
Комментарии
Пока тихо. Скажите первое слово