← 쇼케이스 / 사례 01

사례 연구

Counterplay · 过招

개발자가 사용할 수 있는 동일한 Pokerai API를 통해 다섯 명의 GTO 상대가 모든 핸드를 플레이하는 네이티브 6맥스, 100BB 훈련 테이블입니다. Counterplay는 모든 Hero 결정을 기록하고, 반환된 빈도에 따라 평가하며, 반복되는 편차를 전략적 약점 보고서로 그룹화하고, 관련 핸드를 검토 또는 선택적 근거 기반 코칭에 대비해 보관합니다.

270줄 — 전체 API 클라이언트
0캐시됨 상태의 전략
10사용 중인 API 엔드포인트

업데이트됨 · 관리 주체 Pokerai API

Counterplay / iOS실제 제품 인터페이스
Counterplay iOS 실시간 훈련 테이블
Counterplay iOS 분석 보고서

01 / 아키텍처

포커 엔진이 핸드를 담당합니다. Pokerai API가 전략을 담당합니다.

Counterplay는 게임 메커니즘, 세션 상태 및 전략적 기준을 분리합니다. PokerKit은 6인 테이블을 진행하고, 트레이너 서비스는 순서가 있는 액션 라인, 유효 스택, 레인지 및 검토 컨텍스트를 보존하며, Pokerai API는 사전 풀이된 조회 또는 실시간 솔버 출력을 제공합니다. 동일한 응답으로 앱에 비공개 차트를 포함하지 않고도 상대 플레이, Hero 평가, 레인지 시각화 및 이후 코칭을 구동할 수 있습니다.

01 / 경험

iOS 앱

PokerKit 게임 메커니즘과 결정 캡처를 갖춘 SwiftUI 인터페이스.

02 / 상태

트레이너 백엔드

FastAPI는 현재 핸드, 액션 라인, 레인지 및 검토 맥락을 보관합니다.

03 / 전략

pokerai.bet

사전 풀이된 프리플랍 및 플롭 전략과 대기열 등록됨 상태의 턴 및 리버 풀이.

02 / 제품 루프

테이블에서 훈련하세요. 패턴을 찾으세요. 핸드를 다시 여세요.

이 제품은 하나의 솔버 응답을 노출하는 데 그치지 않습니다. 개별 의사결정을 분석 보고서로 전환한 다음, 검토와 후속 학습을 위해 관련 핸드를 계속 이용할 수 있도록 유지합니다.

분석 보고서

반복되는 이탈 확인

유사한 결정을 그룹화하고, 샘플 수와 평균 편차를 표시한 뒤, 반복되는 프리플랍 및 포스트플랍 패턴을 심각도순으로 정렬합니다.

반복되는 GTO 편차를 보여주는 Counterplay 분석 보고서
핸드 기록

정확한 지점으로 돌아가기

핸드, 포지션 또는 카드로 검색하고 결과와 순 BB를 확인한 다음, 리포트의 정확한 의사결정 순서를 다시 엽니다.

최근 트레이닝 핸드가 포함된 Counterplay 핸드 히스토리
토론 및 조회

전체 핸드를 플레이하지 않고 스팟 학습

빠른 사전 풀이된 조회 또는 정확한 실시간 풀이를 선택하고 팟과 포지션을 정한 다음, 결과를 집중적인 토론으로 이어가세요.

빠르고 정확한 GTO 학습을 위한 Counterplay 조회 화면
트레이너 환경설정

언어, 정체성 및 코칭 모델 제어

훈련 화면의 집중도를 유지하면서 플레이어가 로캘, 테이블 아이덴티티, 설명에 사용할 선택적 모델을 고를 수 있게 합니다.

언어, 프로필 및 코칭 모델 컨트롤이 있는 Counterplay 설정

03 / 엔드포인트 원장

각 스트리트는 문서화된 API 영역에 매핑됩니다.

실제 클라이언트에서 추적됨(메서드 → 엔드포인트 → 사용 위치):

프리플랍/v1/gto/preflop

빌런의 프리플랍 액션 + 히어로의 프리플랍 결정 평가

프리플랍/v1/gto/preflop/range

검토에 표시되는 13×13 레인지 그리드

플롭/v1/gto/flop/tree

플롭 스팟의 포스트플랍 의사결정 트리

플롭/v1/gto/flop/node

현재 플롭 노드의 전략(+ 채점)

레인지/v1/gto/flop/projected-range

플롭 액션 라인을 따라 레인지 업데이트

레인지/v1/gto/range

액션 라인에 대한 solver_results 구성

/v1/gto/turn/projected-range

플롭 → 턴 레인지 전달

솔버/v1/gto/solver

실시간 풀이를 위해 턴/리버 상황 제출

솔버/v1/gto/solver/tree

풀이된 턴/리버 스팟의 결정 트리

솔버/v1/gto/solver/node

턴/리버 노드의 전략(+ 채점)

04 / 구현 증명

전체 전략 계층이 하나의 파일에 들어갑니다.

클라이언트는 차트나 솔버 출력을 내장하지 않습니다. 현재 스팟을 구성하고 인증된 요청을 전송한 후, 정규화된 전략 빈도를 트레이너에 반환합니다.

01공용 인증 헤더 하나.
02공개 엔드포인트 이름을 따른 타입 지정 메서드.
03모든 스트리트에 공용인 제한 시간 및 재시도 경로 하나.
04애플리케이션에는 비공개 전략 캐시가 없습니다.
app/gto/client.py경량 클라이언트 발췌
class GtoClient:
    def __init__(self, settings):
        self._headers = {"Authorization": f"Bearer {settings.gto_api_key}"}

    async def preflop(self, hole_cards, hero_pos, preflop_actions):
        body = {"hole_cards": hole_cards,
                "positions": {"hero": hero_pos},
                "preflop_actions": preflop_actions}
        return _strategy_from(await self._post("/v1/gto/preflop", body))

    async def flop_node(self, node_token, hole_cards=None):
        body = {"node": node_token}
        if hole_cards: body["hole_cards"] = hole_cards
        return _strategy_from(await self._post("/v1/gto/flop/node", body))
    # … + solver_schedule / solver_tree / solver_node, all one-liners over _post()

05 / 의사결정 루프

딜된 핸드에서 근거 있는 피드백까지.

01 / 프리플랍

진행 라인 읽기

카드, 포지션, 순서가 지정된 액션을 전송하고, 반환된 빈도를 플레이 및 평가에 사용합니다.

02 / 플롭

트리 따라가기

사전 풀이된 트리를 로드하고, 활성 노드를 확인하며, 각 액션 후 레인지를 투영합니다.

03 / 턴 + 리버

풀이를 대기열에 등록

핸드 레인지를 실시간 솔버에 전달하고, 작업을 폴링한 다음, 결과 전략 노드를 읽습니다.

04 / 검토

평가하고 설명하기

선택한 액션을 해당 액션 자체의 GTO 빈도로 측정하고 구조화된 컨텍스트를 선택적 코치에게 전달합니다.

범위 및 출처

Counterplay는 Pokerai API가 유지 관리하는 Pokerai API 제품 통합입니다. 제3자 고객 배포 사례로 제시되지 않습니다. 이 기술 기록은 iOS 트레이너 워크플로와 해당 워크플로에서 사용하는 공개 API 엔드포인트를 문서화합니다. 현재 제품은 6인 100BB 캐시 게임 훈련을 대상으로 하며, 히어로의 좌석을 무작위로 정하고, 전략 기반 상대 5명을 사용하며, 멀티웨이 포스트플랍 상황을 헤즈업 근사로 축소합니다. 코칭은 선택 사항입니다. Counterplay는 실제 현금 테이블에서 실시간 보조(RTA)를 활성화하지 않습니다. 이 페이지는 고객 도입, 다운로드, 벤치마크 성능, 상업적 파트너십 또는 외부 보증에 관해 어떠한 주장도 하지 않습니다.

동일한 API로 구축하기

전략을 제품으로 전환하세요.

무료 키로 시작해 프리플랍 호출을 한 번 실행한 다음, 여기서 사용하는 것과 동일한 공개 엔드포인트를 따르세요.

API 키 받기 · 무료