Меня в разных постах обвиняли, что я якобы базирую свою критику AI только на старых бесплатных моделях. Что-ж, пару недель назад я дал задачку самой последней самой платной версии Claude и вот мои наблюдения. Если кратко, из него можно выбить правильный ответ, если знать какой ответ должен быть, но в процессе выбивания оно демонстрирует целый букет наивностей, свойственный людям, которые перешли на верилог из Си. Я аж прослезился, вспомнив как я делал такие же ошибки 30 лет назад. При этом оно еще и пытается спорить и что-то доказывать, что я у него запросил якобы "теоретически невозможно".
Конечно самое коронное из наивностей - это перепутать стадии конвейера и состояния последовательного конечного автомата. Даю ему задачу спроектировать блок, который принимает транзакции TIn и выдает транзакции TOut после применения некоторого алгоритма. Вообще-то такой блок уже существует, поэтому любые попытки Claude сказать "теоретически невозможно" сразу шлются подальше. Если все транзакции потока - простые, то блок должен принимать транзакции Tin каждый такт и выдавать результат Tout каждый такт (после задержки в фиксированное количество тактов).
И что же ИИ делает? Оно строит последовательный конечный автомат с 5-ю стадиями, в котором начинает обрабатывать новую транзакцию только когда, через пять тактов, заканчивает обрабатывать старую. При этом в комментариях оно пишет что это якобы pipeline, то бишь конвейер. Что разумеется ерунда, поскольку в конвейер можно засовывать следующую транзакцию как только предыдущая прошла первую стадию, не дожидаясь пока она докатится до пятой.
Помимо меня в 1996 году я такую же ошибку видел в последнее время у одного хоббиста из Израиля, который стал в своем блоге учить мир как писать процессоры, и в ответ на возражение "это не конвейер" стал оправдываться что это "конвейер" в некотором абстрактном смысле, типа поэтическом. А также у вышедшего на пенсию профессора программирования из Шотландии, который решил на старости лет также поучить людей тому что он сам неверно понимает. Это вообще свойственно программистам на Си которые впервые увидели верилог. Что показывает кому Антропик дает тренировать клод.
Итак, я пишу клоду "это не конвейер, я запросил конвейер". В ответ оно соглашается и меняет в комментариях "pipeline" на "state machine states". Но код остается тот же самый.
На это я ему говорю "каждое процессирование занимает 5 тактов для любой транзакции, я же запрашивал back-to-back для простых транзакций". ИИ в ответ оптимизирует два состояния и далее заявляет, что якобы три такта это "теоретический предел".
И вот тут я обнаружил интересную фичу: если на Клод наорать капслоком, оно перестает трендеть про "теоретический предел" c последовательным многотактовым конечным автоматом - и строит конвейер.
Но если бы с ним сидел не я, а джун после коледжа, он бы поверил клауду про "теоретический предел" и вот так бы и оставил. И что потом делать с результатом? Смириться что телефон выводит на экран игры по одному пикселю в секунду и батарейка здыхает через 5 минут?
Именно поэтому я убежден, что студентов нужно тренировать так, чтобы они умели решать задачки такого типа безо всякого ИИ. А если не хотят - пусть идут в Макдональдс или собирать клубнику на плантациях в Вилсонвилле, замещать там нелегальных мексиканцев, которых Трамп пытается высылать.
Как их сейчас тренируют в вузах? Набивают всякими мусором, который потом превращается в кашу в голове из JK-триггеров и карт Карно. Там и про конвейеры и FIFO есть, они просто висят как сферические кони в вакууме, без понятия как это прилагать к решению задач.













