TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Arnold Enginegger

12 Feb, 10:27

Открыть в Telegram Поделиться Пожаловаться

Я так-то ИИ-скептик, а иногда даже ИИ-луддит, но отставать от прогресса как-то тоже нехорошо. По этому последнее время активно экспериментирую, в т.ч с локальными моделями. Вот очередной подход к снаряду случился на фоне необходимости написать простое синхронное 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
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot