OpenSkill 评分与平衡分析
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_13f0f8f8/rating-opening。
技能介绍
解决的问题
在多队伍或反复对抗的场景中,仅看胜负记录难以区分稳定实力与偶然波动。rating-opening 把比赛结果转换成可比较的评分,用于回答三个问题:选手/队伍当前强弱、下一场胜负概率、如何分组最公平。
工作方式
技能基于 OpenSkill 评分模型,用 mu 表示技能水平,sigma 表示不确定性,综合评分按 mu - 3 * sigma 计算,数值越高代表实力越强。核心入口有三个:
rate:根据比赛结果更新评分。predict:基于当前评分预测胜负概率。balance:分析选手技能并推荐更公平的分组。
底层算法可通过 --model 切换,包括默认的 pl、高精度的 bt-full、快速计算的 bt-part,以及 thurstone-full、thurstone-part。实现依赖 Python 脚本 rating.py 和 openskill 库,适合将已有对战数据接入评分、预测与分队流程。
需要注意:评分会随样本量变化,比赛记录需要可解析且选手标识一致;balance 是平衡建议,不是绝对最优解;不同模型在精度与计算开销上会有差异。
使用场景
- 有长期对战记录的游戏策划,需要把历史胜负转化为可比较的玩家强度并定期更新。
- 赛事运营需要预测下一场比赛胜负概率,用于对阵说明或风险判断。
- 社群管理员组织多人组队,希望根据当前评分和不确定性推荐更公平分组。
- 数据工程师把结构化比赛结果接入脚本,比较 pl、bt-full 等模型输出差异。
适合人员
- 维护多人游戏数值模型的策划:需要可解释的评分更新与强弱比较。
- 负责赛事排期的运营:需要用预测胜率辅助对阵决策。
- 组织线上队战的社群管理:需要公平分队建议。
- 构建对战数据管道的工程师:需要调用 OpenSkill 模型做批量评分。