候选方案比较 — 融合方案:通俗推荐理由 + 差异高亮 + 明细切换
真实任务不变:系统生成 5 个候选,教师回答「为什么推荐 A?A 与 B 差在哪?硬规则是否满足?座位分配差多少?」四视图融合为"按问题组织",且全部文案去术语化(G-1)——教师只看到通俗表述,程序术语收进「详情」折叠区与导出元数据。
不可违反约束:数据契约来自 Rust PlanScore 七维 + rule_scores + hard_constraint_summary 与 candidate distance(§7.7);复现信息可查(G-3);通俗文案以 i18n message_key 资产承载,禁止 UI 硬编码(G-1)。
✓
融合目标形态
① 推荐理由卡(通俗话)→ ② 差异高亮(A vs B 座位图)→ ③ 明细区(通俗分数 / 逐规则切换)→ ④ 雷达图可选 → 「详情」折叠复现信息。
localhost:8765/class-302/candidates
候选集 5 个
方案 A 推荐 · 生成于 2026-03-17 10:24
A
为什么推荐方案 A?
轮换更公平(前后排机会均等)、与上期变动更平稳,而且成绩搭配没有明显短板;硬性要求全部满足(固定座位 1 项检查通过)。
硬性要求:全部满足 ✓
与上期相比变动 4 座
与方案 B 的主要差别:轮换公平性更好(+4.3 分)、更平稳(+6.3 分);方案 B 的优势是成绩搭配(+4.7 分)。
方案 A · 推荐
方案 B
两方案不同的座位(4 座)
固定座位
分数明细
逐规则展开
| 评估项(通俗名) | 方案 A | 方案 B | 说明 |
|---|---|---|---|
| 总分 | 84.4 | 82.9 | 加权总分(0–100) |
| 轮换公平性(前后排机会均等) | 82.4 | 78.1 | 基于 3 期历史 |
| 避免和近期同桌/邻座再相邻 | 91.0 | 86.3 | 历史同桌记录 |
| 成绩搭配(好带弱) | 76.5 | 81.2 | 相邻座位成绩混合度 |
| 高个子靠后 | 88.2 | 85.0 | 身高排序 |
| 视力需求靠前 | 96.8 | 96.8 | 4 名视力需求学生 |
| 方案多样(几个方案差别够大) | 70.1 | 74.6 | 与候选集平均差异 |
| 与上期变动幅度(平稳过渡) | 85.6 | 79.3 | 对比上一期方案 |
试一下:点「详情(复现信息)」看 seed/solver/build;切换「分数明细 / 逐规则展开」。
| 设计要点 | 说明 |
|---|---|
| 按问题组织 | ① 为什么推荐 A(理由卡,2–3 句通俗话)→ ② 差多少(差异高亮 + 一行通俗差异)→ ③ 想深究(明细切换)→ ④ 雷达图为可选视图。非四块拼图 |
| 去术语化(G-1) | 程序术语 → 通俗文案(i18n message_key 资产,与 Rust audit suggested_actions 结构一致):fair_rotation→轮换公平性 · avoid_recent_neighbors→避免和近期同桌/邻座再相邻 · score_balance→成绩搭配 · height_back→高个子靠后 · vision_front→视力需求靠前 · diversity→方案多样 · stability→与上期变动幅度 · hard_constraint_summary→硬性要求 |
| 复现信息(G-3) | seed / solver / build / 规则版本 / history range / candidate id 在「详情」折叠区可查,随导出元数据携带——通俗化不破坏复现契约 |
| schema/API 影响 | 无新 API;推荐理由文案模板在 application 层定义(复用 audit 报告);i18n 资产表 |
待验证(dogfood):
- 推荐理由卡文案模板(理解速度 / 误读率测试,§7.7)
- 术语映射表的可用性验证