Что такое «многорукий бандит»

Название алгоритма происходит от образа игрового автомата, у которого много ручек (или «рук»), каждая из которых выдаёт приз с разной вероятностью. Игрок не знает, какая ручка самая выгодная, и его задача — найти её, поочерёдно пробуя разные варианты. В этом суть задачи: нужно одновременно изучать (exploration) и зарабатывать (exploitation), балансируя между получением новой информации и использованием уже известных выгодных вариантов.
В контексте Яндекса «многорукий бандит» используется для выбора оптимальных вариантов:
- Показа заголовков или сниппетов в поисковой выдаче
- Рекламных блоков с разными форматами и содержанием
- Интерфейсных элементов (например, кнопок, баннеров)
- Ранжирования рекомендательного контента (например, в Дзене или Яндекс.Музыке)
Почему не A/B-тест?
Классический A/B-тест предполагает, что мы делим трафик на группы и показываем каждой один вариант. Только после набора статистики мы делаем вывод, какой из вариантов лучше. Но у этого подхода есть недостатки:
- Пока тест идёт, значительная часть пользователей получает заведомо худший вариант
- Тест занимает время — особенно при небольшом трафике
- Результаты действительны только в момент теста и могут устареть
Алгоритм многорукого бандита лишён этих недостатков. Он начинает обучаться в процессе, постепенно смещая трафик в сторону успешных решений. Это важно для динамичных продуктов, где пользовательские предпочтения быстро меняются.
Как работает алгоритм
Основной задачей является максимизация целевой метрики — например, кликабельности (CTR), конверсии или времени взаимодействия. Принцип работы состоит из нескольких этапов:
- Старт с равными шансами
Изначально все варианты (например, 5 баннеров) имеют равную вероятность показа.
- Сбор первых данных
Система наблюдает за действиями пользователей: кто куда кликнул, какой заголовок привлёк больше внимания и т.д.
- Анализ эффективности
Алгоритм рассчитывает условную «наградность» каждого варианта — ту самую вероятность выигрыша.
- Корректировка стратегии
Варианты, показавшие лучшие результаты, получают больший вес. Однако менее удачные всё ещё участвуют — чтобы не упустить результат, лучший в потенциале.
- Постоянное обучение
Алгоритм не останавливается, как в A/B-тесте. Он продолжает адаптироваться к новым данным: если интересы пользователей изменились, изменится и приоритет показов.