← Todos os guias
Nesta página
Tutorial Estratégia GTO · 02/06 Trainer 18 min Intermediário

Parte 1: sua primeira consulta de estratégia

Crie o núcleo de um treinador de poker GTO a partir de um cenário de treino controlado ou de uma mão concluída — o mesmo tipo de camada de estratégia que impulsiona o Counterplay. Esta parte faz uma chamada real de estratégia pré-flop, lê suas frequências mistas verificáveis e avalia uma decisão após a revisão.

Atualizado Mantido por Pokerai API

1 · Primeira chamada 2 · A grade de Ranges 3 · Árvore pós-flop 4 · Resolução de turn/river

O que você vai precisar

Uma chave de API gratuita (obtenha uma aqui) e curl ou Python 3. Defina sua chave como uma variável de ambiente:

export POKERAI_API_KEY="gto_your_key_here"

Etapa 1 · Sua primeira chamada

Solicite a estratégia GTO quando o Hero tiver A♥K♥ em MP e UTG tiver aumentado:

curl https://pokerai.bet/v1/gto/preflop \
  -H "authorization: Bearer $POKERAI_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "hole_cards": "AhKh",
    "positions": { "hero": "MP" },
    "preflop_actions": [
      { "position": "SB", "action": "small blind", "amount": 0.5 },
      { "position": "BB", "action": "big blind", "amount": 1 },
      { "position": "UTG", "action": "raise", "amount": 3 }
    ]
  }'

Resposta:

{
  "hole_cards": "AhKh",
  "situation": "Raise",
  "strategy": [
    { "action": "raise", "frequency": 1, "amount_bb": 9, "sizing_pot": 0.8 }
  ]
}

AKs diante de um open de UTG é um 3-bet puro: aumente 100% das vezes, para 9bb. situation é derivado das ações que você enviou (aqui, enfrentando um aumento = "Raise").

Etapa 2 · Leia as frequências

A ideia principal: a API retorna uma estratégia mista — a frequency GTO de cada ação — não uma única jogada "recomendada". A maioria das mãos é pura (uma ação a 100%), mas muitas são mistas. Por exemplo, UTG abrindo com A2s:

{ "action": "raise", "frequency": 0.296 }   # raise 29.6% of the time
{ "action": "fold",  "frequency": 0.704 }   # fold 70.4% of the time
Tanto aumentar quanto desistir com A2s aqui são corretos segundo GTO. Um jogador que sempre desiste ou sempre aumenta não está "errado" em nenhuma mão isolada — mas, ao longo de muitas mãos, ele se desvia da mistura de equilíbrio. É exatamente isso que um treinador mede.

Etapa 3 · No código

Um pequeno cliente tipado — o mesmo formato que o Counterplay usa (app/gto/client.py):

import os, httpx

class Pokerai:
    def __init__(self):
        self.h = {"Authorization": f"Bearer {os.environ['POKERAI_API_KEY']}"}
        self.c = httpx.Client(base_url="https://pokerai.bet", timeout=15)

    def preflop(self, hole_cards, hero, actions):
        r = self.c.post("/v1/gto/preflop", headers=self.h, json={
            "hole_cards": hole_cards,
            "positions": {"hero": hero},
            "preflop_actions": actions,
        })
        r.raise_for_status()
        return {s["action"]: s["frequency"] for s in r.json()["strategy"]}

gto = Pokerai()
strat = gto.preflop("AhKh", "MP", [{"position":"UTG","action":"raise","amount":3}])
print(strat)   # {'raise': 1.0}

Etapa 4 · Avalie uma decisão

Este é o coração do treinador. Avalie a ação do Hero pela frequência GTO da ação que ele escolheu — não pela distância em relação à ação mais frequente. Um aumento com frequência de 14% é uma boa jogada mista, não um erro:

def grade(chosen_action, strategy):
    freq = strategy.get(chosen_action, 0.0)
    if freq >= 0.10: return "ok"        # a real part of the GTO mix
    if freq >= 0.005: return "minor"    # rare, but not a blunder
    return "major"                       # ~never played → a real leak

grade("raise", {"raise": 0.296, "fold": 0.704})   # "ok"  (A2s raise)
grade("raise", {"fold": 1.0})                     # "major" (raising 32o UTG)
É exatamente assim que o Counterplay avalia — a gravidade vem da própria frequência da ação escolhida, portanto ações mistas de baixa frequência não são penalizadas. (Veja o estudo de caso.)

O que você criou

Uma camada de estratégia funcional: busque frequências GTO para uma situação de treinamento documentada e avalie a decisão concluída de um jogador em relação ao equilíbrio. A Pokerai API fornece os dados determinísticos da estratégia; qualquer treinador ou LLM pode explicar essas frequências retornadas, mas não substitui o solver. Esse ciclo — situação → estratégia → avaliação — é todo o treinador, uma street por vez.

Uso aceitável

Aceite entradas somente de cenários de treinamento controlados ou de mãos que já tenham terminado. Mantenha avaliações, orientações ou resultados de produto de alto impacto revisáveis por um humano. A Pokerai API é destinada a treinamento, orientação, revisão de mãos, estudo e pesquisa. Assistência em tempo real em mesas com dinheiro real é proibida.

Próximo — Parte 2: a grade de Ranges 13×13

Busque um Range inteiro em uma chamada e renderize-o, como as páginas de Ranges. Em breve.

Recursos relacionados