POKER RTA · ARCHITECTURE

POKER RTA

Real-Time Decision System

竞技扑克实时决策辅助系统

ONE PERSON. TWO MONTHS. ZERO TEAM. 11,526 LINES OF PRODUCTION-GRADE PYTHON.

系统总览

这不是一个商业项目。

是我一个人,在家里,花了一个半月的时间,从零开始做出来的东西。

做它的初衷只有一个:我想知道,以现在的 AI 工程能力,我能把"实时决策辅助"这件事做到什么程度。

竞技扑克是我选的试金石。这个场景的工程难度极高 —— 时间窗口短(15-30 秒)、信息不完全(对手未知)、容错率为零(真金白银的损失)、状态空间巨大。如果一个系统能在这个场景里稳定跑通,迁移到任何业务决策场景都是降维打击。

跑通之后回头看代码:11526 行,9 个模块,8 层决策路由,12 套场景化 prompt。下面是这个系统的关键设计。

01 · DECISION ROUTING

八级决策路由

整个系统不是把所有决策都丢给 AI。

一个决策点进来,会按优先级穿过 8 层判断。前 5 层都是本地规则,确定性高、毫秒级响应,处理 60-70% 的标准场景。AI 只在真正需要复杂博弈推理的时候出手,这是第 6 层。最后两层是 AI 失败时的兜底。

这套架构的核心 insight:AI 不是终点,只是其中一层。

八级决策路由

02 · SCENARIO ROUTING

场景路由决策树

翻后策略不按"街道(Flop/Turn/River)"组织,而按"位置 × 底池类型 × 角色"三维路由。

同一条街上,SRP-IP-PFR 和 3BP-OOP-DEF 的策略完全不同;但同一场景在 Flop 和 Turn 上的策略却是连贯的。所以策略的真正主轴是位置和角色,不是街道。

路由器输出 12 种场景,每种对应一套独立的 AI prompt + 共享的核心规则层。

场景路由决策树

03 · OPPONENT PROFILING

对手画像系统

任何"实时辅助"的核心都不是"我该怎么打",而是"对面这个人是谁,我针对他怎么打"。

系统追踪 18 项核心统计,分类为 12 种对手类型,但真正决定剥削强度的是数据可靠性。

小样本的统计噪声极大。系统给每个统计字段设了独立的最小样本门槛,样本不足直接 N/A,策略回退到中位默认值。基于噪声做剥削,期望损失远大于收益 —— 这是从无数次实战损失反向编码进系统的规则。

对手画像系统

ABOUT

鲁鲁修

关于鲁鲁修