А что, если LLM-ассистент в код-ревью будет предлагать тесты
На BigTechNight Денис Чен, руководитель группы разработки X5 Digital, поделился классным кейсом
Представьте: пулл-реквесты проходят так: «поправь это», «тут можно лучше», «давай перепишем»… А что, если LLM-ассистент сразу в код-ревью будет предлагать тесты?
Круто!? Пересказываю от идеи до продакшена
1️⃣ Все началось с простой боли – разработчики заходят в новый репозиторий и натыкаются на хаос: нет тестов, код страшный, и приходится разбираться в нём с нуля.
В X5 (да по факту во всём бигтехе) стоимость владения системой часто запредельная из-за отсутствия документации и тестов. Без тестов разработка становится безумно дорогой – особенно поддержка и инциденты. Страх что-то сломать парализует изменения.
2️⃣ Когда получили первый фидбек, поняли: результат хороший, пора в прод. Но возникли вопросы: – Какая LLM лучше для кода? – Как оценить релевантность тестов? – Нужна ли дообученная модель или хватит pretrained?
Выяснилось, что все модели бенчмаркить нужно по-разному. Для каждой задачи своя метрика – для генерации текста одна, для кода другая.
Ребята провели 30 экспериментов, протестировали топовые модели и выбрали Code Llama 7B – за счёт prompt engineering и очистки данных результат вырос на 30% по нашим метрикам.
3️⃣ Что в продакшене?
Сейчас работающий ассистент, который: – генерирует unit-тесты под разные фреймворки – делает code review с конструктивными предложениями – дорабатывает тесты по уточнениям – интегрирован в CI/CD и workflow всех команд
Цифры: 120 активных пользователей из ~300 инженеров (40% adoption rate), ~500 тестов в месяц, время генерации – 5 секунд.
4️⃣ Практические выводы
– Решайте реальную проблему, а не гонитесь за технологией – Первый прототип не вечен – он нужен только для проверки гипотезы – Бенчмарки обязательны: без них вы движетесь вслепую – Нормализация данных – 70% работы, ML – лишь 30% – Продуктизация важнее библиотеки: люди любят готовые решения
LLM не решает все проблемы. Это просто инструмент, довольно ограниченный. Если код изначально плохой, модель сгенерирует плохие тесты. X5 не пытается решать это через процесс: матрицы компетенций и культуру кода.
В итоге получился не просто «AI-инструмент», а полноценная платформа, которая помогает команде писать лучший код.
Пишу в телеге: https://t.me/anatolysimkin
#x5tech #meetups #ПосмотрелЗаВас #AI #LLM #promptengineering #unitTests #codeReview #ci_cd #DevOps #BigTech #X5Digital #workflow#ArtificialIntelligence #MachineLearning #SoftwareDevelopment #DevOps #TechInnovation #Automation #CodeReview #DigitalTransformation #AI #LLM