Прием решений до

02.11.26 (включительно)

Форма вознаграждения

договорная

Статус продукта

Идея

Тип задачи

Задачи ИКТ

Сфера применения

Медиасфера

Область задачи

Обработка и преобразование информации

Цель и описание задачи (проекта)

Разработать ИИ-агента, который встраивается в конвейер CI, анализирует упавшие автотесты, определяет причину (дефект продукта, дефект теста, окружение, нестабильный тест), предлагает исправления тестов через pull request и генерирует новые тесты для непокрытых сценариев. Разработка и приёмка ведутся на открытом демо-приложении RealWorld (Conduit, github.com/gothinkster/realworld). Интеграции: GitHub и GitHub Actions (REST API), Playwright, pytest или Jest, инструменты покрытия кода, провайдер LLM (облачный или локальный), Docker. Решение о слиянии изменений всегда принимает человек. Результат: прототип, пилот, исходный код и документация.

Тип продукта

ПО/ИС

Описание проблемы

Значительная часть падений автотестов в CI вызвана не дефектами продукта, а изменениями интерфейса, тестовых данных или окружения. Каждое такое падение инженеры разбирают вручную, а тестовый набор быстро устаревает и теряет покрытие.

Тех задание
Ожидаемый эффект

Меньше времени на разбор падений и поддержку тестов, рост покрытия без ручного написания тестов, быстрое отделение настоящих дефектов продукта от поломок тестов. Критерии приёмки: На контрольном наборе из 30 поломок: верная причина падения не менее чем в 80% случаев; исправленный тест проходит не менее чем в 70% случаев; ноль правок, скрывающих дефект продукта; покрытие не менее 90% эндпоинтов API; рост покрытия кода не менее 20 п. п.; новые тесты стабильны в 10 прогонах из 10; разбор одного падения не дольше 5 минут; развёртывание по инструкции не дольше 1 часа. Подробности в приложенном ТЗ.

ФИО ответственного лица

Зубов Александр

Примечание

Стенд: открытое приложение RealWorld (github.com/gothinkster/realworld). Интеграции: GitHub и GitHub Actions, Playwright, pytest или Jest, инструменты покрытия, провайдер LLM, Docker. Интеграции с внутренними системами заказчика нет, внутренний код не передаётся. Агент работает только через pull request, без прямой записи в основную ветку. Подробности в ТЗ, пункты 3 и 4.4.