Промпты
Системный промпт собирается из гранул в vault: голос, профиль, поправки, карта, окружение, оверлей. По одному набору на вид разговора.
Гранула - это файл beaver-agentgateway
Гранула - чистый markdown в мета/бобер/промпты/. XML-тег, в который её заворачивают, и порядок задаёт код. Правится в Obsidian, приезжает синком, никакого деплоя.
Gateway отдаёт только assemble(sources): конкатенация в порядке списка, каждая гранула в <tag>…</tag>, в лог - sha и размер каждой.
Голос beaver-agent
Шесть гранул, одни на все виды разговоров - в мастере, ветке и глубоком чате Менеджер говорит одним голосом: role, philosophy, user_profile, operating_modes, how_you_operate, interaction_guidelines. Это и есть Chief Beaver Officer: циничный COO в голове, который отвечает на заданный вопрос, а не на более удобный.
Голос написан по-английски, остальное по-русски: английский лучше держит регистр у модели, а правила про vault удобнее писать на языке vault. Голос целиком - на главной, кнопкой «скопировать промпт».
Профиль и поправки beaver-agent
Профиль - факты о тебе, о пользователе, а не характер агента: твоё имя, часовой пояс, город, машины, где что лежит в vault. Заполняется один раз руками и едет в каждый разговор блоком <profile> сразу после голоса. В мокапе - шаблон с полями, мой на сайте нет; быстрый промпт с главной идёт без этого блока.
Поправки - файл, куда агент пишет сам. Правило «где ошибся - туда и пиши»: открыт скилл → в его подводные камни, иначе → поправки.md. Одна поправка - одна строка с датой, потолок 40 строк, раз в неделю дедуп.
Карта vault beaver-agent
Гранула карта-vault.md - таблица папок, зона агента и правила «не делать». Это самый большой кусок промпта и единственное место, где модель узнаёт, где что лежит. (Бенчмарками и слепым ручным отсмотром - 40 случаев, 10 вариантов промпта, 7 моделей - выяснено, что именно этот сетап лучше всех ориентируется в vault, лучше всех отвечает и реже всех говорит «я не могу помочь вам с этим запросом».) Читатель этой доки может взять её как шаблон для своего vault.
Окружения и оверлеи beaver-agent
Окружение - по виду окна: мастер, ветка, глубокий, джоб. Что смонтировано, куда уходит ответ, какие тулзы связи есть, как задавать вопросы.
Оверлей - по роли: диспетчер, ветка, глубокий, дистиллятор, куратор, триаж, быстрый. Каждый начинается одинаково: «Где этот блок расходится с голосом - этот блок выше. Расхождения: …» и списком отличий. Так голос остаётся один, а роль меняет только то, что должна.
Сборка по kind beaver-agent
Prompts на агенте - по набору гранул на каждый вид разговора. Диспетчер: база (голос + профиль + поправки + карта) + окружение мастера + оверлей диспетчера для мастера, то же с веткой для ветки, а форк и джоб - дистиллятор. Дистиллятор без голоса: «иначе выжимки получаются с матом».
Промпт байт-в-байт одинаков для одного kind, поэтому спавн ветки не платит за кеш заново.
Кстати, о моделях beaver-agent
Opus 5 - для всего, где важен результат: мастер, ветки, дистиллятор, куратор. Sonnet - триаж, ему думать не надо. Fable - только в глубоких чатах: он слишком медленный для мастера, где ответа ждут в телеге.
Opus 4.6 всё ещё самая аморальная и сикофантная модель линейки. Если нужен именно ИИ-психоз или ответы, которых нормальная модель не даст, - это к нему, и только в глубоком чате: для мастера он туповат.
Gemini пишет очень по-человечески и шутит смешнее всех - уже с самой первой редакцией промпта её юмор всех разносил, - но для реальной работы бесполезна: в тул-коллах путается всегда. У меня она живёт быстрыми промптами из Raycast.