Инженерия обвязки (harness)
Привычки — это то, что вы должны не забыть сделать. Следующая ступень в настройке рабочего пространства — сделать эти проверки тем, что AI не может пропустить. Это и есть обвязка (harness).
Представьте обвязку как пункт досмотра, который стоит между агентом и реальным миром. На каждом опасном шаге она делает одно из трёх: записывает, что произошло, предупреждает вас или вовсе блокирует действие. Перед запуском команды, перед записью файла, при отправке промпта, на коммите, на пуше — везде есть шлюз. Агент не может его обойти — в отличие от вас, который в два часа ночи может забыть прогнать тесты.
Каждое опасное действие агента сначала проходит через обвязку, где каждый шлюз может его записать, предупредить вас или заблокировать, прежде чем оно достигнет реального мира:
┌─────────┐ ┌──────────┐
│ АГЕНТ │ │ РЕАЛЬНЫЙ │
│действие │ │ МИР │
└────┬────┘ └──────────┘
│ ▲
▼ │
╔═══════════ ОБВЯЗКА (шлюз) ═══════════════════╗ │
║ ║ │
║ ┌────────┐ ┌────────┐ ┌────────┐ ║ │
║ │ ЗАПИСЬ │ │ ПРЕДУП │ │ БЛОК │ ║────┘
║ │ лог │ │ алерт │ │ стоп │ ║ разрешено
║ └────────┘ └────────┘ └───┬────┘ ║
║ │ ║
╚═══════════════════════════════════╪══════════╝
▼
┌─────────┐
│ ОТКАЗ │
└─────────┘
Почему это обязательно? Вся ставка вайб-кодинга — «пусть AI несётся, а вы рулите». Она оправдывается, только если AI не может сорваться с обрыва, пока вы моргаете. Обвязка переносит безопасность с бдительности (читать каждый дифф, помнить каждое правило) на код (правила, что применяются автоматически). Для всего, что вы покажете живому пользователю, это не опциональная шлифовка — это именно то, что делает автономию безопасной.
Хорошая обвязка следует нескольким принципам, которые стоит знать:
- Успех — тихо, провал — громко — когда всё в порядке, она молчит, поэтому предупреждение по-прежнему что-то значит.
- Никогда не чинит автоматически — она предлагает, блокирует или предупреждает; она не «исправляет» агента втихую, пряча проблему.
- Сначала убрать спящие правила, потом добавлять новые — держать её поджарой и заслуживающей доверия, а не грудой устаревших проверок.
- Управляется конфигом — один движок, настройки под проект, вставляется в любой репозиторий.
- Логи только на дозапись (append-only) — защищённая от подделки запись того, что агент сделал на самом деле.
Не обязательно строить это с нуля. Есть готовые, подключаемые обвязки — dancinlab/harness — один из независимых от проекта движков, который можно подключить к жизненному циклу инструментов кодирующего агента. Честно говоря: обвязка не делает AI правым. Она делает ошибки AI дешёвыми для отлова — а когда вы движетесь быстро, это и есть бóльшая часть дела.