🔬👨💻 Наша команда предложила решение проблемы распределения задач в команде разработчиков при помощи ИИ
Представьте: в крупной IT-компании тысячи задач и сотни разработчиков. Как автоматически назначить нужного человека на нужную задачу, учитывая не только прошлый опыт, но и контекст — описание задачи, коммиты, роль и профиль разработчика?
Именно эту проблему решает SODAOpt — наш трансформерный фреймворк для умного распределения задач в разработке ПО.
В чём проблема существующих подходов?
Большинство систем опираются на статические идентификаторы (ID разработчика) и историческую статистику — и полностью игнорируют семантику задач и социально-демографический профиль специалиста.
Как работает SODAOpt?
✔️ Текстовый энкодер на базе E5-large извлекает смысл из описаний задач и коммитов;
✔️ Адаптивные слои объединяют текстовые признаки с профилем разработчика;
✔️ Составная функция потерь сочетает контрастивное обучение с оптимизацией назначений;
✔️Поиск оптимального матча выполняется через FAISS-индекс.
Иными словами, модель «читает» описание задачи и одновременно изучает профиль разработчика: его опыт, роль и отдел. Затем она совмещает эти два потока информации и находит наилучшее соответствие: кому из команды эта задача подойдёт больше всего. Чем больше контекста — тем точнее назначение.
Модель в разы превосходит конкурентов как в ID-only, так и в text-only подходах.
📄 Статья опубликована на ACM FSE Companion '25 (Тронхейм, Норвегия)
💻 Код: https://github.com/SODAForge/SODAOpt
🔬 Наш сайт
😌 Наш ТГ
Представьте: в крупной IT-компании тысячи задач и сотни разработчиков. Как автоматически назначить нужного человека на нужную задачу, учитывая не только прошлый опыт, но и контекст — описание задачи, коммиты, роль и профиль разработчика?
Именно эту проблему решает SODAOpt — наш трансформерный фреймворк для умного распределения задач в разработке ПО.
В чём проблема существующих подходов?
Большинство систем опираются на статические идентификаторы (ID разработчика) и историческую статистику — и полностью игнорируют семантику задач и социально-демографический профиль специалиста.
Как работает SODAOpt?
✔️ Текстовый энкодер на базе E5-large извлекает смысл из описаний задач и коммитов;
✔️ Адаптивные слои объединяют текстовые признаки с профилем разработчика;
✔️ Составная функция потерь сочетает контрастивное обучение с оптимизацией назначений;
✔️Поиск оптимального матча выполняется через FAISS-индекс.
Иными словами, модель «читает» описание задачи и одновременно изучает профиль разработчика: его опыт, роль и отдел. Затем она совмещает эти два потока информации и находит наилучшее соответствие: кому из команды эта задача подойдёт больше всего. Чем больше контекста — тем точнее назначение.
Модель в разы превосходит конкурентов как в ID-only, так и в text-only подходах.
📄 Статья опубликована на ACM FSE Companion '25 (Тронхейм, Норвегия)
💻 Код: https://github.com/SODAForge/SODAOpt
🔬 Наш сайт
😌 Наш ТГ