Нейросеть на 49 тысяч параметров вместо Playwright-тестов для браузерной стратегии
Разработчик браузерной космостратегии заменил часть Playwright E2E-тестов нейросетью-автопилотом — 49 тысяч параметров, чистый TypeScript, ноль зависимостей от ONNX. Сеть играет в игру самостоятельно и оценивает то, что обычные тесты принципиально не могут: выгоднее ли вообще что-то делать в игре или лучше положить капитал на депозит. По пути — пять итераций от потолка точности 67% до модели, которая намертво замирала при 99,7%.
AI-обработка оригинала Habr AI; редакция Hamidun News
Разработчик браузерной космостратегии описал на Хабре, как заменил часть Playwright E2E-тестов крошечной нейросетью-автопилотом — 49 тысяч параметров, чистый TypeScript без зависимостей от ONNX — и прошёл пять итераций от потолка точности в 67% до модели, которая намертво замирала при 99,7%.
Что принципиально не могут проверить классические тесты
Playwright, Selenium и аналоги хорошо ловят интерфейсные баги: кнопка нажалась, форма ушла, модальное окно закрылось. Но у них есть принципиальный потолок — они не могут оценить стратегическую эффективность игровых механик.
Для браузерной стратегии это ключевое слепое пятно. Центральный вопрос при разработке звучит так: «А не выгоднее ли игроку просто положить стартовый капитал на депозит и ждать — вместо того чтобы вообще что-то делать в игре?» Ни один Playwright-сценарий не сыграет тысячи партий с разными стратегиями, не подсчитает итоговую доходность каждой и не сравнит её с пассивным ожиданием. Именно здесь открывается ниша для обучаемого агента.
Как устроен автопилот
Автопилот принимает снимок текущего игрового состояния — набор числовых признаков: ресурсы, позиции флота, временны́е метки — и выдаёт следующее действие: кликнуть кнопку, дождаться события, переключить режим. Ключевые параметры реализации:
- 49 тысяч параметров — модель умещается в несколько мегабайт, GPU не нужен
- Чистый TypeScript — никакого ONNX-рантайма, нативной C-библиотеки или Python-окружения
- Запуск прямо в браузере — агент живёт в том же процессе, что и игра
- Метрика качества — итоговая эффективность стратегии относительно пассивного «депозита»
Такой агент можно запускать в ускоренном режиме, прогонять тысячи партий за ночь и автоматически фиксировать деградацию баланса при каждом изменении игровой логики.
Пять итераций от 67% до замерзания при 99,7%
Первый потолок встал на 67% точности: модель переобучилась на самых частых действиях и игнорировала редкие, но критически важные ходы — классический симптом несбалансированной выборки.
После переработки набора данных и взвешивания классов точность пошла вверх. Но когда метрика достигла 99,7%, случилось неожиданное: нейросеть полностью замерла и перестала принимать какие-либо решения — и всё равно показывала почти идеальную точность. «Ничего не делать» оказалось статистически верной стратегией при том, как были закодированы целевые метки. Потребовалась дополнительная настройка функции потерь и принудительное разнообразие действий в обучающей выборке.
«Юнит-тесты, интеграционные и
Playwright E2E ловят баги в интерфейсе, но бессильны против вопроса: а не выгоднее ли просто положить стартовый капитал на депозит и ждать?» — объясняет автор мотивацию проекта.
Что это значит
Эксперимент указывает на реальную нишу, которую классические тестовые фреймворки не закрывают: поведенческое тестирование систем с долгосрочными зависимостями. Микромодели на TypeScript без внешних зависимостей — практическая альтернатива ручным сценариям там, где важно проверить не «работает ли кнопка», а «правильно ли ведёт себя система в тысячах партий». Актуально для браузерных игр, торговых симуляторов и любых продуктов, где механики определяют стратегическое поведение пользователя.
Хотите не читать про ИИ, а внедрить его?
«AI News» — это полезные новости из мира ИИ. Системно научиться работать с нейросетями и применять их в работе — в Hamidun Academy.
Главное из мира ИИ — раз в неделю
7 ключевых событий недели, отобранных вручную. Без шума, репостов и пресс-релизов.
Готово! Проверьте почту — мы отправили подтверждение.