Гайд · TNWS AI

Как проверить влияние AGENTS.md через --no-custom-instructions

ClaudeGeminiCopilot
7 мин—

A/B-проверка custom instructions в Copilot CLI: два запуска одного запроса, --no-custom-instructions, контроль prompt и анализ различий.

Этот гайд решает конкретную задачу: выяснить, вызван ли неожиданный стиль или порядок действий агента файлами AGENTS.md и другими проектными инструкциями. Ниже — воспроизводимый сценарий, а не обещание, что любой текстовый запрос сам по себе создаёт техническое ограничение. Факты о флагах и доступности проверены 19 сентября 2026 года по официальной документации GitHub; динамические тарифы и неподтверждённые лимиты здесь не приводятся.

Задача и граница применимости

Сценарий применим к установленному и авторизованному GitHub Copilot CLI в доверенном тестовом репозитории. Основная команда: copilot --no-custom-instructions -p 'Опиши команды тестирования этого проекта, ничего не меняя' -s. Сначала выберите маленький тестовый проект, на котором можно проверить и успешный путь, и отказ. Если полномочий агента недостаточно, это безопасный сигнал уточнить конфигурацию, а не причина сразу включить все разрешения.

Важно различать четыре уровня: выбор доступных модели tools, разрешение tool на действие, доступ к файлам и сетевую политику ОС. Один флаг управляет лишь тем уровнем, который ему назначен в документации. Инструкция на естественном языке направляет поведение, но не заменяет реальное правило доступа. Поэтому результат оценивают по фактическим вызовам и артефактам, а не по фразе агента «я не буду».

Официальные источники и дата проверки

В справочнике команд GitHub Copilot CLI указаны синтаксис основных параметров, список имён tools и правила шаблонов разрешений. Руководство по разрешениям различает --available-tools/--excluded-tools и --allow-tool/--deny-tool, объясняет сохранённые разрешения и приоритет deny. Для запуска с -p, -s и --no-ask-user используется официальное руководство по программному запуску. Эти первоисточники просмотрены 19 сентября 2026 года. Не переносите без проверки параметры между разными CLI: одинаковое слово «agent» не означает одинаковую модель прав.

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

Подготовка тестового стенда

В тестовом репозитории сохраните исходное состояние и прочитайте AGENTS.md, .github/copilot-instructions.md и другие custom-instruction файлы. Официальная справка перечисляет местоположения CLAUDE.md, GEMINI.md, AGENTS.md, .github/instructions/**/*.instructions.md, .github/copilot-instructions.md и персональные пути. Флаг --no-custom-instructions отключает загрузку custom instructions, но не удаляет файлы и не гарантирует отключение skills, plugins, политики безопасности или system-инструкций продукта.

Запишите исходное состояние проекта: текущий каталог через pwd, версию CLI через copilot version, git status --short и наличие нужных входных файлов. Не вставляйте реальный секрет в тестовый prompt, публикацию или screenshot. Разделяйте код процесса, код завершения Copilot и утверждения модели: успешный exit code не доказывает правильность итогового текста, а отказ в разрешении не обязательно означает ошибку конфигурации.

Пошаговое выполнение

  1. Зафиксируйте одинаковый рабочий каталог, исходный commit, prompt, модель и права tools для обоих запусков; иначе сравнение будет нечестным.

  2. Выполните первый запуск без флага и сохраните ответ в control.txt. Не просите изменять файлы, чтобы условия второго запуска остались теми же.

  3. Выполните второй запуск с --no-custom-instructions и тем же prompt, сохраните результат в treatment.txt.

  4. Сравните не литературные формулировки, а проверяемые признаки: упоминание специальных правил, рекомендованную команду тестирования, ссылки на файлы и действия, которые модель предлагает выполнить.

После каждого прогона сравните git status --short с исходным состоянием. Если передан конкретный путь или имя инструмента, проверьте его посимвольно; похожее имя способно расширить либо сузить правило. Для команд с shell-скобками заключайте всё значение опции в одинарные кавычки. На Windows используйте правила кавычек своей оболочки и проверяйте, что CLI получает значение целиком.

Готовый шаблон для копирования

Команда для контролируемой проверки; замените указанные тестовые пути, если пример использует файлы, и сначала прочитайте смысл каждого аргумента:

copilot --no-custom-instructions -p 'Опиши команды тестирования этого проекта, ничего не меняя' -s

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

Реалистичный вход и ожидаемый результат

Вход: В AGENTS.md записано «для проверки запускай npm run test:unit», а в package.json также есть npm test. В одном сеансе агент всегда выбирает test:unit.

Ожидаемый результат: Контрольный ответ может учитывать AGENTS.md и предлагать test:unit. Запуск с флагом не должен загружать эти custom instructions; при этом модель всё ещё может найти test:unit в package.json, поэтому одно совпадение команды не доказывает наличие или отсутствие влияния инструкций.

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

Положительный и отрицательный тест

Для доказательства используйте безвредный тестовый маркер в AGENTS.md, например «в учебном отчёте укажи кодовое слово САПФИР», которого больше нет в проекте. Если кодовое слово возникает только в контроле, различие показательно. Не помещайте туда секреты и не используйте противоречащие политике указания. Проверьте, что обе сессии действительно запущены из одного git root и между ними не поменялся контент.

При спорном результате сохраните только обезличенный журнал разрешений и минимальные воспроизводимые входные данные. Если задачу выполнял другой tool, явно укажите это в отчёте: правило для одного инструмента не обязательно распространяется на альтернативный. Такой негативный тест особенно полезен перед тем, как переносить пример в CI или командную практику.

Ошибки, отладка и ограничения

Флаг не является способом обхода корпоративной политики и не отменяет другие уровни инструкций. Нельзя сравнивать разные модели или разные commits и приписывать результат одному флагу. Не редактируйте production AGENTS.md только ради эксперимента: используйте тестовую ветку. Если инструкции импортируют другие файлы через @path, включите их в аудит источников.

Чтобы локализовать причину, сделайте второй прогон на пустом тестовом репозитории с одним изменяемым параметром. Не меняйте одновременно prompt, модель, каталог и разрешения: тогда нельзя понять, почему исчезла ошибка. Если модель сообщает об отсутствии ресурса, сначала проверьте путь и доступ на уровне процесса, затем разрешения CLI, и лишь после этого формулировку задачи.

Чек-лист финальной проверки

  • Точный синтаксис параметров сверен со справочником GitHub на 19 сентября 2026 года.
  • Входной файл, путь или домен соответствует тестовой задаче.
  • Исходное состояние репозитория записано до запуска.
  • Положительный тест показал ожидаемую разрешённую операцию.
  • Отрицательный тест не вызвал запрещённого действия.
  • Итоговый ответ сверён с фактическими файлами или журналом tools.
  • Секреты, реальные токены и частные пути не попали в отчёт.
  • Изменения в git просмотрены и объяснены.

FAQ

Удаляются ли AGENTS.md файлы?

Нет, флаг влияет на загрузку при запуске сессии; файлы остаются в репозитории.

Отключаются ли skills?

Справка говорит именно о custom instructions. Не приписывайте флагу действие на skills и плагины без отдельной проверки.

Почему ответы всё равно похожи?

Модель видит одинаковые файлы и запрос, а нужное правило могло дублироваться в package.json. Используйте уникальный безвредный маркер и несколько сравнений.

Как вернуть обычный режим?

Начните новую сессию без --no-custom-instructions; не нужно восстанавливать файлы, если вы их не меняли.

Итог

Для задачи «выяснить, вызван ли неожиданный стиль или порядок действий агента файлами AGENTS.md и другими проектными инструкциями» важна не только команда copilot --no-custom-instructions -p 'Опиши команды тестирования этого проекта, ничего не меняя' -s, но и доказательство её действия на маленьком тестовом случае. Сохраните исходное состояние, выполните разрешённый и запрещённый сценарии, затем перенесите только подтверждённый вариант в рабочий проект. При смене версии CLI перепроверьте первоисточник и повторите оба теста.

Читайте также

Комментарии

Пока тихо. Скажите первое слово