tenzorНачать
Все статьи

«Сделай кнопку синей и больше ничего не трогай»: почему ИИ правит лишнее

За сутки на Hacker News собрал 1090 очков сайт-шутка: пользователю дают одно задание — сделать кнопку «Добавить в корзину» синей, ничего больше не меняя. Дальше начинается комедия, знакомая каждому, кто правил код через ИИ: цвет поменялся, но заодно переехала вёрстка, пропал отступ и почему-то обновилась библиотека.

Шутка попала в нерв, потому что описывает реальное поведение. Разберём, откуда оно берётся.

Просили покрасить кнопку — получили редизайн: ИИ-агент меняет больше, чем просили

Причина первая: модель переписывает, а не правит

Языковая модель не умеет «менять символы с 412 по 418». Она порождает текст. Когда вы просите поправить страницу, модель по-честному выдаёт страницу целиком — и всё, что она напишет по дороге, окажется в файле.

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

Причина вторая: вежливость обучена

Модели учат быть полезными. «Полезность» в обучении почти всегда означает «сделай чуть больше, чем спросили»: дополни, улучши, предупреди. На вопросы это работает прекрасно, на правках — разрушительно. Вам нужен ровно один синий цвет, а модель искренне считает, что помогает.

Причина третья: она не видит результат

Человек после правки смотрит на экран. Модель — нет. Она отдаёт текст и не знает, что вёрстка поехала. Отсюда бодрое «Готово!» при сломанной странице.

Три причины: модель переписывает целиком, обучена делать больше просимого и не видит результат

Как просить, чтобы получить именно правку

Несколько приёмов, которые реально снижают ущерб.

  1. Одна правка за раз. «Покрась кнопку» и «поправь отступы» — два разных сообщения. В одном запросе модель смешает их и добавит третье от себя.
  2. Назовите объект точно. Не «кнопка», а «кнопка Добавить в корзину в карточке товара». Чем меньше догадок, тем меньше самодеятельности.
  3. Запретите явно. Фраза «остальной код оставь без единого изменения» работает — не всегда, но заметно чаще, чем её отсутствие.
  4. Просите показать разницу. «Покажи, что именно поменял» — модель начинает считать себя ответственной за объём правки.
  5. Правьте на актуальной версии. Если правок было много подряд, приложите текущий файл заново: иначе модель продолжит цепочку от той версии, которую помнит.

Чем это лечится по-настоящему

Инструментом, а не уговорами. Когда правка выполняется не генерацией текста, а прямым действием над конкретным элементом, лишнему просто неоткуда взяться.

Так сделан визуальный редактор страниц в tenzor: вы открываете собранный сайт, кликаете по элементу и меняете текст, ссылку или картинку. Меняется ровно выбранное — остальная страница физически не участвует в правке, поэтому «заодно переделал вёрстку» здесь невозможно по устройству, а не по вежливой просьбе.

То же и с картинками: точечная замена области работает по маске, а не перерисовкой кадра, — поэтому таблица в документе остаётся таблицей, а не превращается в похожую.

Точечная правка: изменяется только выбранный элемент, остальная страница не затрагивается

Итог

Шутка про синюю кнопку смешная ровно потому, что правдивая. Пока модель правит текст пересозданием, лишние изменения будут появляться всегда — вопрос только в их количестве. Формулировки помогают, инструменты решают.

Почему ИИ меняет то, о чём его не просили?+

Он не редактирует файл точечно, а пишет его заново. Всё, что модель напишет по дороге, попадает в результат — плюс обучение поощряет делать чуть больше, чем спросили.

Помогает ли фраза «ничего больше не меняй»?+

Да, заметно, но не гарантированно. Это подсказка, а не запрет: модель по-прежнему порождает текст целиком.

Как правильно просить одну правку?+

Одно изменение за сообщение, точное название объекта, явный запрет на остальное и просьба показать, что именно изменилось.

Есть ли способ исключить лишние правки совсем?+

Да, если правка выполняется действием над конкретным элементом, а не перегенерацией страницы. В визуальном редакторе меняется только выбранный элемент.

Что дальше почитать

Соберите страницу и поправьте её кликом

Сайт собирается в чате, а мелкие правки делаются прямо по элементу — без переделки всего остального.

Открыть чат