Автоматическое программирование с LLM сильно ускоряет написание кода, но качество структуры и сложности пока уступает лучшему ручному. В умелых руках AI-код чаще превосходит средний ручной — но есть компромисс между качеством и временем. Некоторые проекты, занимавшие месяцы, удаётся сделать за недели. Однако есть области, где LLM открывают принципиально новые возможности без потери качества. Одна из них — тестирование и QA.
Традиционное тестирование состоит из локальных тестов и интеграционных (например, для Redis: проверить SET/GET — локально, а репликацию — интеграционно). Плюс ручные QA-проходы. Покрытие всех строк кода не гарантирует покрытия всех состояний. Интеграционное тестирование сложно из-за таймингов, настроек и визуальной проверки — много возможностей упускается.
LLM предлагают новый слой QA. Идея: создать markdown-файл, в котором AI-агент выступает QA-инженером и проводит ручное тестирование нового релиза. antirez использует такой подход в DwarfStar — движке инференса для open weights LLM. Агент сначала проверяет новые коммиты относительно уже выпущенной версии, затем выполняет список задач: проверить распределённый инференс на MacBook A и MacBook B, убедиться в когерентности вывода, работе со всеми GGUF файлами на обеих машинах, отсутствии регрессий скорости. Для последнего не нужно указывать предыдущие значения — они меняются от релиза к релизу. Для интеграционного теста достаточно SSH-эндпоинтов, ключей и путей.
Агент фокусируется на QA именно в свете добавленных коммитов: сначала анализирует изменения, определяет, что может быть затронуто, и ищет специфические регрессии. В проекте Redis Arrays методология похожа: агент строил большое приложение на массивах Redis, настраивал production среду с репликацией и персистентностью, симулировал многодневное использование с множеством пользователей и проверял аномалии.
Такой QA может затрагивать и психологическую сторону качества: агента просят выявить все новые функции, которые выглядят неожиданно, недостаточно документированы или небрежны с точки зрения пользователя. Раньше это делали вручную и часто пропускали. Автоматическое QA способно поднять планку качества новых релизов и частично компенсировать более низкое качество кода, созданного с помощью автоматического программирования.