• 526

    Заявлено проектов

  • 446

    Опубликовано проектов

  • 99

    Оставлено комментариев

  • 883

    Количество голосов

  • 36

    Дней до окончания голосования

← Вернуться к списку

Интеллектуальный помощник разработчика «Василиса»

  • Руководитель проекта со стороны заказчика

  • Категория

  • Номинация

  • Цели

    Разработка инструмента на основе ИИ для решения различных прикладных задач, позволяющих обеспечить:

    • Использование ИИ на всем цикле разработки программного обеспечения для повышения производительности, эффективности и обеспечения интеллектуальной автоматизации;

    • Ускорение процесса разработки, автоматизация рутинных, повторяющихся задач, снижение вероятности человеческой ошибки;

    • Повышение качества принимаемых разработчиками решений, определяемых автоматическими системами проверки кода и с привлечением экспертов, ускорение вывода продуктов на рынок.

  • Сроки выполнения

    сентябрь, 2023 — октябрь, 2024
  • Год завершения проекта

    2024

  • Масштаб проекта

    2000 автоматизированных рабочих мест
  • Результаты

    Разработано тиражируемое решение в виде конвейера моделей на основе пула LLM и промпт-агентов.

    В решении реализовано API для следующих сервисов:

    • Генерация ответов на вопросы разработчика (ассистент-разработчика);

    • Генерация кода;

    • Генерация unit-тестов;

    • Генерация CI/CD скриптов;

    • Генерация результата анализа дефектов/багов и рекомендаций для устранения дефектов/багов (код-ревью);

    • Генерация описания алгоритмов по коду;

    • Генерация суммаризации кода и описания архитектуры по коду, построения диаграммы классов и диаграммы по суммаризации. 

    API Системы имеет подробную документацию, описывающую все доступные методы, параметры и возвращаемые значения. Система поддерживает возможность увеличения нагрузки без значительного снижения производительности.

    • Разработаны расширения с средам разработки VSCode и Jetbrains Idea для упрощения доступа разработчиков к интеллектуальному помощнику.

    • Решение выведено для использования в разработке ПАО Ростелеком.

  • Уникальность проекта

    Уникальность решения заключается в реализации продукта не в качестве облачного сервиса, а в качестве тиражируемого продукта для развертывания в локальной инфраструктуре заказчика.

    Также уникальность продукту придает наличие в продукте специализированных  функций, использующих алгоритмы ИИ, которые упрощают процесс разработки, таких как:

    • Генерация кода по описанию на естественном языке;

    • Написание unit-тестов к коду;

    • Написание скриптов сборки и тестирования, описывающих этапы процесса развертывания и автоматизации на основе описания процесса на естественном языке;

    • Написание анализа исходного кода (код-ревью) и рекомендаций по его улучшению;

    • Генерация суммаризации кода и ее визуализации в виде mind-map диаграмм.

    В продукте реализован автоматизированный конвейер повышения качества генерации программного кода, путем проверки генераций на семантику и синтаксис, с целью снижения нагрузки на имплементацию сгенерированного кода разработчиками, с последующим обучением модели ИИ на результатах анализа.

  • Проект решает задачи импортозамещения

    Да

  • Использованное ПО

    Программное решение реализовано на языке Python, используются внешние библиотеки, в т.ч. transformers, torch, fastapi и др, а также инструменты (линтеры) pylint, flake8, cppcheck, eslint, rubocop и др.

    Система включает в себя функциональные модули (компоненты), предназначенные для решения соответствующих комплексов задач. Выделяются следующие функциональные модули:

    • Хранилище СУБД информации о сервисах и связанных с ними данные;      

    • Модуль планирования и постановки в очередь задач для обработки алгоритмами ИИ;

    • Модуль классификации пользовательских запросов;

    • REST API интерфейс;

    • Модуль управления очередью задач;

    • Модуль исполнения алгоритмов ИИ;

    • Модуль предоставления обратной связи от статических анализаторов кода (линтеров);

    • Графический интерфейс пользователя.

  • Решение из каталога Global CIO

    В проекте не используются решения из каталога Global CIO

  • Сложность реализации

    Реализация проекта предполагала разработку алгоритмов для сервисов Системы c использованием различных технологий, в т.ч.:

    • Технологии промпт-инжиниринга (zero-shot prompting, few-shot prompting, few-shot CoT, дерево рассуждений (ToT), цепочка мыслей (CoT), prompt chaining, generated knowledge prompting);

    • Технологии автоматизации промпт-инжиниринга, в т.ч. automatic prompt engineering (APE) и обучение промпт-агентов;

    • Подбор оптимальной модели для каждой из типов задач, исходя из метрик качества;

    • Дообучение модели для повышения качества генерации.

  • Описание

    Интеллектуальный помощник разработчика «Василиса» представляет собой мультисервисное решение, которое получает на вход информацию в неструктурированном виде, содержащую данные с описанием задачи с дополнительными уточняющими комментариями. Полученная информация в рамках решения задачи анализируется с помощью технологии обработки естественного языка. Производится подготовка данных, обработка и формирование итогового результата, соответствующего выбранному сервису конвейера моделей:

    • Сервис генерации кода: Формирование кода на указанном пользователем языке программирования, решающем поставленную на естественном языке задачу;

    • Генерация unit-тестов: Формирование набора unit-тестов по исходному коду;

    • Генерация CI/CD скриптов: Формирование скриптов сборки и тестирования, описывающих этапы процесса развертывания и автоматизации по описанию процесса сборки и тестирования проекта на естественном языке;

    • Анализ дефектов/багов и генерация рекомендаций для их устранения: Проведение анализа исходного кода и рекомендации по его улучшению;

    • Описание алгоритмов по коду, описание архитектуры и построение диаграммы классов на основе суммаризации кода: Описание основных шагов алгоритма, включая обработку входных данных, выполнение операций и формирование выходных данных по исходному коду; Формирование результата суммаризации кода, описание архитектуры и диаграмм классов в установленном формате по исходному коду.

  • География проекта

    78 регионов РФ, в которых находятся разработчики ПАО Ростелеком

Комментировать

Комментировать могут только авторизованные пользователи.
Предлагаем Вам в систему или зарегистрироваться.

Мы используем файлы cookie в аналитических целях и для того, чтобы обеспечить вам наилучшие впечатления от работы с нашим сайтом. Заходя на сайт, вы соглашаетесь с Политикой использования файлов cookie.