产品与技术方案
这套站点的设计决策、数据模型、自适应算法与工程取舍。完整文档见仓库 docs/SPEC.md。
核心设计决策
| 决策 | 选择 | 理由 |
|---|---|---|
| 难度来源 | 按能力评分实时计算 | 原产品的静态阶梯无法做到真个性化;参数化关卡使动态选档成为可能 |
| 评分粒度 | 按能力(19 项)而非按游戏 | 同一能力跨游戏累积,才能反映真实能力而非单个游戏的熟练度 |
| 难度阶梯 | 抽象轴 + paramMap 映射 | 让一套阶梯可被多款玩法复用(借鉴原产品 09/11 共用阶梯的做法,并做成显式机制) |
| 关卡生成 | 程序化生成 | 自适应要求每条参数随人变化,无法预先枚举 |
| 渲染方式 | 服务端渲染 HTML | 网站相对 App 的核心优势是 SEO 可索引;SPA 会放弃这一点 |
| 引擎位置 | 服务端 | 客户端无法自行调难度;评分与进度不可被篡改 |
| 冷启动 | 标定斜坡 0.92→0.88→0.84 | 新玩家初始评分 1000 无信息量,前 3 局用高目标快速定位真实水平 |
数据模型
players(id, created_at, last_seen, streak, best_streak, last_daily, rounds_total)
ratings(player_id, ability, rating, rounds, updated_at) -- ★ 引擎核心表
results(id, player_id, game, difficulty, tier_index, score, accuracy,
correct, total, duration_ms, deltas, created_at)
progress(player_id, game, plays, best_score, last_tier, updated_at)
daily_log(player_id, day, game, tier_index, score, created_at)
自适应算法
# 1) 期望表现(Elo)
E = 1 / (1 + 10^((dR - r) / 400)) r = 该游戏关联能力的评分均值
dR = 600 + d * 800 (d ∈ [0,1])
# 2) 表现得分
S = 正确率,全对时按剩余时间给最多 +0.06 的速度加成
# 3) 更新(同一游戏的全部关联能力收到相同增量)
r' = clamp(r + K·(S - E), 400, 1800) K = 24,单轮增量上限 ±60
# 4) 反解下一局难度(目标期望正确率 0.78)
dR* = r + 400·log10(1/0.78 - 1)
d* = clamp((dR* - 600) / 800, 0, 1) → 取最近档位
当前引擎参数:{"algorithm":"per-ability Elo (provisional-K variant)","baseK":24,"provisionalK":[{"maxRounds":5,"factor":2.2},{"maxRounds":15,"factor":1.5},{"maxRounds":null,"factor":1}],"surpriseGain":0.7,"dominance":{"threshold":0.9,"max":3},"targetExpectedAccuracy":0.78,"calibrationRamp":[0.92,0.88,0.84],"ratingRange":[400,1800],"difficultyRatingRange":[600,1400],"maxDeltaPerRound":60,"note":"难度档位离散(10 档),实际收敛正确率在目标附近波动(实测 0.78–0.88)"}
内容自检
✅ 内容配置无悬空引用
覆盖度提示(非缺陷):
- 7 项能力当前没有对应玩法(peripheral-vision, quick-thinking, spatial-memory, decision-making, problem-solving, numerical-fluency, comparison)—— 补齐 5 个品类下的其余玩法即可覆盖
已知局限(诚实声明)
- 判题在客户端:
/api/next会把含答案的关卡数据下发,存在作弊空间。 生产版本应改为服务端持题、服务端判题。当前评分体系对诚实用户有效。 - 速度加成的权重是设计选择,不是实证结论:0.06 的上限是为了不让速度主导评分而人为设定的。
- 目标正确率 0.78 未经 A/B 验证:来自「desirable difficulty」的一般性经验,应通过实验校准。
- 认知训练的效果存在学术争议:本站不宣称提升智力或治疗症状,只提供可测量的练习。
- 无账号体系:进度绑定浏览器 cookie,清空即丢失。