От Go к C++: ИИ как архитектор и QA
Автор проекта, ранее писавший эмулятор на Go, столкнулся с микрофризами из-за избыточного буферизирования. Для исправления архитектуры он использовал цепочку моделей: Qwen спроектировал структуру, GPT провел ревью, а Sol и DeepSeek начали реализацию. В результате за пару часов был создан рабочий прототип с эмуляцией Z80, ULA и клавиатуры, способный выводить заставку «(C) 1982 Sinclair Research Ltd».
Проблема GUI: Fyne против SDL3
Ключевой ошибкой первоначальной версии стала библиотека Fyne для GUI, которая добавляла задержки до 100 мс, убивая геймплей. ИИ-агенты (DeepSeek, Sol) проанализировали проблему и рекомендовали переход на SDL3. После замены фреймворка эмулятор стал отзывчивым, а роль автора сместилась от кодинга к тестированию (QA).
Модуль дисков: провал моделей
Самым сложным участком стала эмуляция дискового контроллера. Модели продемонстрировали неспособность работать с низкоуровневой логикой без человеческого вмешательства:
| Компонент | Результат работы LLM | Причина сбоя |
|---|---|---|
| WD1793 (КР1818ВГ93) | Полный провал | Модели выдавали бред, не смогли найти ошибки в коде даже с даташитами |
| NEC μPD765 | Частичный успех | BIOS Amstrad 2A/+3 не воспринимал код; потребовался анализ готовых реализаций |
| Ввод в TR-DOS | Сложная логика | Игнорирование токенизации команд (например, randomize usr 15616), требовалось ручное «забивание» правил |
Итог: уровень Junior-разработчика
Проект подтвердил тезис, что современные LLM достигли уровня «джуниоров». Они способны быстро писать код, ревьюить архитектуру и исправлять баги в известных паттернах (GUI, CPU, Memory). Однако они теряются при работе с редким «железом», специфичными протоколами ввода и необходимостью глубокого понимания аппаратных особенностей, где требуется экспертный человеческий контроль.
Источник: Habr ↗
