
25
Чемпионат области по спортивному программированию
Компания, в которой я работаю, периодически подкидывает интересные активности - хакатоны, конференции, защиты дипломов, олимпиады. Причём не в качестве участника, а в качестве эксперта.
На сей раз такой активностью оказался чемпионат Липецкой области по продуктовому программированию. Задача - судейство и подготовка задания. У меня был пример задания с прошлого года, так что уровень сложности я примерно понимал.
По регламенту у команды на выполнение было ~2.5 дня, но, с учётом современных технологий (и в первую очередь), задание было и сложным и выполнимым одновременно.
Полностью раскрывать задание я, пожалуй, не буду, но сводилось оно к следующему:
- персональный фитнес-ассистент;
- подготовка плана занятий и программы питания исходя из параметров пользователя и его предпочтений;
- возможность в режиме чата внести корректировки;
- да, разумеется, все это на базе ИИ, с RAG и вот этим всем.
До последнего момента мне не были известны ни команды ни проекты - доступ к коду (я все же технический эксперт и оценка кода была на мне) мне предоставили утром на третий день, когда до начала защит оставалось 4 часа.
А команд оказалось 9 штук, в каждой 3-5 человек, т.е. мне за это время нужно было провести ревью кода ~36 человек. У многих проекты оказались микросервисными, что задачу не упрощало.
Но раз участники могут использовать все инструменты, чем судьи хуже? Пайплайн для оценки у меня выстроился следующий:
- Клонирую в папку на ноут все проекты и подпроекты.
- Открываю все как проект в Cursor.
- Пишу баш скрипт, который проходит по всем папкам и подтягивается изменения (работа ведь ещё идёт и участники заливают правки на ходу) - причём по гиту тоже не все так просто, кроме мультирепозиториев были ещё и сабмодули. Но отдельно отличалась одна команда - у них был один единственный репозиторий, в котором бэкенд и фронтенд лежали в разных ветках - где еще вы такое увидите?
- Пишу промпт для ассистента, который генерирует отчёт по проекту - перечисляю в нем важные мне технические детали и чёткую структуру отчёта - на каждую команду генерируется отдельный markdown файл.
- Отдельным промптом из полученных детальных отчётов генерирую сводный С таблицами и оценками по отдельным критериям для каждой команды.
- Если скрипт обновления подтягивает изменения - перегенерирую отчёт команды и сводный.
Таким образом у меня к началу презентаций были все данные по проектам начиная от схемы бд и используемых моделей до системных промптов и апи ключей (да, одна команда первокурсников закоммитила свой апи ключ).
Итоги
Сюрпризом стал тот факт, что все команды обязаны выполнять одно и то же задание (да, придуманное мной) - это регламент спортивного программирования, В хакатонах обычно несколько заданий на выбор.
Из 10 заявленных команд до финала дошли 9, откровенно слабыми оказались только 2 - обе команды с первокурсниками, считаю что у них все впереди.
У тройки призеров получились практически законченные продукты, которые можно довести до ума и продавать - аналогов на рынке, по крайней мере в России, не нашлось.
Честный RAG с эмбеддингами сделала только одна команда - она и победила.
В задании я ещё упоминал structured output, но его все сделали промптингом - просто просили в ответ прислать json. А между прочим это фича некоторых вендоров и моделей (OpenAI по крайней мере) - при использовании которой в 100% случаев структура ответа будет соблюдаться. Видимо команды об этом не знали, да и фича не особо распространена по моделям, тем более доступным внутри страны.
В целом ощущение ускорения технического прогресса полное - 10 лет назад я на всем потоке (а учился по самой программерской специальности) не знал никого, кто бы мог сделать что-то подобное, особенно в такие сроки. И речь даже не столько про ИИ, необходимый для реализации заданий, сколько про ИИ помощников, на порядки ускоряющих ресерч и реализацию новых проектов, особенно концептов.
Что-то сложное и масштабное без личного погружения в область реализовать с ИИ пока сложно, но это только пока. Уверен, что мы только в начале пути, что будет через 10 лет никто не в силах предсказать. А у меня по итогам теперь будет судейская категория.
На сайте ВУЗа вышла новость о награждении победителей и я даже засветился на общем фото.
Комментариев пока нет
-
Проект смотритель. Часть 7. Железо
Схему устройства я уже показал, давайте здесь чуть больше рассмотрим физические… -
Чемпионат области по спортивному программированию
Разбавлю посты о роботе историей из жизни, с роботом вернусь через неделю, там… -
Проект смотритель. Часть 6. Моделирование и печать
Моделирование тоже является одной из сфер, которые мне интересны. Но в отличие… -
Проект смотритель. Часть 5. Гусеницы
Проектируем и печатаем гусеницы на 3д-принтере. Печатать будем из TPU SOFT. -
Проект смотритель. Часть 4. Шасси
Раз уж печатать - так всё сразу. Будем изобретать колесо. -
Проект смотритель. Часть 3. Фоторезист
Осваиваем новые технологии, не ЛУТом единым.