ポーカーハンドレビューAPIワークフローを構築するには?
完了したハンドのみを受け付け、カード、ボード、エクイティ、戦略について決定論的な API 情報を用いるセッション後レビューのフローを構築します。その後、ユーザーが学習する場面を選択した後に GTO ルックアップを追加します。
要点
| ハンド解析 | 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. ボードとハンドの意味を説明
選択したストリートで、プレイヤーの hole と board を指定して 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戦略の頻度。入力、返却フィールド、ストリート、前提条件を明記します。単一の「今すぐプレイ」ボタンではなく、選択肢と頻度を提示します。
トレーニングおよびレビュー専用
すでに終了したハンドのみを受け付け、このワークフローはハンド後のトレーニング、コーチング、ハンドレビュー、学習、研究に使用してください。重要な影響を伴うコーチングまたはプロダクトの出力には、人間によるレビューを必須とします。リアルマネーのテーブルでのリアルタイム支援は禁じられています。ライブテーブルのフィードを取り込んだり、アクションを自動選択したり、ハンド中の推奨インターフェースを公開したりしないでください。
関連リソース
- 開発者向けドキュメント — 認証、クォータ、SDK、エラー、APIの動作
- インタラクティブ API リファレンス — 現行の公開エンドポイントスキーマ
- OpenAPI仕様 — 機械可読な英語の契約
- プリフロップ戦略 API ガイド — プリフロップのアクションラインを再構築して照会する方法
- Pokerai MCP ガイド — 完了済みハンドのレビュー手順を導入した後にのみ、エージェントオーケストレーションを追加する
- llms.txt — Pokerai APIの簡潔なLLMエントリーポイント