TGStat
TGStat
Type to search
Advanced channel search
  • flag English
    Site language
    flag Russian flag English flag Uzbek
  • Sign In
  • Catalog
    Channels and groups catalog Regional compilations Thematic compilations Платные каналы Search for channels
    Add a channel/group
  • Ratings
    Rating of channels Rating of groups Posts rating
    Ratings of brands and people
  • Analytics
  • Search by posts
  • Telegram monitoring
  • Promotion
    Advertising through Yandex Business Advertising in channels through TGStat Agency Advertising on TGStat.ru website
Arnold Enginegger

12 Feb, 10:27

Open in Telegram Share Report

Я так-то ИИ-скептик, а иногда даже ИИ-луддит, но отставать от прогресса как-то тоже нехорошо. По этому последнее время активно экспериментирую, в т.ч с локальными моделями. Вот очередной подход к снаряду случился на фоне необходимости написать простое синхронное FIFO, работающее в режиме FWFT, выполненное на блочной памяти с латентностью чтения 1 такт и без сигнала Output Enable. Решил поручить это железному рабу и за одно сравнить модели.

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

Локальные модели предсказуемо не справились, хотя надежна была на GLM-4.7-Flash и Qwen3-Coder-Next. Упорно писали обычную FIFO, хотя говорили что это точно FWFT. Судя по рассуждениям с толку их сбивало совместное упоминание латентности чтения и режим FWFT. Но больше меня удивило то, что большие облачные модели тоже не справились. Даже платная GPT-5.2. Всё таки есть какая-то магия в латентности :)

Ну ок, написал FIFO сам. Вторым подходом стало написание спецификации и функциональных тестов на готовый код. На этот раз использовал агентский кодинг в OpenCode.

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

С самими тестами вышло несколько сложнее. По заданию нужно было использовать Icarus Verilog, по этому нужно было учитывать его ограничения. Из локальных моделей более-менее на троечку справилась Qwen3-Coder-Next - она хотя бы добилась отсутствия синтаксических ошибок. Остальные и этого не смогли, заполнив контекст размышлениями и бесполезными правками. Очень было похоже на попытки исправить баланс скобок в Лиспе (нейросетевая боль).

Облачные модели справились значительно лучше. Особенно отличилась GPT-5.2. Всё сделала по канону - монитор, генератор транзакций, scoreboard, только без UVM. В результате тестирования нашла ошибку в коде FIFO, связанную как раз с латентностью памяти. Исправила её, но исправила криво, добавив лишний байпас-регистр со входа на выход. По сути это был костыль, исправляющий симптом без устранения причины. Тем не менее, результат меня впечатлил.

Однако, верить на слово я не стал, и решил написать формальные тесты. За одно проверить, насколько я менее эффективен, чем ИИ. В общем, на написание тестов и исправление ошибок в коде FIFO было потрачено 10 часов Карл!, чистого рабочего времени (скрипты запуска я поручил писать ИИ 😏). Это ДОФИГА на такой простой модуль. С другой стороны, эти тесты нашли не только ошибку, которую обнаружил ИИ, но и ещё одну, которая была совсем неочевидной и труднообнаружимой, т.к. не ломала функциональность FIFO, а всего лишь при определенных условиях ограничивала глубину на один элемент.

Затем я попросил ИИ (теперь уже GPT-5.3, он как раз вышел) посмотреть мои формальные тесты и оценить их на соответствие спецификации. Тут он прям раскрылся. Не только понял, что я там проверял, но и чётко разложил, где у меня несоответствия, где неполнота и как это всё исправить. В основном это были проверки ограничений, которые я счёл очевидными и не требующими покрытия - сказалась моя человеческая предвзятость. Тесты я дополнил, спеку мы вместе подправили и причесали.

Ну и последним было написание формальных проверок по готовой спецификации с помощью ИИ. Локальные модели пытать не стал, сразу отдал задачу GPT-5.3. Код он написал быстро, количество строк в два раза меньше, чем у меня, но получилось несколько сумбурно, без структурирования и декомпозиции. Тесты нашли ту ошибку, которую обнаружили функциональные тесты, но не вторую, которую нашли мои формальные проверки. При этом, ИИ уверял, что спецификация покрыта полностью. Соврал, гад, но очень убедительно. Если бы я не знал про ошибку, доверился бы ему на 100%.

продолжение с следующем посте

754 0 22 8 24
Catalog
Channels and groups catalog Channels compilations Search for channels Add a channel/group
Ratings
Rating of Telegram channels Rating of Telegram groups Posts rating Ratings of brands and people
API
API statistics Search API of posts API Callback
Our channels
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Read
Академия TGStat Telegram Research 2019 Telegram Research 2021 Telegram Research 2023
Contacts
Справочный центр Support Email Jobs
Miscellaneous
Terms and conditions Privacy policy Public offer
Our bots
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot