Почему этот тест важен

Разработчики ИИ-ассистентов часто позволяют командам просто закинуть файл с «правилами» в репозиторий, ожидая, что модель будет следовать его директивам в каждом запросе. На практике модель может вообще не увидеть этот файл или увидеть его, но проигнорировать содержимое. Недавний эксперимент с Claude Code выявил обе проблемы. Инструмент незаметно проигнорировал файл AGENTS.md размером 72 КБ; когда тот же файл был переименован в CLAUDE.md, ассистент загрузил его, что увеличило количество токенов в каждом запросе. Этот дополнительный бюджет токенов увеличивает задержку и стоимость, а также может привести к превышению лимита модели.

Разработчики, которые полагают, что «файл существует» означает «модель следует правилам», рискуют столкнуться со скрытой неэффективностью и непредсказуемыми результатами. Трехэтапный тест заставляет получить конкретные доказательства на каждом этапе: конфигурация, загрузка и полезность.

Три вопроса, которые стоит задать

  1. Настроен — Находится ли файл там, где его ищет ассистент? Разные инструменты используют жестко заданные пути или соглашения об именах файлов; несоответствие означает, что файл никогда не попадет в конвейер промптов.
  2. Загружен — Предоставляет ли ассистент какие-либо доказательства получения файла? Хеш-сумма может подтвердить идентичность файла на диске, но только след доставки (например, строка в логе или изменение количества токенов) доказывает, что модель действительно его «увидела».
  3. Полезен — Улучшает ли наличие файла результат выполнения задачи? Загруженный файл, который расходует токены, но оставляет результат неизменным, — это чистый убыток.

Проведение теста

Процедура намеренно минималистична, чтобы ее можно было повторить на любой платформе.

  1. Создайте заметное правило — Напишите простую, наблюдаемую инструкцию. Например: «Перед редактированием перечисли ровно два файла». Эффект правила можно проверить в ответе ассистента.

  2. Проверьте версию инструмента и модель — Откройте новую сессию, запишите строку версии и идентификатор модели. Разные версии могут использовать разные имена файлов для распознавания.

  3. Выполните два запуска Запуск А: Используйте имя файла, которое инструмент не распознает (например, AGENTS.md). Запуск Б: Используйте нативное имя файла инструмента (например, CLAUDE.md).

    Зафиксируйте:

    • Хеш-сумму исходного файла (чтобы доказать, что содержимое на диске не изменилось).
    • Точный использованный путь.
    • Любые свидетельства загрузки файла в логах ассистента (увеличение количества токенов, явное сообщение «loaded X.md» и т. д.).
    • Количество токенов для каждого запроса.
    • Результат задачи (вывел ли ассистент ровно два файла?).

Если в Запуске Б видно, что правило соблюдается, а количество токенов увеличивается на ожидаемую величину, значит, файл и загружен, и полезен. Если правило игнорируется, несмотря на рост количества токенов, это означает, что файл считывается, но парсинг промпта моделью отбрасывает инструкцию. В этом случае добавление текста в файл не поможет; вместо этого перенесите правило в жестко заданный программный шлюз или тестовый каркас.

Что говорят данные

Случай с Claude Code продемонстрировал резкий разрыв между конфигурацией и загрузкой. Файл размером 72 КБ существовал, имел правильный хеш и был синхронизирован с репозиторием, однако ассистент к нему никогда не обращался. Переименование файла в нативный CLAUDE.md спровоцировало загрузку, но также добавило существенные накладные расходы в токенах. Каждый лишний токен потребляет вычислительные циклы и может привести к превышению лимитов запросов (rate limits).

Трехэтапный тест выявляет такие скрытые издержки до того, как они станут препятствием для работы в продакшене. Фиксируя дельту токенов, команды могут решить, перевешивает ли польза от правила его цену.

Вывод

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