← 모든 가이드
이 페이지에서
가이드 제품 구축 · 03/03 핸드 리뷰 20 분 고급

포커 핸드 리뷰 API 워크플로를 어떻게 구축하나요?

완료된 핸드만 허용하는 세션 후 검토 흐름을 구축하세요. 카드, 보드, 에퀴티, 전략에는 결정론적 API 사실을 사용하고, 사용자가 학습 스팟을 선택한 다음 GTO 조회를 추가하세요.

업데이트됨 관리 주체 Pokerai API

짧은 답변: 워크플로는 비동기식이며 학습 중심으로 유지하세요. 완료된 핸드를 파싱하거나 재생하고, 검증 가능한 카드 의미와 에퀴티를 표시한 다음, 설명을 위해 일치하는 GTO 상황을 조회합니다. Pokerai API는 사실을 제공하며, LLM은 이를 설명하거나 조율할 수 있지만 솔버를 대체하지는 않습니다. 영향이 큰 결과물은 사람이 검토하도록 유지하고, 이를 실제 돈이 걸린 테이블에서의 실시간 보조(RTA)로 바꾸지 마세요.

핵심 정보

핸드 파싱POST /v1/pokerkit/notation/parse는 공개 포커 핸드 히스토리 표기법을 구조화된 게임 데이터로 구문 분석합니다.
리플레이POST /v1/pokerkit/games/state는 제출된 액션에 대한 팟, 스택, 보드, 홀 카드 및 허용된 액션을 포함한 스냅샷을 반환합니다.
의미론POST /v1/pokerkit/hand-report는 홀 카드 핸드와 보드에 대한 텍스처, 티어, 드로우, 아웃, 블로커를 반환합니다.
에퀴티POST /v1/pokerkit/equity는 몬테카를로 에퀴티와 샘플 수를 반환합니다.
GTO 조회POST /v1/gto/preflop은 문서화된 프리플랍 액션 라인에 대한 사전 풀이된 혼합 전략을 반환합니다.

1. 완료된 핸드를 파싱하거나 재생

세션이 끝난 후에만 핸드를 저장한 다음 해당 포커 핸드 히스토리 텍스트를 표기법 파서에 전달합니다. 리뷰 타임라인의 경우 구조화된 구성과 액션을 game-state 엔드포인트에 제출하세요. 이 스냅샷은 UI에 팟, 스택, 보드, 홀 카드 및 허용된 액션에 대한 사실 기반 뷰를 제공합니다.

{"text": "variant = \"NT\"\nante_trimming_status = true\nantes = [0, 0]\nblinds_or_straddles = [1, 2]\nmin_bet = 2\nstarting_stacks = [200, 200]\nactions = [\"d dh p1 AhKh\", \"d dh p2 QsQd\", \"p1 cbr 6\", \"p2 cc\", \"d db Qh7c2d\"]\n"}

{"result": {"variant": "NT", "ante_trimming_status": true, "antes": [0, 0], "blinds_or_straddles": [1, 2], "bring_in": null, "small_bet": null, "big_bet": null, "min_bet": 2, "starting_stacks": [200, 200], "actions": ["d dh p1 AhKh", "d dh p2 QsQd", "p1 cbr 6", "p2 cc", "d db Qh7c2d"], "automations": [{"name": "ANTE_POSTING", "value": "Ante posting"}, …], "author": null, "event": null, "day": null, "month": null, "year": null, "hand": null, "currency": null}}

2. 보드와 핸드 의미 설명

선택한 스트리트에서 플레이어의 holeboard와 함께 핸드 리포트 엔드포인트를 호출하세요. 반환된 텍스처, 메이드 핸드 등급, 드로우, 아웃 및 블로커를 라벨과 근거로 표시하세요. 이러한 설명 필드에서 추천을 추론하지 마세요.

{"hole": "JhTh", "board": "AsKsQs"}

{"result": {"texture": {"cards": ["As", "Ks", "Qs"], "wetness": {"name": "WET", "value": "Wet"}, "connectivity": {"name": "HIGH", "value": "High"}, "rank_band": {"name": "HIGH", "value": "High"}, "straight_draw": {"name": "OPEN_ENDED", "value": "Open-ended"}, "flush_draw": {"name": "LIVE", "value": "Live"}, "are_two_tone": false, "are_monotone": true, "are_rainbow": false}, "tier": {"category": {"name": "STRAIGHT", "value": "Straight"}, "is_nut": false, "pair_tier": null, "two_pair_tier": null, "three_of_a_kind_tier": null, "kicker_tier": null, "nut_rank": {"name": "NON_NUT", "value": "Non-nut"}}, "draws": {"straight_draw": null, "flush_draw": null, "nut_rank": null}, "outs": {"by_category": {}, "count": 0}}}

3. 샘플링 맥락과 함께 에퀴티 추정

검토 비교를 위해 알려진 레인지, 보드, 샘플 수, 시드를 에퀴티 엔드포인트에 제출하세요. 반환된 각 에퀴티를 sample_count 옆에 표시하세요. 이는 제공된 레인지와 보드에 대한 추정치이며, 다음 카드에 대한 약속이나 베팅 지침이 아닙니다.

{"ranges": [["AA"], ["KK"]], "board": "", "sample_count": 2000, "seed": 7}

{"result": {"equities": [0.8235, 0.1765], "sample_count": 2000}}

4. 리뷰 설명에 GTO 조회 추가

재구성한 프리플랍 액션 라인을 문서화된 프리플랍 조회에 매핑합니다. 반환된 전략 배열을 혼합 빈도로 표시하고 사용자가 빈도에 따라 선택한다는 점을 설명하세요. 이 리뷰 단계는 실제 플레이와 분리하여 유지하세요.

curl -s 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_version":"6max_RC_100bb_200NL",
       "preflop_actions":[{"position":"SB","action":"small blind","amount":0.5},
                          {"position":"BB","action":"big blind","amount":1},
                          {"position":"UTG","action":"raise","amount":3}]}'

5. 액션 프롬프트가 아닌 설명 UI 구축

일관된 순서를 표시하세요. 핸드 타임라인, 보드 및 핸드 사실, 에퀴티 추정치, 그리고 GTO 전략 빈도입니다. 입력값, 반환 필드, 스트리트 및 가정을 표시하세요. 단일 “지금 플레이” 버튼 대신 대안과 빈도를 제시하세요.

훈련 및 리뷰 전용

이미 종료된 핸드만 허용하고, 핸드 종료 후 훈련, 코칭, 핸드 리뷰, 학습 및 연구에 이 워크플로를 사용하세요. 중요한 코칭 또는 제품 출력에는 사람의 검토를 요구하세요. 실제 돈이 걸린 테이블에서의 실시간 보조(RTA)는 금지됩니다. 라이브 테이블 피드를 수집하거나, 액션을 자동 선택하거나, 핸드 진행 중 추천 인터페이스를 노출하지 마세요.

관련 리소스