Почему ChatGPT хорошо рассуждает о покере, но плохо в него играет

Однажды утром вы читаете новость: новая GPT Astra за ночь решила одну из фундаментальных математических задач человечества. И тут приходит гениальная мысль: раз LLM настолько умна, почему бы ей не поработать за покерным столом на ваше благо? Может, хоть подписку начнёт окупать :)
cкриним экран и передаем в LLM
действуем согласно ответу
???
PROFIT
Можно даже всё автоматизировать, написав программу наподобие тех, что используют для прохождения собеседований.
Звучит как план? Да. Как очень плохой план. И вот почему...

В свежем покерном бенчмарке от GTO Wizard есть бот по имени Always Fold. Вся его стратегия — выбрасывать карты. Любые. Всегда. Он ни разу в жизни не заглянул в свои две карты, потому что незачем.
Его результат против сильнейшего на сегодня покерного ИИ — минус 64.6 bb/100. Это «больших блайндов проиграно на сотню раздач», единица, которая нам дальше понадобится.
Результат GPT-4o в том же бенчмарке — минус 64.9.
То есть модель, которая напишет вам эссе про блокеры, поляризацию диапазона и минимальную частоту защиты, за столом справляется чуть хуже, чем если бы просто скидывала всё подряд не глядя. GPT-4 — минус 136, вдвое хуже тотальной трусости. Grok 4 с включённым high reasoning — минус 60, то есть еле-еле обходит бота, который не умеет вообще ничего.
Пока вы свыкаетесь с мыслью, что придется искать другой способ разбогатеть, давайте попробуем разобраться, как так вышло и есть ли место LLM за покерным столом.
Что именно замеряли
Ребята из GTO Wizard выложили публичный бенчмарк для хедз-апа но-лимит холдема. Идея простая: есть агент, который играет почти в равновесии по Нэшу — в 2022 году он вынес Slumbot, чемпиона компьютерного покера, на +19.4 bb/100 за 150 тысяч раздач. Для ориентира: живой профессионал держит примерно +5 bb/100. Разница между «сильный рег» и «машина» — вот такая.
Против этого агента посадили тринадцать языковых моделей. Zero-shot: текстовое описание раздачи, инструкция «верни действие и размер ставки, плюс объясни, почему», никаких внешних калькуляторов эквити, никаких инструментов. Только то, что модель думает сама.
Отдельно стоит похвалить методологию. Покер — это шум: выигрышный игрок легко проигрывает на десятках тысяч раздач просто потому, что карты ложились не так. Поэтому в бенчмарк вкрутили AIVAT, технику, которая вычитает из результата вклад удачи и втрое сжимает стандартное отклонение. Цифры ниже — это не «кому повезло», это «кто играл».
Агент | bb/100 (с поправкой на удачу) |
Сильный профессионал (для ориентира) | ≈ +5 |
GPT-5.3 Extra High reasoning | −16 ± 3 |
Claude Opus 4.6 | −20.4 ± 8.6 |
Gemini 3.1 Pro | −30.8 ± 4.5 |
Always Fold (бот, который фолдит всё) | −64.6 ± 3.3 |
GPT-4 | −136.2 ± 25.6 |
Uniform Random (случайное действие) | −284.9 ± 30 |
Прогресс тут, честно говоря, огромный: за два года и девять месяцев линейка GPT проехала от −136 до −16. Никто не обещал, что модели вообще научатся держать в голове скрытую информацию, а они научились, и довольно быстро.
Но давайте назовём вещи своими именами. Лучший результат в таблице — это −16 bb/100, полученные за $1041 и 446 часов машинного времени. Более свежий и вдвое более дорогой GPT-5.4 Extra High сжёг $1915 и 636 часов — и сыграл чуть хуже. Уровень «не самый ужасный игрок за столом в четверг вечером». Играть на деньги - строго противопоказано.
И вот теперь — главный фокус . Потому что ровно та же модель напишет вам разбор этой раздачи, который будет лучше, чем разбор среднего тренера за 40$ в час.
Два противоположных способа уметь
Чтобы понять, откуда взялся разрыв, надо посмотреть на тех, кто в покере действительно умеет.
Libratus, 2017 год. Обыграл четырёх топовых профессионалов в хедз-апе. Внутри — вариант Monte Carlo CFR: алгоритм играет сам с собой миллиарды раз и на каждом узле минимизирует «сожаление», то есть насколько ему потом было обидно, что он не выбрал другое действие. Никакой магии, чистая итерация. Цена — около 25 миллионов процессорных ядро-часов.
Pluribus, 2019 год. Тот же подход, но на шестерых, и это принципиально сложнее: с тремя и более участниками равновесие Нэша перестаёт быть гарантией. Элиту обыграл всё равно. И вот интересная деталь: базовая стратегия Pluribus считалась восемь дней на одном 64-ядерном сервере, примерно $144 по спотовым ценам. В продакшене он думал на двух старых Haswell, от одной до тридцати трёх секунд на решение.
Сто сорок четыре доллара. Прогон одной языковой модели по бенчмарку стоил в тринадцать раз больше — и проиграл.
Но интереснее другое. Pluribus не знает слова «блеф». Он никогда не читал ни одной книги по покеру, ни одного форумного треда, ни одного разбора на YouTube. Ему не объясняли, что такое позиция, инициатива и полублеф. Он вывел всё это сам, восемь дней играя против себя, и в его весах нет ни единого термина — только числа. Спросить его «почему ты так сыграл» физически невозможно: у него нет ответа, у него есть распределение.
Языковая модель — ровно наоборот. Она прочитала всё, что человечество когда-либо написало о покере. Каждый блог, каждый учебник, каждую расшифровку стрима. И не сыграла по-настоящему ни одной раздачи.
Это два взаимно дополнительных способа «уметь». Отсюда напрашивается вывод:
Pluribus умеет играть, но не умеет объяснить. ChatGPT умеет объяснить, но не умеет играть.
Между ними, кстати, есть третья точка, про которую сейчас мало вспоминают. PokerSnowie, 2013 год, от авторов BackgammonSnowie. Нейросеть, которая наиграла сама с собой триллионы раздач и до появления PioSolver была для целого поколения игроков первым знакомством с идеей небьющейся стратегии. Именно Snowie отучил массу народу переоценивать слабую топ-пару.
И у Snowie та же болезнь, что у Pluribus, только в профиль. Он не солвер: он не вычисляет равновесие для вашего конкретного спота, он угадывает по похожести на то, что видел при обучении. Работает отлично, пока спот похож на тренировочные данные, и деградирует, когда перестаёт. Аудировать его нельзя — в ответ на «почему» вы получаете не EV, а «потому что».
Получается симпатичная ось: CFR считает. Snowie интуичит. LLM рассказывает. И мы почему-то ждём, что последний пункт автоматически включает в себя первые два.
Три причины, почему рассуждает лучше, чем играет
Состояние протекает
Это не стратегическая проблема. Это проблема восприятия, и она самая обидная.
Авторы бенчмарка залезли в цепочки рассуждений и обнаружили, что GPT-5.3 Extra High — лучшая модель в таблице — примерно в 2% случаев путает свои собственные карты. Принимает одномастные за разномастные и наоборот. Причём происходит это, как правило, на префлопе, в момент раздачи, — и дальше едет через всю раздачу. Модель весь остаток руки считает флеш-дро, которого у неё нет.
У моделей постарше это уже не 2%. Вот подлинный фрагмент рассуждения Claude Opus 4.5 из приложения к работе:
«У меня 9♦ 7♠ на борде K♦ 4♣ 3♠ K♠— полный воздух, ни пары, ни дро, только гатшот до шестёрки. Борд спарил королей, две пики…»
Реальный борд в той раздаче был 8♦ 4♣ 3♠ K♠ 5♦.
Модель потеряла восьмёрку и пятёрку, дорисовала второго короля, увидела спаренный борд — и выдала совершенно вменяемый, грамотный, профессионально звучащий анализ. Просто другой раздачи.
Вот это и есть суть проблемы в одной картинке. Рассуждение безупречно. Вход в рассуждение — нет. А в покере одна неправильно понятая карта переворачивает EV решения целиком.
Правдоподобие — враг баланса
Вторая причина глубже и, кажется, никуда не денется сама. Солвер на выходе даёт не решение. Он даёт распределение:
3-bet 27% | call 61% | fold 12%Это не «он не уверен». Это и есть стратегия: с этой рукой в этом споте нужно 3-бетить в 27% случаев, и способ выбора — подбросить монетку. Не потому, что так красивее, а потому что иначе вас прочитают.
А языковая модель выдаёт одно действие. То, которое максимально правдоподобно. Она натренирована ровно на это — и в девяноста девяти доменах из ста это именно то, что нужно.
В покере это приговор. Игрок, который всегда выбирает самый «разумный» ход, становится предсказуемым — а значит, эксплуатируемым.
В бенчмарке это видно буквально, без домыслов. Авторы отрисовали диапазоны моделей матрицей 13×13 и посмотрели, как GPT-5.3 защищает большой блайнд против открытия. Картина такая: 3-бет только с самыми сильными руками, всё остальное — колл. Диапазон открытия тоже несбалансирован — частоты не те.
Переведу на человеческий: когда эта модель повышает, вы знаете, что у неё. Не «примерно догадываетесь» — знаете. Она сама вам сказала, просто действием, а не текстом.
И это не пробел в знаниях, который закроется следующим релизом. У языковой модели нет источника случайности, привязанного к конкретной руке, и нет ни одной причины его иметь. Её целевая функция — выдать лучший ответ, а покер требует иногда выдавать намеренно не лучший.
LLM унаследовала наш собственный leak
Модель училась на текстах, которые написали люди. Люди в покере рассуждают результатами: «колл был правильный, у него же был блеф». Это results-oriented thinking — самая распространённая и самая живучая ошибка мышления в игре. Решение нельзя оценивать по тому, чем оно закончилось; его можно оценивать только по информации, доступной на момент решения.
Так вот, LLM воспроизводит эту ошибку идеально. Покажите ей раздачу целиком, с картами оппонента, и попросите оценить решение на флопе — и она с удовольствием объяснит вам, почему колл был хорош, потому что там оказался блеф.
Так что со всем этим делать?
Хорошо, если LLM плоха в роли покерного движка — может быть, мы просто даём ей не ту работу? Собственно, примерно с этой мысли для меня и началась практическая часть эксперимента.
Первое время всё выглядело довольно примитивно: играл по старинке - сам, встретив интересную раздачу, открыл ChatGPT, описал позиции, стеки, карты и экшен, получил разбор. Работало удивительно неплохо. Но довольно быстро выяснилось, что играть в текстовый квест «а теперь не забудь, что на флопе банк был 7000» — удовольствие на любителя.
Решение проблемы оказалось довольно предсказуемым: однажды вместо очередного промпта в chatGPT я начал писать промт в Cursor.
Пусть игровой движок знает карты, позиции, стеки, банк, SPR, pot odds и историю действий. А языковая модель получает уже готовое состояние раздачи и занимается тем, в чём действительно хороша: анализирует решение и объясняет игроку. Так появился https://poker-blindspot.tech — инди-проект, в котором игрок должен выиграть турнир против ботов. После каждого решения он получает оценку, насколько оно близко к GTO, а после раздачи может попросить LLM детально её разобрать.

После того как движок игры был готов, дело осталось за малым - добиться от LLM качественного разбора задачи.
К вопросу о выборе LLM - в процессе выяснилось, что DeepSeek постоянно путается в картах, не видит дро и в целом плохо понимает игру. Хоть киты не считаются рыбами, но явно не в покере.
Gemini - не путался в картах, но слабо мыслил о диапазонах оппонентов.
GPT-5.5 оказался лучшим выбором. Но просто отдать ему карты и историю раздачи оказалось недостаточно: сначала пришлось внушить модели несколько «правил хорошего тона», а затем снабдить её всем контекстом, который игровой движок уже знает сам.
Значения банка, стеков, эффективного стека, SPR и шансов банка уже посчитаны игровым движком. Используй их как есть и не пересчитывай.
Мы не просим модель считать. Мы приносим ей всю арифметику на блюде и просим не трогать. А карты оппонента отдельным правилом вынесены в изолированную секцию с флагом «для оценки решения использовать нельзя» — привет пункту про results-oriented thinking. В итоге разделение труда сработало: движок считает, LLM объясняет.

Итог
Путь от −136 до −16 за три года правда впечатляет, и я не удивлюсь, если ещё через пару лет модель выйдет в плюс против живых людей. Представление о скрытой информации и блокерах у неё уже появилось, а это было совсем не очевидно.
Но пока стоит держать в голове разделение труда. Считать частоты — работа CFR. Объяснять, почему частоты такие, — работа языковой модели. Когда их путают, получается либо чёрный ящик, который не умеет говорить, либо очень красноречивый собеседник, проигрывающий боту-фолдильщику.
Так что если вы строите что-то поверх LLM там, где есть точная математика, — не давайте ей считать. Посчитайте сами и принесите результат готовым. Пусть она делает то, что умеет лучше всех: рассказывает.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.