Сложность: 800
“The bug disappears when you explain it to a rubber duck.”
После череды неудачных релизов, загадочных багов и нервных breakdown’ов инженеры Holmes Industries
пришли к выводу: код чинится не усилием воли, а объяснением проблемы резиновой уточке.Исследование показало, что если программист внятно рассказывает утке,
почему что-то не работает, — баг самоуничтожается из стыда.Тогда компания внедрила корпоративную систему Duck Debugging AI,
где разговоры программистов с уточкой автоматически анализируются,
а эффективность “разговора” предсказывает ИИ.Ваша миссия — создать модель, которая определит,
когда разработчик действительно понял проблему
(и утка может быть отпущена с миром).
Дан датасет реальных (ладно, синтетических) диалогов с уточкой.
Каждый диалог — это короткий фрагмент, где разработчик объясняет свою проблему.
Иногда в процессе объяснения наступает озарение (aha-момент) — баг исправлен.
Иногда — нет, и утка остаётся разочарованной.
Ваша задача:
определить вероятность
p_fix, что диалог приведёт к устранению ошибки.
| dialogue_id | text | label |
|---|---|---|
| 42 | "Wait... why am I sorting twice? Oh." | 1 |
| 256 | "It works on my machine, so must be the CI's fault." | 0 |
| 404 | "print(x) — huh, it’s None. oh… OH NO." | 1 |
| 666 | "I’ll just add one more if-statement, nothing can go wrong." | 0 |
| 9001 | "Maybe the async function needs await… never mind, it’s fixed!" | 1 |
duck_dialogues.csvdialogue_id,text,label
где:
- text — реплика программиста,
- label — 1 (разговор помог), 0 (не помог).
duck_avatars/5 аватарок уточек (duck_1.png … duck_5.png),
которые смотрят на вас с непониманием и грустью.
(никак не влияют на метку, но повышают продуктивность на 10%)
duck_vectors.npyвекторное представление эмбеддинга фразы "Thanks, duck!"
используется в бонусной метрике.
Построить модель, которая предсказывает p_fix —
вероятность того, что объяснение приведёт к исправлению бага.
Выходной файл submission.csv:
dialogue_id,p_fix
Основная метрика: ROC-AUC
(потому что даже утке нужен AUC)
Бонусная метрика: DuckScore™
$$
DuckScore = AUC + 0.05 \cdot \text{sim}("Thanks, duck!", \text{your mean embedding})
$$
где
(\text{sim}) — косинусное сходство между усреднённым эмбеддингом ваших предсказаний
и вектором благодарности "Thanks, duck!".
Если ваша модель не понимает благодарность —
она не понимает и человека.
"Sometimes, the real debugger was the friend we made along the way."
"Quack." — Duck, 2025
Данные для обучения: train_data
Чтобы отправить решение, войдите в аккаунт.
| ID | Дата | Статус | Детали | |
|---|---|---|---|---|
| Нет посылок | ||||