12.04.2025 12:03
25

Чемпионат области по спортивному программированию

Компания, в которой я работаю, периодически подкидывает интересные активности - хакатоны, конференции, защиты дипломов, олимпиады. Причём не в качестве участника, а в качестве эксперта.

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

По регламенту у команды на выполнение было ~2.5 дня, но, с учётом современных технологий (и в первую очередь), задание было и сложным и выполнимым одновременно.

Полностью раскрывать задание я, пожалуй, не буду, но сводилось оно к следующему:

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

До последнего момента мне не были известны ни команды ни проекты - доступ к коду (я все же технический эксперт и оценка кода была на мне) мне предоставили утром на третий день, когда до начала защит оставалось 4 часа.

Размещение команд

А команд оказалось 9 штук, в каждой 3-5 человек, т.е. мне за это время нужно было провести ревью кода ~36 человек. У многих проекты оказались микросервисными, что задачу не упрощало.

Но раз участники могут использовать все инструменты, чем судьи хуже? Пайплайн для оценки у меня выстроился следующий:

  1. Клонирую в папку на ноут все проекты и подпроекты.
  2. Открываю все как проект в Cursor.
  3. Пишу баш скрипт, который проходит по всем папкам и подтягивается изменения (работа ведь ещё идёт и участники заливают правки на ходу) - причём по гиту тоже не все так просто, кроме мультирепозиториев были ещё и сабмодули. Но отдельно отличалась одна команда - у них был один единственный репозиторий, в котором бэкенд и фронтенд лежали в разных ветках - где еще вы такое увидите?
  4. Пишу промпт для ассистента, который генерирует отчёт по проекту - перечисляю в нем важные мне технические детали и чёткую структуру отчёта - на каждую команду генерируется отдельный markdown файл.
  5. Отдельным промптом из полученных детальных отчётов генерирую сводный С таблицами и оценками по отдельным критериям для каждой команды.
  6. Если скрипт обновления подтягивает изменения - перегенерирую отчёт команды и сводный.

Таким образом у меня к началу презентаций были все данные по проектам начиная от схемы бд и используемых моделей до системных промптов и апи ключей (да, одна команда первокурсников закоммитила свой апи ключ).

Итоги

Сюрпризом стал тот факт, что все команды обязаны выполнять одно и то же задание (да, придуманное мной) - это регламент спортивного программирования, В хакатонах обычно несколько заданий на выбор.

Из 10 заявленных команд до финала дошли 9, откровенно слабыми оказались только 2 - обе команды с первокурсниками, считаю что у них все впереди.

У тройки призеров получились практически законченные продукты, которые можно довести до ума и продавать - аналогов на рынке, по крайней мере в России, не нашлось.

Честный RAG с эмбеддингами сделала только одна команда - она и победила.

В задании я ещё упоминал structured output, но его все сделали промптингом - просто просили в ответ прислать json. А между прочим это фича некоторых вендоров и моделей (OpenAI по крайней мере) - при использовании которой в 100% случаев структура ответа будет соблюдаться. Видимо команды об этом не знали, да и фича не особо распространена по моделям, тем более доступным внутри страны.

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

Что-то сложное и масштабное без личного погружения в область реализовать с ИИ пока сложно, но это только пока. Уверен, что мы только в начале пути, что будет через 10 лет никто не в силах предсказать. А у меня по итогам теперь будет судейская категория.

На сайте ВУЗа вышла новость о награждении победителей и я даже засветился на общем фото.

3 слева

Комментариев пока нет

Последние статьи