Инженерия обвязки (harness)
Привычки — это то, что вы должны не забыть сделать. Следующая ступень в настройке рабочего пространства — сделать эти проверки тем, что AI не может пропустить. Это и есть обвязка (harness).
Представьте обвязку как пункт досмотра, который стоит между агентом и реальным миром. На каждом опасном шаге она делает одно из трёх: записывает, что произошло, предупреждает вас или вовсе блокирует действие. Перед запуском команды, перед записью файла, при отправке промпта, на коммите, на пуше — везде есть шлюз. Агент не может его обойти — в отличие от вас, который в два часа ночи может забыть прогнать тесты.
Почему это обязательно? Вся ставка вайб-кодинга — «пусть AI несётся, а вы рулите». Она оправдывается, только если AI не может сорваться с обрыва, пока вы моргаете. Обвязка переносит безопасность с бдительности (читать каждый дифф, помнить каждое правило) на код (правила, что применяются автоматически). Для всего, что вы покажете живому пользователю, это не опциональная шлифовка — это именно то, что делает автономию безопасной.
Хорошая обвязка следует нескольким принципам, которые стоит знать:
- Успех — тихо, провал — громко — когда всё в порядке, она молчит, поэтому предупреждение по-прежнему что-то значит.
- Никогда не чинит автоматически — она предлагает, блокирует или предупреждает; она не «исправляет» агента втихую, пряча проблему.
- Сначала убрать спящие правила, потом добавлять новые — держать её поджарой и заслуживающей доверия, а не грудой устаревших проверок.
- Управляется конфигом — один движок, настройки под проект, вставляется в любой репозиторий.
- Логи только на дозапись (append-only) — защищённая от подделки запись того, что агент сделал на самом деле.
Не обязательно строить это с нуля. Есть готовые, подключаемые обвязки — dancinlab/harness — один из независимых от проекта движков, который можно подключить к жизненному циклу инструментов кодирующего агента. Честно говоря: обвязка не делает AI правым. Она делает ошибки AI дешёвыми для отлова — а когда вы движетесь быстро, это и есть бóльшая часть дела.