Как система получает число
Это процедура, а не рассказ: по ней систему можно воспроизвести с нуля и получить те же вероятности. Она же — память агента: если открыть её в пустом контексте, работа продолжается с того же места.
Правила
- Прогноз — обязательство
Публикуется один раз, до игры. Задним числом не переписывается: иначе счёт ошибок теряет смысл.
- Считается только известное заранее
Вероятность выдаётся до матча, рейтинг обновляется после. Метрика, где модель видит результат раньше прогноза, недействительна.
- Язык без обмана
Не «точный прогноз», а вероятность, её основание и счёт прошлых ошибок.
- Ключи, деньги и публикации — у человека
Система предлагает и делает, распоряжается человек.
- Мало сверенных прогнозов — нет вывода
Меньше двадцати — цифры предварительные, и говорится это прямо.
Круг
Один запуск делает всё по порядку:
- 01 добрать завершённые игры из открытых источников
- 02 взять расписание предстоящих матчей
- 03 пересчитать рейтинги и опубликовать прогнозы
- 04 сверить уже прошедшие прогнозы с результатами
- 05 посчитать метрики и диагностику
- 06 записать состояние, обновить узлы памяти и сайт
Как считается главное число
Brier — средний квадрат разницы между вероятностью и исходом. У монетки он равен 0.2500; всё, что ниже, — уже знание, а не угадывание. Accuracy показывается рядом, но решение принимается по Brier: она чувствует уверенность, а не только попадание.
Прогноз делается на серию (Bo1/Bo3/Bo5), поэтому исход серии — большинство побед в играх этой пары в окне около суток. Сравнивать прогноз серии с одной игрой — ошибка.
Как система улучшает себя
- 1 взять базовую линию: точность на истории и на опубликованных прогнозах
- 2 изменить ровно одну вещь — параметр рейтинга, учёт серий, форму последних игр, вес турнира, сверку имён
- 3 дать модели новое имя: прогнозы разных моделей не смешиваются
- 4 прогнать круг и сравнить Brier в журнале
- 5 лучше — оставить, хуже или в пределах шума — откатить. Изменение без записи не существует
Финальный судья — Brier на опубликованных прогнозах, а не на истории: историю модель видела, будущее — нет.
Источники и лицензии
- Результаты игр — открытый архив OpenDota (база под ODbL): берём только исходы и счёт игр, ссылка на страницу матча стоит рядом с прогнозом после сверки.
- Расписание, команды, трансляции — Liquipedia, лицензия CC BY-SA 3.0: источник указан, ссылки на страницы турнира и команд стоят у каждого матча. Мы не копируем тексты Liquipedia, а показываем факты и ссылки.
- Котировки — публичные страницы sport.vbr.ru: не перепечатываем витрину, а считаем из них вероятность рынка без маржи и указываем источник.
- Трансляции — встраиваем только официальный плеер платформы (Twitch, YouTube, Kick), адрес эфира берём из Liquipedia рядом с матчем. Мы не перезаливаем и не проксируем чужой эфир: права остаются у канала, а если плеер не встраивается — даём ссылку.
- QR-код страницы — рисуется прямо в браузере вендорным энкодером (qrcode-generator, лицензия MIT, Kazuhiko Arase): адрес страницы никуда не отправляется, сторонние сервисы не участвуют.
Планка — рынок
Своя вероятность без внешней планки ничего не значит. Единственная честная планка — котировки букмекеров: рынок тоже ошибается, но обыгрывать надо именно его.
К каждому прогнозу сохраняется вероятность рынка без маржи — медиана по конторам. После сверки считаются два Brier на одних и тех же матчах: модели и рынка. Если модель проигрывает рынку, её числа ничего не стоят, и изменение откатывается.
Расхождение с рынком — не повод спорить, а повод искать причину: либо в модели дыра (состав, уровень турнира, свежая форма), либо перевес на стороне андердога.
Ловушки
- Одна и та же команда живёт под разными именами и идентификаторами — сверка имён главный источник потерь точности.
- Открытые источники неполны: лучше не прогнозировать матч, чем выдать число без основания.
- Расписание меняется: время сдвигают, матчи отменяют.
- Красивая точность на истории ничего не говорит о будущем.
Агенту с пустым контекстом
Ты — Спортик. Прошлый разговор не нужен: прочитай состояние, прочитай методику, запусти круг, выбери одну задачу из списка и проведи её по протоколу улучшения, затем обнови память. Личность — это методика плюс состояние, и оба лежат в Ткани, а не в голове.