← すべてのガイド
このページの内容
ガイド プロダクトを構築 · 03/03 ハンドレビュー 20 分 上級

ポーカーハンドレビューAPIワークフローを構築するには?

完了したハンドのみを受け付け、カード、ボード、エクイティ、戦略について決定論的な API 情報を用いるセッション後レビューのフローを構築します。その後、ユーザーが学習する場面を選択した後に GTO ルックアップを追加します。

更新日 管理元 Pokerai API

簡潔な回答: ワークフローは非同期かつ学習重視に保ちます。完了したハンドを解析または再生し、検証可能なカードの意味とエクイティを表示してから、説明のために該当するGTOスポットを照会します。Pokerai APIが事実を提供します。LLMはそれらを説明またはオーケストレーションできますが、ソルバーの代わりにはなりません。影響の大きい出力は人によるレビューの対象とし、リアルマネーのテーブルでリアルタイムの助言にしてはいけません。

要点

ハンド解析POST /v1/pokerkit/notation/parse は公開されたPoker Hand History表記を構造化されたゲームデータに解析します。
リプレイPOST /v1/pokerkit/games/state は、送信されたアクションに対するポット、スタック、ボード、ホールカード、合法アクションを含むスナップショットを返します。
意味POST /v1/pokerkit/hand-report は、ホールカードのハンドとボードについて、テクスチャ、ティア、ドロー、アウト、ブロッカーを返します。
エクイティPOST /v1/pokerkit/equity はモンテカルロ法によるエクイティとサンプル数を返します。
GTO照会POST /v1/gto/preflop は、文書化されたプリフロップのアクションラインに対する事前解析済みの混合戦略を返します。

1. 完了したハンドを解析またはリプレイする

ハンドはセッション終了後にのみ保存し、そのPoker Hand Historyテキストを表記パーサーに渡します。レビューのタイムラインでは、構造化された設定とアクションを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 を指定して hand-report エンドポイントを呼び出します。返されたテクスチャ、メイドハンドのティア、ドロー、アウト、ブロッカーをラベルと根拠として表示し、これらの説明的なフィールドから推奨を推測しないでください。

{"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戦略の頻度。入力、返却フィールド、ストリート、前提条件を明記します。単一の「今すぐプレイ」ボタンではなく、選択肢と頻度を提示します。

トレーニングおよびレビュー専用

すでに終了したハンドのみを受け付け、このワークフローはハンド後のトレーニング、コーチング、ハンドレビュー、学習、研究に使用してください。重要な影響を伴うコーチングまたはプロダクトの出力には、人間によるレビューを必須とします。リアルマネーのテーブルでのリアルタイム支援は禁じられています。ライブテーブルのフィードを取り込んだり、アクションを自動選択したり、ハンド中の推奨インターフェースを公開したりしないでください。

関連リソース