rlcard
支持9种卡牌游戏的强化学习环境库,德州扑克/斗地主/麻将全覆盖,Gym风格即装即用
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
支持9种卡牌游戏的强化学习环境库,德州扑克/斗地主/麻将全覆盖,Gym风格即装即用
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:RLCard 系统架构图,展示了环境层、规则层与算法层的协同关系
想象这样一个场景:你和一位 AI 对手打德州扑克,它不仅记住了你每一次跟注的习惯,还学会了在你频繁加注时收紧手牌范围,在你表现保守时大胆诈唬。这不是魔术,而是一个精心设计的强化学习系统在牌桌上持续自我进化的结果。
这就是 RLCard 试图解决的核心问题——如何为强化学习(RL)研究者提供一个标准化的卡牌游戏环境,让 AI 智能体(Agent)能够在真实复杂的博弈场景中训练、评测与迭代。
不同于棋类游戏(如 AlphaGo)的确定性环境,卡牌游戏天然具有信息不完整、对手策略动态变化、多人博弈等复杂特性,这些恰好是现实决策场景的缩影:金融交易、谈判博弈、自动驾驶中的多车交互……学会在卡牌桌上做决策,等于为 AI 装上了一颗能在真实世界中游刃有余的「大脑」。
RLCard 目前支持 9 种主流卡牌游戏,覆盖从简单到复杂的不同难度层次:
这些游戏涵盖了强化学习研究中几乎所有重要的博弈类型,也让 RLCard 成为检验算法泛化能力的绝佳测试平台。

图2:RLCard 目前支持的 9 种卡牌游戏,从简单到复杂满足不同研究需求
RLCard 的设计理念与 OpenAI Gym 一脉相承——将游戏封装为标准化的环境接口,让研究者的算法代码可以在不同游戏之间无缝切换。一个典型的训练流程只需几行代码:
import rlcard
from rlcard.agents import RandomAgent
env = rlcard.make('limit-holdem') # 创建环境
agent = RandomAgent(action_num=env.action_num) # 创建智能体
env.set_agents([agent, agent])
episode = 100
for _ in range(episode):
trajectories, payoffs = env.run() # 运行一局
这种设计让研究者在不同游戏之间切换时无需修改算法代码,极大地加速了实验迭代。RLCard 内部将系统分为三层:
代码结构清晰有序:
rlcard/
agents/ # 智能体:随机、CFR、DQN、NFSP、PettingZoo 兼容接口
envs/ # 环境注册与统一入口
games/ # 各游戏的规则引擎(9个子目录)
models/ # 预训练模型与规则模型
utils/ # 工具:日志、随机种子、PettingZoo 桥接
RLCard 不只是一个环境库,它还内置了多个经过验证的强化学习智能体,让研究者可以直接上手比较不同算法的效果:
同时,项目还提供了各游戏的规则模型(Rule Model),即基于人类经验编写的固定策略,比如斗地主的规则模型能以较高胜率击败新手玩家,可以作为评测时的对比基准。
RLCard 提供了标准的 Python 包安装方式:
pip install rlcard
# 或安装带 PyTorch 支持的版本
pip install rlcard[torch]
基础依赖仅有 numpy 和 termcolor,安装包体积小,对硬件几乎无要求(无需 GPU)。支持 Python 3.7 ~ 3.11,开发团队还提供了详尽的中文文档(README.zh-CN.md),对国内研究者非常友好。
上手路径建议:
examples/ 目录下的示例脚本,从 run_random.py 开始观察基本流程run_cfr.py 或 run_rl.py 亲手训练一个智能体docs/ 中的算法文档,深入理解 CFR/NFSP 的实现细节docs/adding-new-environments.md 了解扩展方法RLCard 也有其局限性。首先,内置算法的深度有限——CFR 和 NFSP 虽然经典,但远不如现代方法(如 PPO、自我对弈微调)强大;研究者如果想追求 SOTA 效果,需要自行接入更先进的 RL 框架。其次,No Limit Hold'em 的状态空间复杂度仍然很高,在小规模实验中可能收敛困难。
此外,由于卡牌游戏的随机性,实验结果方差较大,不同随机种子下算法性能可能差异显著,论文中通常需要报告多次实验的均值与置信区间,这对初学者是一个隐性门槛。
RLCard 由德克萨斯 A&M 大学 DATA Lab 维护,自 2019 年发布以来已被广泛应用于学术研究。其论文引用涵盖了强化学习、不完全信息博弈、博弈论等领域的众多工作。项目遵循 MIT 开源许可,代码质量较高,文档详尽,是强化学习入门者和进阶研究者都值得收藏的工具库。
在更宏观的视角下,RLCard 代表的趋势是:用卡牌游戏作为 AI 决策能力的训练场与试金石。随着大语言模型(LLM)开始被用于策略推理和多智能体协作,类似的环境库将更加重要——RLCard 已经在这个方向上占据了有利位置。