Обучение · Агенты и вайб-кодинг

Глава 10. Файл правил

У каждого проекта, где работает агент, есть файл с правилами. В разных инструментах он называется по-разному, суть одна: текст, который подкладывается в контекст на каждом ходу и объясняет агенту, где он оказался и как себя вести.

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

Оглавление, а не энциклопедия Формулировка, которая расставляет всё по местам: файл правил это оглавление, а не энциклопедия.

Пара строк про то, что это за репозиторий и как он устроен. Всё остальное место потратить на подводные камни, которых хуй разглядишь, просто открыв файлы.

ГЛАВНОЕ ПРО СОДЕРЖАНИЕ ФАЙЛА ПРАВИЛ Единственный критерий: агент может выяснить это сам, открыв код, значит писать не надо. Структура папок, названия модулей, используемые библиотеки, стиль оформления, который торчит из любого файла, это всё он прочитает. А вот что здесь нельзя вызывать напрямую, потому что в проде оно ведёт себя не как в тестах, он не узнает никогда.

Проверка простая. Пройди по своему файлу построчно и на каждой строке спроси: агент узнал бы это, открыв два-три файла? Да, значит вычёркивай нахуй.

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

Каждую строку проверять экспериментом Правило, которое стоит принять как дисциплину: модель справляется без инструкции, значит этой инструкции не место нигде, и точка.

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

Звучит нудно, и это действительно нудная ебля. Но альтернатива хуже: файл пухнет, каждая строка жрёт контекст на каждом ходу, а какая из них работает, не знает ни одна живая душа.

Ограничение на объём Практическая деталь, о которую спотыкаются регулярно. У подключаемых инструкций есть предел объёма, и он далеко не всегда очевиден.

Файл правил

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

ПРОВЕРКА, ЧТО ПРАВИЛА ВООБЩЕ ДОЕХАЛИ 1. Вставь в конец файла правил строку с необычным словом и указанием сказать его при первом ответе. 2. Начни новую сессию и задай любой вопрос. 3. Слова нет, значит конец файла не доехал. 4. Повторяй после каждого крупного добавления. Лимит подкрадывается незаметно.

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

Что писать, а что нет

Писать Не писать

Ловушки, которых не видно в коде Структуру папок

Инварианты, которые нельзя нарушать Список библиотек

Как запускать проверки Стиль, видимый в любом файле

Где живут секреты и как их не трогать Общие пожелания про качество кода

Чего в этом проекте делать нельзя и почему То, что уже есть в описании инструментов

Последняя строка правой колонки заслуживает пояснения. Поведение можно описать в описании инструмента, значит там ему и место. В файл правил оно не идёт: описание инструмента подгружается вместе с инструментом, а правила висят всегда и жрут постоянно.

Каскадные правила Многие инструменты умеют подхватывать файл правил из папки, в которой агент сейчас работает, с приоритетом повыше.

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

Честное предупреждение от практика, который это пробовал: сам не пользуюсь, потому что такое быстро превращается в кладбище неактуальных правил. Файл в глубине проекта никто не перечитывает, а он, зараза, продолжает работать.

Файл правил

КАСКАДНЫЕ ПРАВИЛА За. Контекст не забивается тем, что нужно в одном месте из двадцати. Правило появляется ровно там, где применимо. Против. Правила разъезжаются. Через полгода в трёх папках лежат три противоречащих версии одного требования, и найти их можно только поиском. Компромисс. Заводи каскадные правила только для мест, которые реально изолированы, и записывай их существование в центральный файл. Одна строка вида в папке такой-то лежат отдельные правила.

Что и как: разделение с проектными скиллами Полезное разграничение, к которому независимо пришли несколько человек.

Файл правил отвечает на вопрос что: что это за система, что нельзя нарушать, что проверяем.

Проектный скилл отвечает на вопрос как: как выполняется конкретная процедура, к которой обращаются не всегда.

Разделение помогает решить, куда пристроить очередной кусок текста. Нужно всегда, идёт в правила. Применимо в конкретной ситуации, идёт в скилл, и там же описывается, как эту ситуацию распознать.

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

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

Практический вывод: память для того, что меняется, правила для того, что стабильно. И регулярная уборка нужна обоим.

Живой пример структуры СТРУКТУРА КОРОТКОГО ФАЙЛА ПРАВИЛ

Что за проект Инварианты Ловушки Как проверить

три строки чего нельзя чего не видно в коде команды запуска

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

Файл правил

Что запомнить Оглавление, а не энциклопедия. Единственный критерий: агент выяснит сам, писать не надо.

Каждую строку проверяй экспериментом: с ней и без неё.

У подключаемых инструкций есть лимит, и о его превышении тебе никто не скажет. Проверяй контрольным словом.

Что нужно всегда, идёт в правила. Что нужно иногда, идёт в скилл с описанием ситуации.

Каскадные правила по папкам работают и превращаются в кладбище. Заводи с оглядкой и упоминай в центральном файле.

← Выбор модели, уровень усилий и оценка сроков · оглавление · Правила, которые работают →

Спросить книгу может любой, кто вошёл в Neuraldeep Hub: агент ищет ответ по тексту и приводит цитату со ссылкой на главу.