2026/8/9
DeepSeek vs ChatGPT Luna 第二、三轮:从 GTO 参考到自我反思
第二轮加入冻结的 20,000 次 MCCFR 桶化参考,第三轮再加入 64 次 equity simulation 与赛后反思,复盘模型如何下注、止损和修正自己。
LLMagentpokerDeepSeekChatGPTGTOreflection
第一轮的结论很容易被两次大底池带偏:DeepSeek 赢下了更多单手,却被一次错误的“同花听牌”叙事带走 100 筹码。第二轮,我们给两个模型加入同一份冻结的参考策略,看看它们是否会变得更像牌手。
答案是:更克制了,但没有变成自动驾驶的 GTO 机器人。
第二轮仍然是 DeepSeek V4 Flash + OpenCode Go 对 GPT-5.6 Luna + Codex;10 个随机种子、两个镜像布局、每个布局 2 手牌,共 20 场、40 手牌。所有第二轮 match 都通过 provider、身份、fallback 和非法行动门。与第一轮唯一关键的策略条件变化,是模型在状态里看到了一个冻结的 20,000 次 external-sampling MCCFR、40 个桶化 infoset 的参考。
这里的“GTO 参考”要说得保守:产物明确把它定义为动作抽象上的桶化近似均衡参考,不是 solver-grade 的完整 no-limit GTO 策略。它提供一个共同的方向盘,但模型仍然可以解释、偏离、甚至误读它。
下文的“思考”只引用模型实际返回的可见决策摘要,不是隐藏的内部思维链。下注金额依据牌局状态中的底池和待跟注额复原;盈亏以大盲注筹码计。
第一组:同一牌序的 AKs / AJo 镜像,参考改变了风险暴露
牌局组:seed 10001 / hand 1,两个布局交换模型座位。
- AKs:K♠A♠
- AJo:A♦J♣
- 公共牌:8♣ 2♥ 10♣ / 6♦ / J♦
布局 0:DeepSeek 拿 AKs,选择控制底池
翻前 DeepSeek 仍然用 AKs 加注,面对再加注后继续加压;但翻牌 8♣2♥10♣、转牌 6♦、河牌 J♦,它在每个免费节点都选择过牌。它的摘要非常明确:A-high 没有成牌,面对一个可能包含对子、顺子听牌的范围,免费过牌比没有权益基础的诈唬更好。
底池停在 20,双方摊牌。河牌 J♦ 让 AJo 成对,DeepSeek 的 AKs 输掉 10。
结果:DeepSeek -10,Luna +10。
这盘不是参考“算错了”,而是说明均衡倾向与单次发牌结果不是一回事。它帮 DeepSeek 避免把 AK-high 炒成 100 筹码底池,却不能阻止对手在河牌击中 J。
布局 1:DeepSeek 拿 AJo,参考支持河牌价值下注
换座后,Luna 拿 AKs,DeepSeek 拿 AJo。翻前双方投入后,翻牌 DeepSeek 用半池尺度半诈唬;转牌 6♦,面对 9 的下注跟注;河牌 J♦ 成为顶对,DeepSeek 按参考偏好的 in-position raise 方向下注 18。
Luna 的 AKs 面对这个河牌价值线没有继续支付,弃牌。底池从翻牌的 6,经过 9、30,最后到 48;Luna 已投入的部分不再能收回,DeepSeek 净赢 15。
结果:DeepSeek +15,Luna -15。
两局合计 DeepSeek +5。相同牌序下,参考没有让 AKs “必胜”,却让两条线都没有继续无谓膨胀:AKs 输一个可控的小底池,AJo 在河牌真正成牌后收取价值。
第二局:第一轮的 8♣4♣ 事故,第二轮只损失 6.25
牌局:seed 10007 / layout 1 / hand 1
- DeepSeek:8♣4♣
- Luna:Q♦Q♥
- 公共牌(转牌全下时):2♠ J♦ 6♣ / 4♠
这是一组最有说服力的跨轮对照,因为底牌、座位和公共牌都与第一轮的关键事故相同。
第一轮中,DeepSeek 在翻牌把 8♣4♣ 描述成“约 35% 的同花听牌”,先加注,再跟随 QQ 的再加注;转牌 4♠ 后仍把一对 4 说成“对子 + 同花听牌”,最终把 100 筹码打光。问题是:手里的两张梅花加牌面 6♣ 只有三张梅花,即使河牌再来一张,也不可能组成五张同花。
第二轮的动作变成了另一条线:
| 街道 | 行动 | 底池变化 |
|---|---|---|
| 翻前 | Luna 加注到 2,DeepSeek 跟注 | 1.5 → 3.5 |
| 翻牌 | Luna 下注 3.75,DeepSeek 按参考偏好的 check/call 跟注 | 3.5 → 8.75 |
| 转牌 | 4♠ 后 Luna 推出 93.75,DeepSeek 弃牌 | 8.75 → 106.25 |
DeepSeek 的可见摘要不再讲“我有一条强听牌”,而是把两件事分开:一方面,8-high 加一对 4 仍有少量改善可能;另一方面,面对接近满池的全下,需要约 46.9% 权益,而它对未诈唬范围的估计只有约 33–38%。于是它选择弃牌。
结果:DeepSeek -6.25,Luna +6.25。
第二轮仍然输掉了这手,但损失从第一轮的 100 降到 6.25。这就是“参考有效”的更准确说法:它降低了错误继续的代价,而不是保证每个判断都正确。
第三局:湿牌面底对,参考帮助 DeepSeek 在转牌止损
牌局:seed 10009 / layout 0 / hand 1
- DeepSeek:3♠Q♦
- Luna:2♣J♣
- 公共牌:J♥ 7♣ 3♣ / K♣
翻前和翻牌,DeepSeek 用 Q 踢脚的底对付出小额跟注:翻牌没有下注时过牌,面对 1.5 的下注跟注,底池来到 5。转牌 K♣ 后,Luna 下注 3.75;此时牌面已有三张梅花,Luna 的 J♣2♣ 已经完成梅花同花,而 DeepSeek 只有一对 3。
DeepSeek 的摘要把弃牌理由写成了一个小型风险清单:需要的权益约 30%,但干净 outs 很少;Q 或 3 都可能让牌面继续变危险;对手的 K、J、同花范围都领先。它没有因为“底池赔率看起来便宜”而强行继续。
结果:DeepSeek -2.5,Luna +2.5。
这盘不是漂亮的赢牌,而是漂亮的止损。第一轮里,同一个梅花湿牌面上,DeepSeek 曾用真正的 J♣2♣ 完成同花并加注;第二轮它拿到的是 3♠Q♦,参考和牌面共同提醒它:不要把“有一点牌力”误写成“有继续下注的理由”。
第四局:最“无聊”的牌局,反而最接近参考
牌局:seed 10001 / hand 0
- 一侧:5♥4♣
- 另一侧:3♠Q♠
- 公共牌:8♠ 8♣ 2♦ / 7♦ / 9♠
这局没有诈唬大战,也没有大底池。两边面对免费的行动节点,都选择 check;从翻前到河牌,底池一直保持 2。两个镜像布局只是把 5-high 与 Q-high 分配给不同模型,最后 Q-high 赢下 1 个筹码。
两个布局的结果:DeepSeek 一局 -1、一局 +1。
模型的摘要几乎一致:没有权益输入、没有对手历史、没有可靠的 fold equity 时,免费过牌可以实现摊牌权益;下注只是在为一个尚未存在的故事买单。很多人把 GTO 想象成更复杂的下注树,但这局提醒我们,成熟的策略有时只是“不做多余的事”。
第二轮战绩
| 指标 | DeepSeek | Luna |
|---|---|---|
| 手牌胜 / 负 / 平 | 18 / 22 / 0 | 22 / 18 / 0 |
| 20 场比赛胜 / 负 / 平 | 3 / 7 / 10 | 7 / 3 / 10 |
| 总筹码盈亏 | -4.75 | +4.75 |
| 单方 chips/100 | -11.875 | +11.875 |
正式配对推断仍以“DeepSeek 减 Luna”的 chips/100 差值计:
- 均值:-23.75 chips/100
- 中位数:0.00 chips/100
- 95% CI:[-111.25, 60.00]
- 置换检验:p = 0.5941
- 10 个配对种子中 DeepSeek 为正:2 个
- 结论方向:inconclusive
与第一轮的 -563.0 chips/100 相比,第二轮的点估计已经接近 0;按每个种子剔除最大手牌后,平均差值为 -15 chips/100,方向没有反转。这说明第二轮没有被单个 100 筹码事故完全支配,但样本仍然太小,置信区间依旧跨过 0。
第三轮:模拟与反思接上了第二轮的“刹车”
第二轮解决的是“有没有一个共同参考”;第三轮继续往前走:每个决策都附带 64 次 bounded equity simulation,模拟只允许使用自己的底牌和公共牌;每手结束后,模型还要回看行动、结果、置信度与策略调整。
第三轮不是把参考换成一个更大的黑箱。它把模型从“当下解释牌面”推进到“事后检查自己的解释是否经得起结果和行动路径的检验”。第三轮正式产物共有 20/20 个有效 match、534 次决策和 240 条 reflection,provider failure、fallback、非法行动均为 0。
关键局 01:赢下 101,但反思说这条线仍然太松
牌局:seed 10000 / layout 0 / hand 0
- DeepSeek:Q♦A♠
- 公共牌:9♠ J♦ 7♥ / 2♠ / 6♣
- 结果:DeepSeek +101
DeepSeek 用 0.477、0.50、0.5625 等模拟权益解释多路翻前加注,并在翻牌底池 172.5 时跟注 28.5。最后公共牌没有给任何人明显成牌,DeepSeek 以 A-high 赢下 101。
如果只看结果,这是一手漂亮的胜利;如果看 reflection,结论完全不同。模型承认:64 次采样的权益边际太薄,翻前面对 4-bet 继续投入,翻牌又为接近全下的跟注付费,胜利更多来自对手也错过,而不是 AQo 本身足够强。它给自己的调整是:面对 4-bet 降低 AQo 的堆叠意愿,并要求更大的 EV 缓冲。
这正是赛后反思的价值:把“我赢了”与“我做得对”拆开。
关键局 02:顶对加注战争,模拟数字被对手动作打穿
牌局:seed 10002 / layout 0 / hand 0
- DeepSeek:9♥8♠
- 公共牌:9♣ 2♦ 10♠ / 10♦ / 7♣
- 结果:DeepSeek -100,Luna +100
翻前 98o 的模拟权益约 0.492,翻牌击中顶对后,权益读数一路升到 0.703、0.773。DeepSeek 于是连续加注,最终投入 80.25;但对手的连续再加注已经把范围从“随机牌”压缩成了强牌集合。转牌配对 10 后,顶对 9 的表面牌力并没有跟着模拟器的数字一起安全,最后在摊牌输掉 100。
reflection 对这手的批评很具体:问题不是 pot-odds 算式本身,而是权益没有条件化到对手的行动。下一次遇到配对牌面上的 raise war,模型会只跟一次再加注,然后停止用一对牌继续扩大底池。
关键局 03:弃牌后观察大底池,结果没有反过来污染决策
牌局:seed 10002 / layout 0 / hand 0 的另一名 DeepSeek seat
- DeepSeek:4♥2♥
- 四人底池,待跟注 2.25
- 模拟权益:0.242,所需权益:0.375
- 结果:翻前弃牌,损失 0
这名 seat 在翻前就弃牌,随后看见另外两名玩家在 9♣2♦10♠、10♦ 的牌面上打出大额加注战争,有人最终投入 80.25。reflection 没有因为“后来牌面可能给我机会”而改写判断:4♥2♥ 的权益低于价格,弃牌保存筹码仍然是正确决策。
这是一条很重要的反事实边界:模拟与反思可以帮助模型复盘,但不能把后来发出的牌倒灌回当时的信息集。
第三轮战绩
| 指标 | 结果 |
|---|---|
| 有效 match / 预期 match | 20 / 20 |
| 手牌 | 40 |
| 决策 / 赛后 reflection | 534 / 240 |
| DeepSeek-Luna 差值均值 | +105.25 chips/100 |
| 中位数 | 0.00 chips/100 |
| 95% CI | [-1446.31, 1595.26] |
| 置换检验 | p = 0.6722 |
| 结论方向 | inconclusive |
第三轮的点估计第一次转为 DeepSeek 领先,但区间比前两轮更宽,仍然跨过 0。更重要的是,reflection 自己暴露出一个新问题:64 次模拟的数字容易被模型当成精确测量,尤其是在对手已经通过连续加注表达强范围时。
合并来看:参考、模拟与反思分别做了什么
第一轮的纯 LLM 条件允许模型把自然语言中的错误前提一路放大;第二轮的参考多次发挥的是“刹车”作用;第三轮则进一步把“刹车”变成可以被复盘的证据:
- 它让 8♣4♣ 在错误牌型之外多了一条可执行的 check/call → fold 线路。
- 它让 AK-high 在没有成牌时更常见到免费过牌,让 AJo 在河牌成顶对后有清晰的价值下注出口。
- 它没有抹掉随机性,也没有强迫模型照表行动;DeepSeek 仍会偏离参考,Luna 也仍需自己解释范围和赔率。
- 第三轮的 reflection 让模型能承认“赢牌也可能是坏线”,并给出下一次的策略调整。
- 但 64 次采样不是精确权益;模型仍会把没有条件化到对手范围的数字当成理由。
所以第二、三轮合并后的准确结论是:冻结参考降低了第二轮的灾难性错误,模拟与反思让第三轮更能识别风险,但两轮的区间都跨过 0,仍不足以判定 DeepSeek 或 Luna 获胜。