Обновить

Еще одна интересная форма тупости у нейросеток (сначала Claude Sonnet 5, потом Claude Opus 5): оно не понимает, что если устройство (нетривиальное, то есть у которого есть внутреннее состояние) выдало глюк на тесте в первую секунду работы, то бесполезно минимизировать количество глюков, которое оно выдаст в следующий час. Оно уже глючное, нужно исправлять первый глюк. Прогресс - это не “было 100 глюков в час, стало 80”, а “был глюк на первой секунде теста, а теперь глюк появился только на второй”.

Дал нейросетке задание: исправить ошибку в сгенерированном ею модуле на языке описания аппаратуры SystemVerilog. Модуль погружен в тестовое окружение которое проверяет работу модуля против его модели (тоже написанной на SystemVerilog). На вход и модуля и модели подаются одни и те же входные транзакции (stimuli), после чего у них сверяется ответы. Ответы могут приходить в несколько разное время, но это не имеет значения, потому что перед проверкой они складируются в очередях. Как и исходные транзакции до отправления, чтобы не сравнивать детали латентности handshake-ов.

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

И вот оно провело ночь гоняя симуляции и минимизируя счетчик глюков. Ну первую ночь я бы простил. Я сказал “мерило прогресса - не счетчик глюков, а что первый глюк возникает позже”. Но оно потом это забыло и снова провело ночь минимизируя счетчик глюков.

Это из той же оперы как “если ты услышал что часы на башне пробили 13 раз, то скорее всего неверным является не только 13-й удар колокола, но и 12 предыдущих”. Или если у тебя syntax error в коде на Си в строке 100, то зачем проводить всю ночь пытаясь минимизировать количество syntax errors в последующих строках?

Теги:
+19
Комментарии6

Путь к ИИ‑сингулярности

У нас было два репозитория неоттестированного вайб‑кода, семьдесят пять тяжеловесных SDD‑спецификаций, пять обмазанных смазкой харнессов, солонка, наполовину полная кастомных скиллов и забитых капслоком правил, с десяток дырявых MCP‑серверов, RAG‑база со свежевекторизованным Confluence, самодельная дощечка имаго‑кодинга и целая россыпь автономных агентов всех мастей, от безобидных автодополнялок до галлюцинирующих субагентов, ставящих пакеты со slopsquatting и втихаря сносящих боевые базы.

Не то чтобы все это было действительно нужно для поездки к ИИ‑сингулярности, но если уж начали участвовать в спуске с горы на велосипеде без седла, остановиться уже невозможно.

Единственное, что вызывало у меня настоящий животный страх, это передача ответственности за ревью самой модели. Тот самый момент, когда седьмой агент подтверждает галлюцинации шестого, потому что все тесты зеленые, и я знал, что рано или поздно мы перейдем на эту дрянь.

Нет ничего более беспомощного, безответственного и испорченного, чем IT‑команда, запустившая мультиагентный оркестр в режиме allow all.

Это критический (и слегка ехидный) обзор того, что произошло с разработкой последние пару лет.

Путь к ИИ‑сингулярности

Публикации