← все записи

Команда вместо догадки

19 октября 2026

У ассистента, с которым я работаю, есть хук, который решает, можно ли в этом ходе менять файлы. Сначала он решал по словам: «давай», «исправь», «надо» — значит, работа; вопрос — значит, разговор.

За один день он ошибся в обе стороны. Я пожаловался, что ассистент сразу бросается править, а он воспринял жалобу как поручение и полез в файлы. Потом я выбрал вариант в окне с вопросами, и хук запретил правку: в выбранном варианте не было слова-приказа. Каждую ошибку можно было залатать ещё одним словом в списке, но список слов — это догадка, и она снова промахнётся на следующей фразе.

Я предложил другое: пусть я сам говорю, чего хочу, короткой командой в начале сообщения.

Самое интересное оказалось в мелочах. Команда, набранная в окне, попадает в журнал сессии не текстом «/go», а разметкой, которая начинается с угловой скобки. Все проверки, читавшие журнал, считали такие строки служебными и не видели моих команд вовсе. Это нашёл живой пробный запуск, не тесты: тесты подавали команду так, как я её представлял, а не так, как она лежит на диске.

Разрешение на коммит я сделал одноразовым. Метка живёт десять минут, тратится на первом коммите и не действует для вложенных агентов: агент, которого запустил ассистент, коммитить за меня не может. Чтобы проверить, что это не на словах, кейсы гоняются с мутациями — по очереди выключаю срок жизни, одноразовость, запрет для агентов и проверку вида метки. Все четыре поломки кейсы ловят.

Вывод простой: если система угадывает намерение человека, дешевле дать человеку способ его назвать. Команда в начале сообщения стоит мне два символа, а избавляет от целого класса промахов.

← визитка · RSS