# CharacterEval 复核（第三遍：发布物与数字优先）

> 日期：2026-10-28　方法：只用作者发布的数据、中间结果、论文表格做可计算的核对；不调用任何付费 API、裁判或奖励模型端点；项目目录只读。
> 本报告独立完成，没有参考同目录下其他复核文件。

## 0. 来源与版本（全部实测 SHA-256）

| 资料 | 版本 / 获取方式 | SHA-256 |
|---|---|---|
| arXiv v1 e-print（2024-01-02 提交） | https://arxiv.org/e-print/2401.01275v1 → `src/ce_v1_eprint/src.tgz` | `394f1dc9d64b080c18509fe94f25e7755dee21a8e2c825b578dffead34c57a90` |
| v1 `acl_latex.tex` | 同上解包 | `c7e44d071b62b25239c055c516a31fbe52550cebb97a87228ea103d56b0ff83c` |
| arXiv v2 e-print（2024-01-09 修订，最新版） | 已有的 `src/ce_eprint.tgz`；重新下载 v2 字节完全相同 | `5e75e95ccf9c6cdbea73c7a9fd0efc75147c4f5aa5aa244c4e88eff183120c62` |
| v2 `acl_latex.tex` | `src/ce_eprint/acl_latex.tex` | `f98299737e75bfb7002e47a76a67161246fbf1286c7be43f8ccd5800b50d6c17`（与平台 `published.ts` 中的 SOURCE_SHA256 一致） |
| ACL Anthology 正式版 2024.acl-long.638（pp. 11836–11850） | https://aclanthology.org/2024.acl-long.638.pdf → `src/ce_acl/paper.pdf` | `7a7842db8abe8a753f4c8a9267ecd0cb1adf2032ad4716427b11453cfe91db39` |
| 官方仓库 morecry/CharacterEval | commit `c3d44a6fc1790cc8c4b2fd7c01f0c72930655e0c`；远端只有 main 分支，无 tag、无 release；另有 `refs/pull/32/head`=6dfd384（已合并） | — |
| BaichuanCharRM（HF） | 当前 main = `e953da5f57b86db7adca3a2714b4c3720f5b96a2` | 见第 5 节 |

arXiv 只有 v1、v2 两个版本（abs 页 submission history）。ACL PDF 没有 LaTeX 源，表格用 pdfplumber 0.11.4 从 PDF 机械提取（`review/venv`）。

## 1. 数据计数与覆盖

脚本：`review/scripts/ce_data_check.py`（输出 `review/ce_data_check.out`）、`review/scripts/ce_conv_estimate.py`（输出 `review/ce_conv_estimate.out`）。

| 项 | 论文 / README | 实测 | 结论 |
|---|---|---|---|
| 测试样本数 | 表 1：Test 4,564 | `test_data.jsonl` 4,564 条，id 唯一，字段只有 id/role/novel_name/context（无参考回复） | 一致 |
| 角色数 | 77 | 测试集 77 个角色、24 部作品；`character_profiles.json` 78 个角色，多出 `沙僧`（测试集未使用；作者在 issue #26 承认“有一个没用上”） | 一致（资料多 1 个无害） |
| 测试角色是否都有资料 | — | 77/77 有资料；资料全部为 dict，`str(dict)` 长度 175–2579 字符，均值 908 | 一致 |
| id2metric 覆盖 | README：每条样本只评部分指标 | 4,531 个 id 有指标；**33 个测试 id 没有指标**（如 678、952、999…，完整清单 `review/ce_missing_ids.json`），涉及 22 个角色；id2metric 中没有测试集以外的 id；每个角色至少有 3 条可评样本 | 33 条样本按官方 `transform_format.py` 会被丢弃，永远不参与打分（作者 issue #21：“忘记删了”，按 README 跑即可复现论文） |
| 每个 id 的指标数 | — | 1:2801, 2:962, 3:346, 4:189, 5:89, 6:52, 7:37, 8:22, 9:13, 10:16, 11:4；无重复指标 | — |
| (样本, 指标) 对总数 | — | **8,032** | 即每个模型的奖励模型打分条数 |
| 每项指标的条数 | — | Emp 744, ED 737, CS 734, PU 724, HL 724, PB 720, KA 718, Cons 715, KE 714, Coh 708, **KH 486, Flu 308** | 指标均值的样本量差异很大，Flu 只有 308 条 |
| 指标中文名 | — | 12 对 (metric_en, metric_zh) 与 `rm_train_data.json` 完全一致 | 奖励模型输入用 metric_zh |
| 总样本数（正文） | v1 正文与 README：23,020；v2 与 ACL 正文：11,376 | 表 1：6,811 + 4,564 = **11,375** | 正文 11,376 与表 1 之和差 1；README 仍是 v1 的 23,020 |
| 对话数 / 平均轮数 | 1,785 段，9.28 轮/段 | 训练集未发布，无法核对。仅用测试集按“同作品同角色、上文互为前缀”聚类得到 1,858 个簇（多于 1,785，说明测试样本不能还原对话边界），簇内最长样本平均 9.20 句 | 不可精确复核 |
| “超过 20% 样本多于 10 轮”（仅 ACL 版，图 3） | — | 上文行数 >10：19.13%；上文+回复 >10：22.55% | 只有把待生成回复算一轮时成立 |
| 上下文格式 | get_response.py 断言最后一句不是角色本人 | 0 条违反；所有行都含全角冒号；529 条上文只有 1 句（角色尚未发言） | 官方生成脚本可直接跑 |

## 2. 发布的中间结果 `results/generation_trans_*.jsonl`

脚本：`review/scripts/ce_results_check.py`（输出 `review/ce_results_check.out`）、`ce_peek_hist.py`、`ce_rm_input_len.py`。

**两个历史版本。** git 历史中结果文件上传过两次：`ba8213e`（2024-01-10，每个约 9 MB）和 `9c5a48e`（同日，替换为现版本）。已用 `git show` 取出旧版到 `review/hist_ba8213e/`。逐条比较：旧版去掉 `response`、`model` 两个字段后与现版本**完全相同**（5/5 个文件，8,032/8,032 条 model_output 相同）。旧版多出的两个字段：

- `response`：测试样本的**参考回复（原剧本台词）**，4,531 个 id 全有，均以“角色名：”开头。现行 `test_data.jsonl` 不含参考回复，但它们仍可从 git 历史取到。
- `model`：在 5 个文件中逐条相同，与被测模型无关，是该 id **被人工标注的那条回复的来源**：minimax 524、raw 517、yi 503、qwen 501、gpt4 501、xingchen 499、bc 497、gpt-3.5-turbo-1106 497、glm 492（按 id 计）。`raw` 即参考回复（见第 2.3 节）。

### 2.1 计数与 transform_format.py 的等价性

| 文件 | 记录数 | (id, 指标) 序列 = 由 test_data × id2metric 按官方顺序展开的 8,032 条 | None / "ERROR" / 空串 | 含 `\n` | 以“角色名：”开头（按 id） | 首尾空白 |
|---|---|---|---|---|---|---|
| baichuan_7b | 8,032 | 是 | 0/0/0 | 0 | 4208/4531 | 3 |
| chatglm3_6b | 8,032 | 是 | 0/0/0 | 0 | 4447/4531 | 3 |
| internlm_7b | 8,032 | 是 | 0/0/0 | 0 | 4454/4531 | 0 |
| qwen_7b | 8,032 | 是 | 0/0/0 | 0 | 4216/4531 | 0 |
| xverse_7b | 8,032 | 是 | 0/0/0 | 0 | 4243/4531 | 418 |

- 每个文件覆盖全部 4,531 个有指标的 id，所以 ERROR/None 过滤对这 5 个模型**没有丢弃任何样本**；33 个无指标 id 已被丢弃。
- 22,655 条唯一输出中没有一个换行，且存在 10,315 字符的单行输出：首行截断已经做过（transform_format.py 的输出格式；仓库最初版本的 transform_format.py 与 run_char_rm.py 读的正是 `generation_trans_baichuan_7b.jsonl`，见 commit 1be1239、5b99dd9 的 diff）。
- 同一 id 的不同指标记录 model_output 完全相同；role/context/novel_name 与 test_data 逐条相同。
- 文件之间几乎没有相同输出（两两 4–17/4531），5 个文件确实来自不同模型。
- 输出保留了“角色名：”前缀（get_response.py 的 history 格式造成的）；参考回复 100% 带前缀，奖励模型训练数据 87%（6317/7228）带前缀。平台复现时**不能**剥掉这个前缀，也不能去掉首尾空白（官方不 strip）。
- 奖励模型输入按 `format_input` 拼接后，超过 4,096 字符的记录：baichuan 16、chatglm3 7、internlm 3、qwen 2、xverse 3（字符数只是 token 数的代理；官方是左截断 `input_ids[-4096:]`，会截掉资料开头）。

### 2.2 能否作为锚点、对应论文哪一行

| 文件 | 表 4 行 | README 写法 | 备注 |
|---|---|---|---|
| generation_trans_chatglm3_6b | ChatGLM3-6B | “ChatGLM-6B” | README 名称不准 |
| generation_trans_baichuan_7b | Baichuan2-7B | “Baichuan-7B-Chat” | README 写成一代 Baichuan；表 3/表 2 (ACL) 只列 Baichuan2 |
| generation_trans_xverse_7b | XVERSE-7B | XVERSE-7B-Chat | — |
| generation_trans_internlm_7b | InternLM-7B | InternLM-7B-Chat | 论文 2024-01 发布时 InternLM2 尚未发布，应是一代 internlm-chat-7b，但 v1.0 / v1.1 无法确定 |
| generation_trans_qwen_7b | Qwen-7B | Qwen-7B-Chat | HF 版本（revision）未给出 |

结论：这 5 个文件是官方 `transform_format.py` 的输出、`run_char_rm.py` 的直接输入，用 BaichuanCharRM（e953da5，bf16，max 4096）按官方脚本打分再按 `compute_score.py` 求每项指标均值，**应当**复现表 4 这 5 行的 12 个奖励模型指标（以及据此算出的三个维度平均）；人格回测列不能由它们复现。作者没有发布任何奖励模型打分结果，所以“能复现”目前只是推断，需在部署奖励模型后实测。它们是唯一可用的端到端锚点（输出固定，不受生成模型版本影响）。另外，这 5 个模型的输出与奖励模型训练数据几乎不重合（每个文件只有 1–12 条与训练样本输出逐字相同），是奖励模型的样本外数据。旧版的参考回复（`raw`）可作为第二个锚点候选，但论文没有报告它的分数。

### 2.3 奖励模型训练数据 `rm_train_data.json`（2024-11-20 上传）

脚本：`review/scripts/ce_rmtrain_check.py`、`ce_rm_vs_metrics.py`（输出同名 `.out`）。

- 7,228 条，4,241 个 id，77 个角色；分数为字符串 "1"–"5"（1361/1296/1874/1783/914）。
- **4,241 个 id 全部是测试集 id**，7,228 条的 (role, context) 全部与某条测试样本相同；(id, 指标) 对是 id2metric 8,032 对的真子集，缺 804 对（恰好 10.0%），其中 290 个 id 完全不在训练数据中，437 个 id 只缺部分指标——像是按 (样本, 指标) 对做的 9:1 随机划分（推测，论文未说明）。
- 每个 id 只有一条被标注的回复；`model` 标签为 `raw` 的 487 个 id，训练回复与旧版参考回复 487/487 逐字相同。
- 由此：**奖励模型是在测试集上下文上训练的**，被标注回复来自 9 个来源（含 Yi、GPT-4、GPT-3.5、MiniMax、星尘、BC、glm、qwen 和参考回复）。ACL 版附录 FAQ 写的是 “CharacterRM is developed based on the human annotation results on training set of CharacterEval”，与发布数据矛盾；表 1 的训练集 6,811 与 7,228 / 4,241 都对不上。表 2（ACL 表 3）相关系数所用的人工标注集没有发布（issue #33 询问未获回答），所以清单 D2 **无法用发布物复现**。

## 3. 表格数字

脚本：`review/scripts/ce_tables.py`（LaTeX 机械提取，输出 `review/ce_tables.out`、`review/ce_tables.json`）、`ce_acl_tables.py`（ACL PDF，输出 `ce_acl_tables.out`）、`ce_markup_check.py`、`ce_draft_table.py`、`pdf_text.py`、`pdf_cols.py`。

### 3.1 版本间逐格比较

| 表 | arXiv v1 vs v2 | ACL vs v2 |
|---|---|---|
| 表 1 统计 | 数字相同（仅行名 “Avg Turns / Conv” 加了句点） | 数字相同 |
| 相关系数表（arXiv 表 2 = ACL 表 3），13×4 格 | 相同 | 相同 |
| 详细结果表 4（15 模型 × 16 格 = 240 格） | 相同（唯一变化：v1 行名 `BC-Character-Turbo` → v2 `BC-NPC-Turbo`） | 数值相同；ACL 把 MBTI 的 0.62/0.63 印成 0.620/0.630（5 格，仅格式） |
| GPT-4 评分表（arXiv 表 5 / ACL 表 5，附录），240 格 | 相同 | 相同 |
| 仓库 `assets/leaderboard.png` | 是 v2 表 4 的截图（行名 BC-NPC-Turbo，MBTI 印 0.62）；我逐格目视比对 240 格无差异（图片无法机械提取，此项为人工核对） | — |

v1→v2 正文的其他变化：样本总数 23,020 → 11,376（三处）、模型名 BC-Character-Turbo → BC-NPC-Turbo；figures 中 multiturn.pdf、radar_chart.pdf 也换了。

ACL 版相对 v2 的新增或不同内容（只列与复现有关的）：作者增至 7 人（Tu、Fan、Tian、Shen、Shang、Gao、Yan，新增天津大学、电子科大、KAUST）；表 2/表 3 编号互换；新增图 3（测试集轮数分布）；鲁棒性分析移到附录 A，GPT-4 评分移到附录 B；新增附录 C（FAQ），其中给出：GPT-4 评分用 `gpt-4-preview-1106`、以标注文档示例做 ICL；奖励模型“以 Baichuan-13B-Base 加分类头，分数除以 5 归一化到 [0,1]，MSE，LoRA r=32、alpha 16、dropout 0.05、作用于 W_pack 和 o_proj、lr 2e-5、5 epoch、batch 8、bf16”；人格回测“as implemented in Wang et al. (2023b)”（arXiv:2310.17976）。

### 3.2 维度平均核对（v2，表 4 与 GPT-4 表共 90 个平均值）

- 90/90 与印出指标的均值相差 ≤ 0.001（最大 0.00067），没有真正的不一致。
- 其中 10 格的印出值 ≠ round(印出指标均值, 3)，差 0.0005–0.00067：表 4 的 ChatGLM3-6B ca_avg（3.399 vs 3.39967）、ra_avg（2.739 vs 2.7395）、InternLM-20B ra_avg（2.911 vs 2.9115）、BC-NPC-Turbo ca_avg（3.798 vs 3.79733）、GPT-4 ra_avg（2.873 vs 2.8725）；GPT-4 表 5 格。说明作者用未取整的指标求平均，符合预期；平台不应自己重算维度平均，直接用印出值（平台现在就是这样做的）。
- 相关系数表的 Overall 不是 12 项均值：Char-RM 印 0.631，12 项均值 0.561；1-shot 0.362 vs 0.368；3-shot 0.375 vs 0.395；2-shot 0.385 vs 0.385。Overall 应是全部标注对合并后的相关系数，论文未说明。
- 加粗/下划线：表 4 的 Cons. 列下划线标在 Baichuan2-7B（3.827），实际第二名是 Baichuan2-13B（3.864），其余 31 列标注正确。
- v2 中注释掉的草稿表（含 Yi-6B、Yi-34B 和 BLEU/ROUGE/DIST）与最终表 4 的 14 个共有模型逐格相同；草稿没有 BC-NPC-Turbo。Yi 就是 `model` 标签中的 `yi`。

### 3.3 与平台 `published.ts`、`meta.ts` 的比较

- `published.ts`（server 与 worker 两份字节相同）15 行、名称与顺序与 v2 表 4 相同，240 格**无任何差异**；`avgMismatch` 全为空，与 3.2 的结论一致；`SOURCE_SHA256` 是 v2 tex 的哈希。
- `meta.ts`：repoCommit c3d44a6…、judgeCommit e953da5…、日期 2024-01-09（v2）都与实测一致。

## 4. 人格回测（MBTI）能否复现

- 仓库全部 23 个提交、唯一分支 main、PR ref 中，除一处角色资料字段 “personality” 外没有任何 MBTI、问卷、16personalities 相关内容；没有 tag、release。
- HF 上作者 morecry 只有 BaichuanCharRM 一个模型，没有数据集；模型仓库没有 MBTI 内容，也没有模型卡。
- issue #5（2024-01）作者称 MBTI 代码“正在整理，很快放出”，2024-04 有人追问 54 个角色的 MBTI、问卷和结果，至今未发布。
- 结论：54 个角色的 MBTI 标签、问卷、提示词和打分都未发布，**人格回测无法复现**；只能把论文数字当作发表值展示。
- 数字推断：把每个印出的准确率看成 k/N，在 N=20…400 中**只有 N=216（54 个角色 × 4 个字母）**能同时表示全部 13 个值（含草稿 Yi-6B 0.602、Yi-34B 0.713），如 ChatGLM3-6B 115/216、GPT-4 150/216；N=54（整类型准确率）只对 5 个值成立。所以论文的 MBTI 准确率几乎可以肯定是按维度（字母）计算的，CharacterGLM 之外的 14 个模型都答完了全部 54 个角色。这与 ACL 版所引 Wang et al. (2023b) 的做法相容。（脚本 `ce_mbti_denominators.py`）

## 5. 哈希与奖励模型版本

数据与代码（commit c3d44a6）：

| 文件 | 字节 | SHA-256 |
|---|---|---|
| data/test_data.jsonl | 3,458,303 | `6d9723a1484f1d2739bcf388c7960abe1933b7a5a1fddae0170cc9ea7c66dcd8` |
| data/id2metric.jsonl | 702,289 | `df80ee716124a7deacc6f24ee372a4600b719cdaa79f01cefcdfb286359f1801` |
| data/character_profiles.json | 191,240 | `d9b4c9f7ab63b89b3c348ae88b43c87872f0f6a5cb06d7f31cbe64a630e6434e` |
| rm_train_data.json | 6,897,423 | `0fc906584b5edef50918a38868b732150943d941d6b14e80208af15b4b9a1462` |
| run_char_rm.py | 1,494 | `85bc7ebdf6f283dc563fe7bfb8b98cdf7799b9cbb5a9c443b78f3e0c742180be` |
| transform_format.py | 788 | `c6cfe4a42338147878cc37359d34e80b851bafd0521b6b85bc171090977c8b2c` |
| get_response.py | 2,498 | `ac5030abbefc5d9979e65a2d5f47490cfac5c7ca5195c7737124ae78fed7a9e5` |
| compute_score.py | 395 | `cfcf291f85ee759c114aa583b76934a35e71799f4c5b06eef0ab7a28b0d031c0` |
| requirements.txt | 33 | `bcd36bff253fe869207ea46d8c60a326d9371cf5f54b97772bab06d3da0e3a18` |
| results/generation_trans_baichuan_7b.jsonl | 7,863,089 | `8775735d170049054957a532c8c0b9dd7a8a0fe638f696875db33dce49a593af` |
| results/generation_trans_chatglm3_6b.jsonl | 7,977,421 | `d674bc672f5ea5af646202eaf6c82917cbae41328437804d620aa2447d150e41` |
| results/generation_trans_internlm_7b.jsonl | 7,832,892 | `3dfaf8e842d4357c4da721c637bb21b8f157230771d5ab05de7fc6365be42fbe` |
| results/generation_trans_qwen_7b.jsonl | 7,937,930 | `a47170faa913daa5084ea794335361ac183e1c6119c0c6a839d5885bb85f648c` |
| results/generation_trans_xverse_7b.jsonl | 7,659,554 | `8de7dbcae6c0c9b8c90a743ab892ebc43053e844a22cd6a46d31eeb4cefec320` |
| assets/leaderboard.png | 887,572 | `d6f1628c81a62bb442dfd96ba774783518a50d30e9a6f1d0addd5b345e368590` |

旧版结果（ba8213e，含参考回复）：baichuan `f1ef8586…d758`、chatglm3 `a3a622b1…319f`、internlm `ba2071be…5b6875`、qwen `c3704cd2…5ed6`、xverse `4330f420…067824c`（全长见 `review/ce_data_check.out`）。

BaichuanCharRM（HF API 实测）：

- 提交历史：`c8bb579`（2024-01-09 15:47 UTC，空的初始提交）→ `e1b9f1e`（15:54，上传权重）→ `e953da5`（2024-01-10 05:57，main，仅改 modeling_baichuan.py）。`e1b9f1e` 与 `e953da5` 的三个权重分片 LFS sha256 相同（c868e1bd…、e0681ed4…、942a5e73…，共 26,506,219,522 字节）；modeling_baichuan.py 的差异只是删掉注释行（脚本 `ce_rm_diff_semantic.py` 验证去掉注释后完全相同）。所以两个非空版本功能等价。
- `config.json`：`_name_or_path` = baichuan-inc/Baichuan2-13B-Base，vocab 125,696，bf16，model_max_length 4096。底座是 Baichuan2-13B-Base，与 arXiv 正文一致；ACL 附录写的 “Baichuan-13B-Base” 和作者 issue #17 的 “Baichuan13B-base” 不准确。
- `BaichuanCharRM.forward`：取最后一个 token 的 hidden state → `score` 线性层 → sigmoid；训练损失 `MSE(sigmoid, labels/4)`。与 `run_char_rm.py` 的 `×4+1` 配套（标签应为 分数−1）。ACL 附录“除以 5 归一化”与代码不符；按代码，逆变换就是 ×4+1。
- 没有模型卡，没有许可证声明。
- **仓库没有固定奖励模型版本**：README 只链接 HF 主页，`run_char_rm.py` 从本地目录 `BaichuanCharRM/` 加载；requirements 只固定了 transformers 4.36.2 和 torch 2.0.1。被测开源模型的 HF 版本也都没有给出。平台应固定 `e953da5`（权重哈希如上）。

## 6. 运行过的脚本

全部在 `<reviews>/scripts/`，用 `python3 -I`（PDF 两个脚本用 `review/venv/bin/python -I`）运行，输出在上一级目录的同名 `.out` / `.json`：

`ce_data_check.py`、`ce_conv_estimate.py`、`ce_peek_hist.py`、`ce_results_check.py`、`ce_rmtrain_check.py`、`ce_rm_vs_metrics.py`、`ce_rm_input_len.py`、`ce_tables.py`、`ce_acl_tables.py`、`ce_markup_check.py`、`ce_draft_table.py`、`ce_mbti_denominators.py`、`ce_rm_diff_semantic.py`、`pdf_text.py`、`pdf_cols.py`。GitHub issues 与 HF API 的原始响应保存在 `review/gh_issues.json`、`review/gh/`、`review/hf_model.json`。

## 7. 不一致清单

**影响复现或平台说法的：**

1. **奖励模型训练数据全部来自测试集**（4,241/4,531 个可评 id、7,228/8,032 个样本-指标对，上下文逐字相同），与 ACL 附录“在训练集上训练”的说法矛盾，也与平台 `docs/CharacterEval-研究说明.md` 第 2 节和 `web/src/pages/CharacterEvalReport.tsx` 中“训练集 6,811 条用于训练奖励模型”矛盾。平台的这句话需要改成以发布物为准的描述。
2. **33 条测试样本没有指标**，实际参与打分的是 4,531 条样本、8,032 个样本-指标对；平台 `index.ts` 的 `TEST_EXAMPLES = 4564` 作为 `n` 展示，和 `CharacterEvalSections.tsx` 的“共 4,564 条测试样本”都没有说明这一点。
3. **奖励模型分数换算**：ACL 附录写“除以 5”，代码是 `labels/4` 训练、`×4+1` 推理。按依据优先级，ACL 文字无法复现数字，应取代码。
4. **底座名称**：ACL 附录与作者回复写 Baichuan-13B-Base，config 与 arXiv 是 Baichuan2-13B-Base。
5. **相关系数表（D2）无法复现**：保留的 804 对（10%）没有发布人工分；Overall 也不是 12 项均值，计算方式未说明。
6. **人格回测无法复现**（标签、问卷、代码都没发布）；印出数字只与“54 × 4 个字母的逐字母准确率”相容。平台报告里“未说明按类型还是按字母”可以改为“数字只能由逐字母准确率得到（216 为唯一分母）”。
7. **README 与文件不符**：README 写 23,020 个样本（v1 旧数）、模型名写 “ChatGLM-6B”“Baichuan-7B-Chat”（文件与表 4 为 ChatGLM3-6B、Baichuan2-7B）、`data/id2metric.json`（实际 .jsonl，且所有 .jsonl 其实是 JSON 数组）。
8. **样本总数**：v2/ACL 正文 11,376 ≠ 表 1 的 6,811 + 4,564 = 11,375；v1 正文 23,020。
9. **ACL 作者为 7 人**，平台研究说明写 “Tu, Fan, Tian, Yan” 并标注 ACL 2024；平台把 arXiv v2 当作数字来源，这一点没问题（数字与 ACL 相同），但作者与单位应按 ACL 版补全，或写明“arXiv v2 作者”。
10. **版本未固定**：仓库没有固定 BaichuanCharRM 版本，也没有给出 5 个开源模型的 HF 版本（InternLM-7B 无法确定是 chat-7b v1.0 还是 v1.1）。

**不影响数字的：**

11. 表 4 Cons. 列的下划线标错（应在 Baichuan2-13B 3.864，而不是 Baichuan2-7B 3.827）。
12. ACL 把 5 个 MBTI 值印成三位小数（0.620/0.630），数值不变。
13. 10 个维度平均不等于印出指标均值四舍五入（差 ≤ 0.00067），是作者用未取整值求平均造成的，不是错误。
14. 角色资料有 78 个（`沙僧` 未使用）。
15. git 历史（ba8213e）中可以取到 4,531 条测试样本的参考回复，以及每个样本被标注回复的来源标签；现行数据没有。可用作额外的锚点或分析材料，但论文没有给出参考回复的分数。

**平台 published.ts / meta.ts**：与 arXiv v2、ACL 正式版、仓库排行榜图的表 4 逐格比较，**没有发现差异**。
