Новости Claude

Claude и другие LLM помогли собрать эмулятор ZX Spectrum

Два монитора с кодом, распечатки архитектуры и кабели на рабочем столе разработчика

Автор год назад уже писал эмулятор ZX Spectrum на Go, потом критиковал этот язык для подобных задач, а теперь неожиданно показал обратное: с помощью Claude, Qwen, GLM, Sol и других моделей проект удалось заметно ускорить и довести до рабочей версии. История полезна всем, кто делает софт: она показывает, где ИИ реально помогает в разработке, а где без ручной проверки все ломается.

Как ИИ помог переписать эмулятор

Сначала автор собрал архитектуру новой версии эмулятора с помощью Qwen, а затем отдал этот план на ревью GPT, Sol и deepseek. По его словам, модели быстро ушли от старой схемы со «спагетти-кодом» и предложили более аккуратную блочную структуру, где каждый компонент эмулятора отвечает за свою часть.

Дальше ИИ уже писал конкретные куски кода: deepseek занялся Z80 и обвязкой по шине, портам и памяти, а Sol доработал ULA и клавиатуру. В результате за пару часов появился эмулятор, который уже умел сохранять изображение с классической надписью Sinclair Research Ltd. Для разработчиков это хороший пример: ИИ может быстро собрать каркас проекта, если правильно разбить задачу на части.

Где начались проблемы и что с ними сделали

Первую версию снова подвели задержки. Автор выяснил, что виноват не сам эмулятор, а библиотека fyne для фронтенда: внутри нее оказалось слишком много буферизации, из-за которой появлялись лишние лаги. После этого фронт перенесли на SDL3, и работа пошла быстрее.

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

Что ИИ пока делает плохо

Самым сложным местом стал дисковый контроллер WD1793, он же КР1818ВГ93. Здесь модели внезапно перестали помогать: не смогли ни написать рабочую реализацию, ни найти ошибки в чужом коде. Даже с даташитами и примерами из других эмуляторов результат сначала был красивым, но нерабочим.

Лишь после ручной проверки через другие эмуляторы и добавления референсов модели смогли продвинуться дальше. Но и тут всплыла новая проблема: ИИ не всегда понимает разницу между обычным вводом с клавиатуры и токенизированным вводом в MCP. Вывод простой: LLM уже могут быть полезными «джунами» в разработке, но сложные аппаратные детали, нестандартные протоколы и тонкие баги все еще требуют человека с опытом.

Частые вопросы

Чем Claude и другие модели помогли в этом проекте?
Они помогали с архитектурой, ревью, написанием отдельных модулей, тестами и поиском ошибок. То есть ИИ взял на себя черновую и рутинную часть работы.
Почему автор снова поменял фронтенд на SDL3?
Потому что fyne давал лишние задержки и буферизацию, которые особенно вредны для игр и эмуляторов. SDL3 лучше подошел для задачи, где важна быстрая реакция.
Где ИИ оказался слабым?
На сложной работе с дисковым контроллером и тонкими техническими различиями между форматами ввода. Там модели часто выдавали красивый, но неработающий код.
Что из этой истории полезно обычному разработчику?
ИИ лучше всего использовать как ускоритель: для черновиков, рефакторинга, тестов и поиска идей. Но критические части проекта все равно нужно проверять руками.

Читайте также

Попробовать Lord GPT бесплатно →