Анализ результатов выполнения задачи № 3 в Хакатоне 2026

Содержание статьи
1. ИТ в настоящее время.
2. Знакомство с задачей № 3.
3. Предварительные результаты выполнения задачи № 3 участниками.
4. Модель, разработанная командой процессного аналитика.
5. Проведение анализа результата выполнения задачи № 3 участниками.
1. ИТ в настоящее время.
Развитие информационных технологий в настоящее время предоставляет возможности для создания ИТ-продуктов не только ИТ-специалистами, но и людям, которые таковыми не являются. Можно предположить, что конечный ИТ-продукт у ИТ-специалистов и у не ИТ-специалистов будет отличаться.
Чем же могут отличаться ИТ-продукты, созданные ИТ-специалистами, от ИТ-продуктов, созданных не ИТ-специалистов, и как последние могут это сделать?
Будучи процессным аналитиком и консультантом по управлению, решил не практике это проверить путем участия в хакатоне 2026, проводимом под эгидой Московского правительства. Наша команда состояла из двух человек: процессного аналитика и молодого специалиста, специализирующегося на машинном обучении.
Конечно, соревноваться в программировании с ИТ-специалистами никоим образом не собирались, так как мы обладаем знаниями в разных сферах. Однако возможность создать ИТ-продукт, по крайней мере прототип модели, возможно, если использовать потенциал какого-либо ИИ-агента, которые можно найти в интернете свободно и которые предоставляются бесплатно. Хочется заметить, что ИТ-специалисты также их используют, чтобы ускорить разработку ИТ-продукта.
2. Знакомство с задачей № 3.
Итак, сначала из списка выбрали задачу № 3, которая называется «Интеллектуальный сервис планирования рабочих маршрутов для инженеров с учетом временных окон и сложности проводимых работ».
Так как данные, содержащиеся в ТЗ к задаче № 3, являются конфиденциальной информацией, то опубликовать их здесь не представляется возможным.
3. Предварительные результаты выполнения задачи № 3 участниками.
На момент написания статьи эксперты Заказчика отобрали 12 команд, которые прошли в финал, и уже из них они будут определять призеров. Общее количество команд, которые участвовали в этой задаче, неизвестно (по косвенным данным значительно более 70).
В чате, где участники обменивались мнениями по задаче № 3, появилась следующая интересная информация (см. https://nami.amik.am/app/bee-ltzp-2026/xdet70qha8q1dr5d/):
Работы участников задачи № 3: оценка четырёх моделей и финалисты жюри.
Работ — 72 открытых репозиториев с GitHub и SourceCraft.
Оценка — Claude Opus, Codex, Kimi K3 и Gemini 3.8 Flash, вслепую, по пяти критериям ТЗ.
Финалисты — список жюри от 15 октября 2026.
Здесь собраны открытые решения задачи «Интеллектуальный сервис планирования рабочих маршрутов для инженеров». Четыре модели прочитали код, README и презентации и оценили каждую работу по критериям ТЗ, не зная, чья она и кто прошёл в финал. Рейтинг моделей — не итог конкурса: жюри смотрело ещё живые прототипы, презентации и ответы команд.
Целью данной статьи не является оценка прототипов моделей, представленных командами (да это и невозможно, так как это закрытые данные), а хотелось бы сравнить по возможности (данных крайне мало) подход организатора, участников и получившийся результат.
Оценку проводили: Claude Opus, Codex, Kimi K3 и Gemini 3.8 Flash, вслепую, по пяти критериям ТЗ (см. Таблица 1):
|
Критерий ТЗ |
Вес |
Что оценивается |
|
Техническая реализация |
30% |
Работоспособность алгоритма, учёт ограничений, качество кода |
|
Подход команды |
25% |
Понимание задачи, допущения, завершённость сценария |
|
Соответствие задаче |
20% |
Распределение, карта, перепланирование, объяснения |
|
Эффективность и удобство |
15% |
Исполнители, пробег, интерфейс, сравнение с базовым вариантом |
|
Презентация |
10% |
Рассказ, демонстрация, доказательность; без презентации — по README |
Таблица 1 Критерии ТЗ
Как видно из представленных в Таблице 1 критериев, по которым осуществлялся рейтинг моделей, от наиболее соответствующих ТЗ и далее по нисходящей линии и здесь в первую очередь учитывались ИТ-решения команд. Это, конечно, важный фактор, но ведь работать с такой моделью предстоит диспетчеру, но насколько она удобна и информативна и помогает в его работе решать возложенные на него задачи оценка не проводится, так как такие критерии отсутствуют. Постановщика задач больше интересует пробег автомобилей и эффективность работы инженеров, что, конечно, нужно, но ведь разрабатываемый ИТ-продукт в первую очередь предназначен для диспетчера, а уже потом можно проводить анализ деятельности инженеров и оценка пробега.
Стек решений
Чем написаны 72 работы: язык, сервер, интерфейс, карта, решатель, расчёт дорог, хранение данных и запуск. Стек каждой работы — в её карточке.
Посмотрим, какие были выделены сильные стороны у некоторых моделей (см. Таблицу 2).
|
40 место (автор) |
9 место, финалист |
11 место, финалист |
15 место, финалист |
|
Много событий дня: авария, новая заявка, болезнь, поломка ТС, отказ клиента; живой ход смены |
Полный набор ограничений: навык, территория, транспорт, личное и общее оборудование (лимит склада), окно, смена, непрерывность маршрута |
Валидатор — единственный источник времён и метрик для оптимизатора, базового и ручного плана |
Минимум бригад доказан точным методом во всех 88 задачах, 81 план доказанно оптимален |
|
Оборудование и ограниченный пул автомобилей как жёсткие ограничения |
Перепланирование от опубликованной версии с заморозкой начатого, точной вставкой и перестройкой будущих визитов |
События: авария, заявка, отмена, недоступность и задержка инженера, симуляция дня с подтверждением диспетчера; для неназначенной — ближайшее свободное окно |
Сравнение на реальных днях с диспетчером, базовым и своим планом: 7–8 бригад против 12 на Востоке без опозданий |
|
197 тест-функций, в том числе регрессии и симуляция смены |
Самая богатая подача: скринкаст, стенд, PDF, аналитика смены, история, прогноз спроса, финмодель, проверка соответствия требованиям |
Презентация со слайдом обязательных метрик против базового по каждому участку; 96% адресов геокодированы до дома |
Независимая проверка плана и формат задача/ответ для внешней сверки |
|
Проверяются квалификация, выдача оборудования и ограниченный автомобильный парк |
Навык, транспорт, окна, смена, личное оснащение и общий расходуемый запас проверяются поисковой моделью и отдельным валидатором |
Окна, смены, квалификация, транспорт и остаток оборудования выражены в модели и пересчитываются валидатором; есть предметные тесты |
Собственный решатель проверяется отдельным пересчётом навыков, транспорта, окон, смен и дублей |
|
События встроены в ход смены, объяснения и отчёты |
События включают аварии, отмены и недоступность; сохраняется прошлое, проверяется остаток, непроверенный результат блокируется перед публикацией |
Карта, расписание, сравнение по обеим метрикам, ручные альтернативы и ближайшее свободное окно связаны в один сценарий |
Сохранены лучшие планы и нижние границы для 88 задач; агрегирование метаданных подтверждает 88 совпадений по парку и 81 по полному оптимуму |
|
Детерминированный движок по seed с замерами производительности (вставка 0.15 с, поиск 1.6 с; время в пути 3011→2777 мин) и тестами (uv run pytest) |
Есть предметные тесты оборудования, вытеснения, последовательных событий и альтернативных назначений; доступны карта, версии и отчёт |
Архитектурно чисто: оптимизатор, baseline, ручное переназначение и метрики проходят один валидатор — цифры не расходятся |
CLI поддерживает события, объяснения, базовый план и обе метрики; есть сквозные тесты настоящих решателей |
|
Живой ход смены с ускорением 240×, аварийные события в 11:00 и 15:00, перенос невыполнимого на следующий день |
Полный результат на данных кейса: 205/205 заявок, 32 из 35 бригад, 1 255.2 км; бейзлайн FCFS 125/205; версии плана, черновики и журнал фактических отметок |
Полное покрытие ТЗ + симуляция дня, варианты планов, риск опоздания, подсказка свободного окна, закрепление заявок |
На 88 тестовых задачах план во всех выходит на доказанный минимум бригад; пробег в среднем на 0,06 % выше нижней границы |
|
Зрелый UX: панель «Объяснение решения» с кандидатами и причинами отказов, отчёты за смену/неделю/месяц |
Продуктовая глубина: прогноз спроса на 182 дня истории (WAPE 6,9%), PDF-отчёт предсменного брифинга, AI-помощник, скринкаст и живой стенд |
Полный законченный стек диспетчера: React + Leaflet с интерактивным таймлайном, картой и панелью симуляции дня |
Полный контур ТЗ: карта с линиями по улицам, объяснения кликом, перепланирование пяти готовых событий, compare-блок «Сравнение с базовым вариантом ТЗ |
|
Качественная реализация бейзлайна baseline.py и движка объяснений explain.py с текстовыми формулировками для диспетчера |
Грандиозный масштаб проработки: 721 файл, подробный видеоскринкаст, аналитический PDF-отчет и 182 дня исторического бэктеста |
Мощный модуль объяснений назначений и причин отказа с указанием альтернативных окон |
Независимая проверка всех ограничений |
|
Отдельная специализированная вкладка сравнения с базовым распределением и детальной аналитикой по инженерам |
Комплексный учет бизнес-ограничений (CP-SAT solver.py) и продвинутый пре-скрининг несовместимых пар (solve_screening_zones.py). |
Качественная презентация docs/hedgehogs.pdf и строгое сравнение с базовым вариантом по исполнителям и километражу |
Высочайший уровень алгоритмической базы |
Таблица 2 Сильные стороны моделей.
Наша модель по указанным критериям заняла 40 место среди 72 команд, найденных в открытых репозиториях. Конечно, были отмечены и слабые стороны у всех моделей, а также было представлено много других технических данных, которые сравнивались между командами.
4. Модель, разработанная командой процессного аналитика.
Для того, чтобы получить работающую модель (прототип) – помощника диспетчера, который организует и контролирует работу выездных инженеров, были изучены все предоставленные Заказчиком данные, описаны процессы, где отражалась деятельность участников, их функционал и их взаимодействие в текстовом и визуальном виде. Очень важно отображать представляемую модель как в виде текста, так и виде схем, так как при этом происходит более полное понимание и осознание того, как это происходит сейчас, какое между участниками при этом складывается взаимодействие, какие информационные потоки образуются и как это может быть, если использовать возможности разрабатываемой программы.
Общую примерную схему формирования плана и выполнения работ участниками можно видеть на Рис. 1.
Алгоритмы работы диспетчера и выездных инженеров можно видеть на Рис. 2.
Всё описанное на Рис. 1 и Рис. 2 относится к операционной деятельности сотрудников. Обычно по практике это служит основой для разработки программ. Но бизнес-процесс, выполняемый участниками, состоит из двух процессов: операционный процесс и процесс управления.
Описание процесса управления при выполнении задачи «Выполнять заявки, поступающие от клиента» «как есть» и «как может быть» можно видеть на Рис. 3.
На Рис. 3 видно, что описание процессов управления выявляет весь функционал, выполняемый диспетчером и выездными инженерами, а также информационные потоки, которые при этом образуются. Это дает возможность определить, какой функционал диспетчера можно или даже нужно передать на исполнение программе (модели), с помощью чего это делается и как это можно улучшить. Полученная таким образом информация позволяет со всех сторон изучить материал, понять как должна работать модель «Помощник диспетчера» и что должно быть результатом ее работы, а также подготовить ТЗ (в текстовом формате) для разработки программы ИИ-агентом.
В результате такой подготовки с помощью ИИ-агента была разработана модель «Помощник диспетчера». Диспетчер для выполнения возложенных на него обязанностей должен владеть всей информацией, касающейся:
— поступающих от клиентов заявок;
— мест выполнения этих заявок (адресов клиентов);
— необходимой квалификацией инженеров, выполняющих эти заявки;
— потребностью в оборудовании;
— времени выполнения и другое.
Посмотрим действующую имитационную модель «Помощник диспетчера».
На Рис. 4 показан полный рабочий экран диспетчера, где он может видеть в режиме реального времени все заявки, места их выполнения, кто выполняет заявки, маршруты выездных инженеров, достаточно ли ресурсов для их выполнения. В любой момент времени диспетчер знает, кто где находится и что делает, какие ресурсы еще требуются, чтобы выполнить план.
В начале рабочего дня на основании полученных от клиентов заявок формируется план и маршруты, на которых с заявками работают выездные инженера. В данном случае имеется 112 заявок и сформировано 14 маршрутов исходя из имеющихся в наличии выездных инженеров и автомобилей. При отсутствии автомобилей инженера могут добираться до клиентов наземным транспортом или пешком. Также при формировании маршрутов учитываются окна протяженностью 120 мин., во время которых клиенты готовы принять выездного инженера.
На Рис. 5 видна вся картина выполнения выездными инженерами заявок в режиме реального времени, т.е. как диспетчер наблюдает ход выполнения заявок инженерами в разное время. Красные точки означают, что к работе с данной заявкой еще не приступали, желтым цветом – что заявка находится в работе, а зеленым цветом – что заявка инженером выполнена. Также серым цветом отображаются заявки, которые переносятся на следующий день, а черным – что нет исполнителя, т.е. решение по данной заявке пока не принято.
Так как в течение рабочего дня продолжают поступать заявки от клиентов, аварийные заявки автоматически направляются инженерам, которые находятся ближе всего к месту клиента и имеют необходимую квалификацию. Таким образом, план автоматически корректируется. Заявки, которые инженер в связи с выполнением аварийной работы вынужден отложить отражаются черным цветом. Диспетчер может в ручном режиме направить новые заявки инженерам исходя из их загрузки, так как видит какое время нужно для выполнения заявки и каким временем располагает инженер. При этом происходит автоматическая корректировка плана.
На Рис. 6 видно, что во вкладке «Заявки» диспетчер видит дополнительную информацию по выполняемым заявкам:
— приоритет их выполнения,
— требования к квалификации инженера,
— окно выполнения,
— статус заявки (назначена, выполняется, выполнена).
На Рис. 7 видно, что во вкладке «Маршруты» диспетчер может просмотреть все маршруты, а именно:
— какой инженер выполняет заявки по маршруту;
— какая для этого требуется квалификация;
— статус заявки, расстояние по маршруту, виды заявок.
Также диспетчер может внести новую заявку и назначить инженера, который будет ее выполнять, что автоматически вносит изменения в план сервисных работ и отражается на экране и во всех приложениях.
На Рис. 8 во вкладке «Инженеры» диспетчер может видеть: какой инженер какой маршрут обслуживает, какие заявки им выполнены и сколько осталось, какие есть задержки и с чем они связаны, а также время, когда он заканчивает работу по маршруту.
На Рис. 9 во вкладке «Без исполнителя» диспетчер видит заявки, которые не имеют исполнителя или не могут быть выполнены сегодня и причины этого. Заявки без исполнителя диспетчер может перенести на следующий день или найти возможность их выполнить в текущий день, если появляется такая возможность.
На Рис. 10 во вкладке «Отчеты» диспетчер (и его руководитель) видит отчет о выполненных в течение рабочей смены выездными инженерами заявкам и возникшим в процессе этого проблемах из-за нехватки ресурсов.
На Рис. 11 во вкладке «Сравнение» диспетчер (и его руководитель) видит результаты работы инженеров по количеству выполненных заявок и пробегу автомобилей. Также модель позволяет проводить анализ работы (сравнивать показатели) за текущий и прошлые периоды работы.
На Рис. 12 во вкладке «Настройки» можно моделировать рабочий день сотрудников путем изменения следующих параметров:
— количества и квалификации инженеров;
— количества автомобилей;
— количества заявок на начало дня и поступивших в течение рабочего времени;
— района обслуживания клиентов;
— рабочего времени инженеров;
— видов работ по заявкам.
Наличие возможности моделирования позволит руководителю компании, используя уже реальные данные за прошедшие периоды, путем их экстраполяции на будущие периоды выбирать наиболее оптимальный состав сотрудников, в т.ч. по их квалификации и необходимому числу автомобилей, позволяющих быстро добираться до клиентов.
5. Проведение анализа результата выполнения задачи № 3 участниками.
Очевидно, что участвующие в хакатоне команды имеют более продвинутые в техническом плане решения и лучшее оформление (визуализация данных на экране в модели, презентация) и заслуженно занимают более высокие позиции в рейтинге моделей. Хочется только отметить, что, быть хорошим ИТ-специалистом, еще не означает, что полученный этим специалистом продукт будет удобен и востребован пользователями, если в нем не учитываются их интересы и пожелания. Без тщательно проработанного ТЗ, где учитываются все особенности и функционал участников, создать эффективный прототип модели трудно.
Таким образом, наличие в команде специалиста, хорошо разбирающегося в теме задачи, типа процессного аналитика может положительно повлиять на эффективность разрабатываемого ИТ-продукта.
Настоящей проверкой ИТ-продукта может быть только тестирование его конечным пользователем, в данном случае диспетчером, который может оценить его практическое использование. Ясно, что две недели крайне мало, чтобы разработать полноценный ИТ-продукт, и организаторы, понимая это, предлагают командам создать имитационные модели, что проще и быстрее, не ограничивая себя в используемых инструментах.
Разработанная командой процессного аналитика и представленная выше модель «Помощник диспетчера» после ее доработки может послужить основой для разработки полноценной программы (платформы) по диспетчеризации выполнения сервисных работ или обслуживания оборудования, расположенных в разных местах.
Комментарии:
Организаторы хакатона привлекают много ИТ-специалистов для решения разнообразных задач, которые нужны городу и бизнесу. Хотелось бы, чтобы он был более открытым для участников, а именно:
1) Публиковались данные о количестве команд, решающих те или иные задачи на момент старта и окончания хакатона.
2) Финалисты, вошедшие в десятку, а тем более команды, занимающие призовые места показывали полученные результаты и хотя бы в общих чертах рассказывали о своих моделях (подходах).
3) Команды, не попавшие в финал, получали от организаторов хакатона разъяснения о том, какие этому послужили причины (хотя бы в общих чертах).
В хакатонах принимают участие ИТ-специалисты разных возрастов (много молодежи), и такая информация поможет им понять, где и что они должны улучшить в своей деятельности, а это будет способствовать поднятию уровня решения предлагаемых заказчиками задач в будущем.
Вы можете принять участие в обсуждении различных вопросов, касающихся управления в организации, на моем ТГ-канале Управление – Новый подход: https://t.me/upravlenie_novyj_podhod/5.
Автор: Sertaran

