Skip to content

Blind-Review Module Reference

Purpose: 盲审(匿名评审)送审前的个人信息隐匿检查盲审版 tex 副本生成。 脚本定位泄露点并只写 *_blind 新文件(原文件字节不变);机械可安全项自动替换, 成果条目与正文姓名句零改写、只插 TODO 注释,由 agent 给出 [LLM] 改写建议、 用户确认后落入副本。

规则集

R1/R2 为校方盲审通知原文(逐字收录,不作改写;同步收录于 templates/yanshan.md「盲审」节):

  • R1:隐去作者及导师姓名、致谢等;
  • R2:"攻读学位期间取得的成果"部分,删除姓名、成果名称和期刊页码,只保留本人署名次序和期刊名称、年份。如:[1]第一作者,机械工程学报,2024

R3 为扩展隐匿点(常见惯例,以学校盲审通知为准,非校方通知原文,不与 R1/R2 混淆):

  • 原创性声明 / 使用授权说明的签名页;
  • 封面与题名页个人字段(作者、导师、学号等,多由模板宏生成);
  • 英文题名页 By / Supervisor / Assistant Supervisor 行;
  • 基金项目编号(可间接暴露课题组身份);
  • 正文中自指身份的表述(如"作者在×××课题组")。

盲审隐匿清单

规则检查项来源性质检查方式
R1作者/导师字段(\authorsupervisor= 等模板宏)校方通知原文script(AUTO 替换)
R1致谢章/致谢环境非空校方通知原文script(AUTO 替换)
R1全文姓名扫描(需 --author/--supervisor校方通知原文script(TODO + [LLM])
R2成果条目含姓名/成果名称/期刊页码校方通知原文script(TODO + [LLM])
R3声明/授权、封面字段、By/Supervisor 行、基金号、自指常见惯例,以学校通知为准script(INFO 提示)

Primary Command

bash
uv run python $SKILL_DIR/scripts/blind_review.py main.tex --check
  • --check:定位泄露点,输出 findings(默认动作;存在 HIGH 时退出码 1)。
  • --author 姓名 / --supervisor 姓名:提供后对全文可见文本扫描该姓名字符串 (含去空格变体);致谢/成果章内命中 HIGH,其他章 MEDIUM。不提供时跳过并在报告中提示。
  • --generate:生成盲审副本(详见下);--dry-run 只打印计划、零写盘; --suffix 自定义副本后缀(默认 _blind);目标副本已存在时须 --force 才覆盖(退出码 3)。

生成语义(--generate)

  1. 内部先跑 --check,findings 分为 AUTO(字段值、致谢正文)与 TODO(R2 条目、正文姓名句)。
  2. 受影响文件集合 = 含 AUTO/TODO finding 的源文件 ∪ 入口文件;每个受影响文件写同目录 <stem>_blind.tex 副本;副本中指向受影响文件的 \input/\include 同步改指 _blind 副本;未受影响文件不复制、引用不改。
  3. AUTO 替换(只发生在副本):字段值 → □□□(保留宏与花括号结构);致谢标题保留、 正文整块替换为"(盲审版本,致谢内容略)";每处替换点上一行插 % BLIND-AUTO(R1): 原内容已隐去
  4. TODO 项:副本内容原样保留,只在上一行插 % TODO-BLIND(R2|R1): <指引>;报告末尾汇总 全部 TODO 供 agent 逐条给出 diff 建议。
  5. 写盘后对所有源文件做内容哈希前后比对,报告末尾打印"原文件未改动"确认行。

红线:原文件永不修改;\cite/\ref/\label/数学环境在副本中与原文逐字一致 (致谢中若含这些受保护标记,自动替换降级为 TODO,内容原样保留);R2 成果条目脚本零改写, 不改变署名次序等事实。

Workflow(五步)

  1. check:跑 Primary Command;能拿到作者/导师姓名时加 --author/--supervisor 全文扫描。
  2. generate:先 --generate --dry-run 给用户看计划,确认后去掉 --dry-run 生成副本。
  3. LLM 改写成果条目:对每条 TODO-BLIND(R2),按 R2 原文给出改写 diff 建议(标注 [LLM]):保留本人署名次序(如"第一作者/第二作者")、期刊名称、年份,删除姓名、 成果名称和期刊页码。署名次序是事实,不得凭空推断——条目未标明本人位次时向用户确认。 TODO-BLIND(R1) 姓名句同理给出泛称化改写建议。
  4. 用户确认:diff 建议经用户确认后写入 _blind 副本(仍不碰原文件)。
  5. 复查:对 main_blind.tex 重跑 --check --author ... --supervisor ...,确认无 HIGH 残留;R3 项人工对照学校通知逐条决定。

R2 改写示例(改写前后对照)

改写前(副本中脚本只插 TODO 注释,条目原样):

latex
% TODO-BLIND(R2): 改写为 [n] 署名次序,期刊名称,年份(如:[1]第一作者,机械工程学报,2024)
\item 张三, 李四, 王五. 某某机构的某某研究[J]. 机械工程学报, 2024, 60(5): 100-110.

改写后(agent [LLM] 建议 + 用户确认落入副本;本人为第一作者时):

latex
\item 第一作者,机械工程学报,2024

(示例中的姓名/题名为占位虚构,仅演示格式。)

Output Contract

  • finding 行格式:% BLIND-REVIEW (源文件:L行号) [HIGH|MEDIUM|INFO] [P0|P1|P2] [Script]: R编号 说明
  • 脚本自动定位/替换标注 [Script];agent 的成果条目与姓名句改写建议标注 [LLM], 两者分开陈述,不得混淆。
  • R3 输出一律带"常见惯例,以学校盲审通知为准",不与 R1/R2 混排。
  • 生成模式报告必须包含副本清单、TODO 汇总与"原文件未改动"哈希确认行。

常见追问

  • "帮我生成盲审版论文" → 先 --check(带姓名参数),再 --generate --dry-run 确认计划, 然后生成;R2/姓名句按 Workflow 第 3-4 步给 [LLM] 建议。
  • "我们学校的盲审要求不一样" → R1/R2 是燕山大学通知原文;其他学校以其通知为准, 可让用户提供通知原文后按同一流程执行(勿把 R3 惯例当校方要求)。
  • 格式合规终检 → 走 spec-check 模块(两者互补:spec-check 管格式符合性, blind-review 管身份信息隐匿)。
  • 摘要/结论的规范性问题(骨架缺失、展望空话、结论抄摘要等)→ 走 abstract/conclusion 模块;这类问题命中盲审"规范性"维度(约 20% 权重,Info 级联动,具体口径以本校评审表为准), 与身份隐匿是两回事,不在本模块处理。

基于 MIT 许可发布