EnglishРусский Map

Boffin

title
Boffin
type
toolbox
summary
Передаёт архитектурные ограничения агенту под каждую правку и требует соразмерной проверки
tags
agentic-coding, code-quality, javascript, plugin, watchlist
language
JavaScript
license
MIT
created
2026-07-29
updated
2026-07-29
lang
ru
translation_of
boffin
source_updated
2026-07-29
translated
2026-09-01
translator
lllm/antigravity/gemini-3.7-flash-medium

Boffin (npm boffinit) - это слой управления вокруг coding-агента, призванный предотвратить ситуацию, когда вы просите исправление на 15 строк, а получаете переделку на 500 строк. Перед правкой он передаёт агенту архитектурные ограничения, относящиеся именно к изменяемому файлу; после правки он требует проверки, соразмерной масштабу изменений. README противопоставляет его AGENTS.md: различие заключается в доставке контекста, так как файл правил задаёт единый статический блок на весь репозиторий, тогда как Boffin отбирает правила под каждую правку.

Как устроен

Правила хранятся в репозитории в виде версионированного markdown в каталоге packs/, и эти пакеты подписаны GPG. Во время установки ничего не скачивается и не скрывается: каждое правило можно прочитать, прежде чем доверять ему. Этап отбора, определяющий, какие именно правила применимы к файлу перед агентом, называется ParselFire Core, и в README карта маршрутизации не описана - вместо этого даётся ссылка на отдельный документ движка. Так что механизм, отличающий Boffin от обычного файла правил, - это как раз та часть, которую основной README не объясняет.

Три профиля регулируют стремление к наведению порядка, а не корректность: lite отдаёт предпочтение минимальным полезным изменениям, full используется по умолчанию, а max оказывает наибольшее давление в сторону чистки кода. Режима off нет. Утверждается, что во всех трёх профилях сохраняются одни и те же ранние этапы проверки корректности и правила отклонения - валидация границ доверия, предотвращение потери данных, безопасность, доступность. Таким образом, профиль меняет то, насколько агрессивно агент наводит порядок, а не минимальный порог требований.

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

Хосты

Один npm-пакет охватывает Cursor, Claude Code, Codex и OpenCode, а также предоставляет переносимые адаптеры для всего, что читает AGENTS.md, CLAUDE.md или правила workspace'а. Требуется Node.js 18 или новее.

/plugin marketplace add MicSm/boffin
/plugin install boffin@boffin
codex plugin marketplace add MicSm/boffin
codex plugin add boffin@boffin

Codex не доверяет hook'ам плагинов автоматически: пока вы не выполните /hooks один раз и не подтвердите доверие, навыки работают, но активация на уровне сессий остаётся отключённой. В OpenCode постоянные инструкции подключаются через opencode.json, указывающий на .boffin/AGENTS.md, а команды /boffin и /boffin-review доступны по требованию. Команды удаления индивидуальны для каждого хоста (npx boffinit cursor uninstall), а общий каталог .boffin/packs сохраняется, пока он используется хотя бы на одном другом хосте.

Доказательства

Три публичных разбора кейсов, каждый из которых представляет собой контролируемый рефакторинг реального открытого кода: DuckDB сошёлся на +17 / -17 при 2104 успешных assertion'ах в 8 тестовых файлах с сохранением отдельных путей продолжения и восстановления; FastAPI - на +16 / -33 с 49 пройденными тестами и без изменений в публичном API; LangChain сохранил границу sync/async с 4 пройденными тестами. В репозитории прямо указано, что это воспроизводимые примеры, а не контролируемый A/B-бенчмарк, и это верная оценка: три специально отобранных рефакторинга с небольшими diff'ами показывают, что инструмент способен выдавать компактные изменения, но не доказывают, что с ним агент делает правки компактнее, чем без него.

Автор также чётко обозначает, чем инструмент не является: это не linter и не CI-гейт, поскольку он действует до и после внесения правки, а не на этапе merge'а; это не sandbox и не инструмент безопасности, так как он не изолирует процессы, не фильтрует shell-команды и не ограничивает доступ к файловой системе или сети; наконец, это не замена тестам или ревью, которые остаются решающими.

Контекст

Это ответ на уровне обвязки (harness) на претензию из why-software-factories-fail, где утверждается, что модели ухудшают поддерживаемость кода, так как в процессе обучения их за это никак не штрафуют. Boffin этого не меняет, и, согласно этой логике, он повышает нижнюю планку - перехватывая важные опорные детали до того, как их упростят, - но не поднимает потолок возможностей. constraint-decay-backend-agents - это наиболее близкое количественное исследование проблемы, на которую нацелен Boffin: оно показывает, как агенты теряют успешные проверки assertion'ов по мере накопления структурных ограничений. А clean-code-coding-agents объясняет, почему эти ограничения вообще имеет смысл явно задавать. Маршрутизация на уровне отдельных правок представляет собой более узкую форму каркаса (scaffolding) из scaffold-model-fit: взятие на себя тех решений, с которыми модель справляется хуже всего, вместо надежды на то, что всё покроет длинный промпт.

Находится в watchlist, пока движок маршрутизации остаётся чёрным ящиком: именно ParselFire Core решает, какие ограничения относятся к какой правке, а README этого не описывает.

Репозиторий: https://github.com/MicSm/boffin - 37 звёзд, MIT, первый коммит в июне 2026 года. README написан в маркетинговом стиле, а за проектом от одного автора двухмесячной давности нет независимой оценки.