Дайджест 35 каналов за семь минут
Каждый понедельник в 09:00 у меня в личке появляется пост: дайджест прошедшей недели по 35 рабочим каналам мессенджера. С разбивкой на тематические блоки, с ID тикетов, ссылками, фамилиями вместо username. Делает его агент, я только утром читаю.
До того как я перевёл это на нормальную архитектуру, дайджест занимал 18-22 тысячи входных токенов на проход. С учётом ежедневной утренней + вечерней пробежки получалось дорого, а главное - агент часто галлюцинировал. То тегал коллег вместо фамилий, то склеивал темы из соседних чатов, то выдумывал контекст «по правилам».
Я разбирал, в чём проблема, и обнаружил классическую штуку. У меня был один большой файл с правилами - туда спринтами накидывали всё подряд. Профиль, MCP-серверы, стиль ответов, лимиты, шаги дайджеста, формат отчёта. Всё это грузилось в каждый запрос целиком.
▫️ Часть правил была универсальной (не используй длинное тире) - и применялась везде нормально
▫️ Часть была специфичной для дайджеста (фамилии вместо username) - и тонула среди других, агент её не замечал
▫️ Часть была дублированной в трёх местах с разными формулировками - в одном «всегда фамилии», в другом «не тегай», в третьем «преобразуй username в имя» - агент выбирал ту, что попадалась первой
То, что выглядело как сбой умной модели, оказалось обычным мусором в инструкциях.
Я разнёс правила по уровням. Универсальное - в зонт. Стримовое (рабочие правила, конвенции PR) - в стрим. Локальное (формат дайджеста, эталон, что игнорировать) - в скилл. Ничего не дублировал.
Что получилось:
1️⃣ Прогон дайджеста стал стоить 6-8 тысяч токенов. В три раза меньше
2️⃣ Стартовый префикс перестал переписываться - prompt cache работает весь день, повторные запросы платят 10% обычной цены
3️⃣ Правило «фамилии вместо username» агент применяет в 100% случаев - оно теперь видно в нужный момент, а не тонет в шуме
4️⃣ Если хочу что-то поменять - я знаю, в каком файле живёт правило. Раньше приходилось грепать по трём местам, чтобы быть уверенным, что не остался дубль
Но:
▪️ Дисциплина - не разовый рефакторинг. Через два месяца я ловил себя на том, что новое правило хочется бросить «куда-нибудь, разберусь потом». Каждый раз это «потом» обходится сильно дороже
▪️ Память тоже надо разгребать - там накопилось 27 файлов, два из них стали по 10 КБ каждый. Линт-скилл раз в месяц - обязательно
И наконец агент начал отмечать все чаты причтанными, таким образом у меня нет шума в рабочем чате!
🚀 Это не магия и не «секрет, который от вас скрывают». Это аккуратная раскладка инструкций по уровням и дисциплина, чтобы они там оставались. На следующей неделе расскажу подробнее про то, как именно эти уровни устроены и какое правило куда идёт.
Post #204
318
- ❤ 2