Как стать автором
Поиск
Написать публикацию
Обновить
28.67

ЕВРАЗ доверил ревизию кода ИИ

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.5K

Недавно прошёл Хакатон ЕВРАЗа 3.0, на котором участникам поставили задачу упростить и ускорить важный процесс разработки — code review. Эта сложная и трудоемкая часть работы программистов, которая требует предельной концентрации и широкого опыта специалистов. 

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

Хакатон и цифры

Третий хакатон ЕВРАЗа собрал более 320 участников: от начинающих до опытных разработчиков. Они объединились в 130 команд, которые за 40 часов интенсивной работы предложили инновационные решения для автоматизации ревизии кода с помощью искусственного интеллекта. Мероприятие проходило в гибридном формате: чек-поинты и  защита проектов проводились онлайн, а финалисты из Москвы собрались на церемонию награждения в студии.

Подробнее о задаче

Code review — важная часть процесса разработки программного обеспечения, которая помогает выявить ошибки, улучшить качество кода и сократить стоимость поддержки созданного продукта. В процессе code review обычно задействованы опытные программисты, чей труд можно направить на иные плодотворные задачи.

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

Задача глазами участников

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

В процессе разработки участники применяли различные подходы: методы обработки естественного языка (NLP), LLM модели, фреймворки TensorFlow и PyTorch. Кроме того, команды активно обсуждали идеи по интеграции системы в существующие инструменты разработки, такие как GitHub и GitLab, чтобы обеспечить плавный процесс проверки кода на всех этапах разработки.

Участникам пришлось разрабатывать решение в условиях ограниченности обучающего датасета под разные языки программирования: TypeScript, C# и Python. В итоге, участники хакатона представили проработанные решения, которые продемонстрировали потенциал автоматизации процесса code review.

Перейдем к победителям

По итогам хакатона жюри определило победителей:

3-е место заняла команда «Крутые Бобры», чье решение было отмечено за удобный и легкий UI-интерфейс, интеграцию с Telegram и информативность отчета. Эти решения помогут ускорить анализ кода.

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

Кроме того, стоит отметить решение, поскольку оно демонстрирует высокую скорость обработки информации — на ревью крупного проекта уходит всего около 10 минут, что может существенно сэкономить время и ресурсы компании, позволяя разработчикам сосредоточиться на более важных аспектах своей работы. Также проект выделяется удобным и интуитивно понятным пользовательским интерфейсом. 

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

2-е место у команды «оverbuffed», которая предложила функциональную систему с четкими и детализированными отчетами, продемонстрировав высокий уровень понимания поставленной задачи.

Описание проекта: команда применила инновационный подход с системой RAG, который заключается в том, что помимо преобразования содержимого файлов в эмбеддинги, также учитывается их структурное представление в проекте. 

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

В ходе работы они провели обширные исследования различных методов, таких как промптинг, дообучение и RAG, что позволило им интегрировать эти подходы в работу. Основной акцент был сделан на языке Python, но команда смогла охватить все направления, что свидетельствует о широте профессиональных навыков. Итоговое решение предоставляет пользователям четкие и детализированные отчеты в связке с интуитивно понятным интерфейсом, что облегчает взаимодействие с системой.

Победителем стала команда «Мастер на GPT-унами», которая подошла к задаче творчески, предложив нестандартную архитектуру на основе мультиагентной системы и продуманную логику решения.

Описание проекта: Команда разработала уникальное решение, основанное на собственной модели QWen 2.5 Coder 32b с квантизацией fp8 и инновационном подходе к выделению признаков из требований к коду с использованием Pixtral-12b. Это сочетание значительно повысило эффективность работы системы, превзойдя по производительности и скорости выполнения задач многие альтернативные решения, представленных на хакатоне ЕВРАЗа. 

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

Участники команды тщательно проработали архитектуру своей системы, что позволило охватить все три основных направления ревью: Python, C# и Typescript. Поэтому решение не только впечатлило судей, но и принесло команде заслуженное 1 место!

Победители разделили между собой призовой фонд в 500 000 рублей. А призеры специальных номинаций получили фирменный мерч компании.

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

Теги:
Хабы:
Всего голосов 5: ↑4 и ↓1+3
Комментарии2

Публикации

Информация

Сайт
www.evraz.com
Дата регистрации
Численность
свыше 10 000 человек