Decision acceptance deadline

02.11.26 (inclusive)

Form of award

договорная

Product status

Idea

Task type

ICT tasks

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

Media sphere

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

Information processing and transformation

Purpose and description of task (project)

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

Type of product

Software/ IS

Problem description

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

Expected effect

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

Full name of responsible person

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

Note

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