Back to skills
SKILL.md
Student Recommendation
ASecurity高校教师推荐信与证明材料全流程辅助:保研/考研推荐信、出国留学推荐信、求职实习推荐信、专家推荐(职称/项目评审/人才计划)、证明类文书(在职、参会、指导关系、经费)、会议邀请函与合作感谢信。核心方法是「先收素材再动笔」——没有具体事例就留占位,绝不用形容词填充;推荐强度必须与事实相符,不得拔高。当教师说「写封保研推荐信」「留学推荐信怎么写」「给这个学生写推荐」「这几个学生的推荐信别写重了」「开个在职证明」「写封会议邀请函」「帮我写封感谢信」「专家推荐意见怎么写」「实习推荐信」时使用。Triggers: 写封保研推荐信、留学推荐信怎么写、开个在职证明、写封会议邀请函、给这个学生写推荐、帮我写封感谢信、专家推荐意见怎么写、推荐信别写重了、实习推荐信、参会证明、指导关系证明、经费证明、人才计划推荐意见。
- 11 stars
- 0 votes
- 1 copy
- 1 view
- Added October 20, 2026
Works with
Security analysis
100/100Pro scans all 2 files and shows the line behind each finding
npx -y skills add EtherealMingo/university-teacher-skills --skill student-recommendation --agent claude-codeAre you the author of Student Recommendation?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/etherealmingo-student-recommendation)---
name: student-recommendation
description: "高校教师推荐信与证明材料全流程辅助:保研/考研推荐信、出国留学推荐信、求职实习推荐信、专家推荐(职称/项目评审/人才计划)、证明类文书(在职、参会、指导关系、经费)、会议邀请函与合作感谢信。核心方法是「先收素材再动笔」——没有具体事例就留占位,绝不用形容词填充;推荐强度必须与事实相符,不得拔高。当教师说「写封保研推荐信」「留学推荐信怎么写」「给这个学生写推荐」「这几个学生的推荐信别写重了」「开个在职证明」「写封会议邀请函」「帮我写封感谢信」「专家推荐意见怎么写」「实习推荐信」时使用。Triggers: 写封保研推荐信、留学推荐信怎么写、开个在职证明、写封会议邀请函、给这个学生写推荐、帮我写封感谢信、专家推荐意见怎么写、推荐信别写重了、实习推荐信、参会证明、指导关系证明、经费证明、人才计划推荐意见。"
---
# 推荐信与证明材料
> **Goal**:解决教师每年最耗神的一类写作——**每个学生都得单独写、不能套模板,
> 但挤在一起写就必然写成套话**。
>
> 本技能的做法是:动笔前先把「这个学生独有的事实」采集齐,用事例替代形容词,
> 用同一批学生之间的**区分度设计**替代模板复用,最后用机器把套话与雷同查出来。
>
> **产出是草稿,不是终稿。** 推荐信是**署名文书**——署的是教师本人的名字,
> 一旦失实,受损的是推荐人自己的学术信誉。所以:AI 只出草稿,
> 每一句事实性陈述都必须由教师通读确认后才能署名。
## 何时使用
- 「写封保研推荐信」/「给这个学生写推荐」(推荐信主流程)
- 「留学推荐信怎么写」/「英文推荐信帮我看看」(中英文体差异)
- 「实习推荐信」/「求职推荐信,要贴合岗位」(岗位匹配举证)
- 「专家推荐意见怎么写」/「职称评审的推荐意见」(同行专家推荐)
- 「开个在职证明」/「开个参会证明」/「写个指导关系证明」/「经费证明」(证明类文书)
- 「写封会议邀请函」/「请专家来评审的邀请函」/「写封合作感谢信」
- 「这几个学生的推荐信别写重了」(**同批区分度设计**,本技能最能省事的一环)
**不适用**:为学生代写个人陈述(PS/SOP)、代填网申表格、代写学生自荐信 ——
那是学生本人的文书,见「红线」第 6 条。
**与其他子技能的分工**(避免重复劳动,也别互相推诿):
| 诉求 | 走哪个技能 |
|---|---|
| 给学生本人写的推荐信、证明类文书、要盖章的正式邀请函/感谢信 | **本技能** |
| 首次邮件邀约、征稿通知、合作洽谈、催回复等**邮件往来** | `academic-correspondence` |
| 奖学金 / 评奖评优的**推荐意见** | `student-affairs` |
| 实习鉴定表、实习材料盖章与归档 | `internship-practice` |
| 学生论文的评语、答辩意见 | `thesis-supervisor` |
## 底座(禁止重写)
引用前均已 `ls` 验证存在。
| 路径 | 用途 |
|---|---|
| `skills/office-layer/` | **文件产出唯一通道**;docx / xlsx 全部从这里出 |
| `skills/office-layer/scripts/docx_kit.py` | `spec` 生成带**人工确认位**的推荐信、`md` 生成常规稿、`comment` 写 Word 原生核对批注、`inspect` 自检 |
| `skills/office-layer/scripts/xlsx_kit.py` | `build` 生成**素材采集表**(阶段一的核心工具) |
| `skills/awesome-benzi/references/LANGUAGE_MODEL.md` | **AI 味治理口径**,推荐信最怕写成模板,本技能套话清理直接引用其规则号 |
| `skills/awesome-benzi/references/EVIDENCE_MODEL.md` | 事实分级与未知项占位(`EV-FACT-*`、`EV-UNKNOWN-*`),防止写出无依据的溢美之词 |
| `skills/awesome-benzi/references/QUALITY_GATES.md` | 质量门与 `blocked` / `needs-review` / `advisory` 三级问题模型 |
| `skills/awesome-benzi/references/INPUT_MODEL.md` | `IN-QUESTION` 式一次性收集缺失信息(`question-batch`)的规则来源 |
| `THIRD_PARTY_NOTICES.md` | 底座溯源与许可证 |
| `skills/student-recommendation/scripts/cliche_scan.py` | **自建**:套话扫描 + 同批草稿雷同度检测(阶段五核心) |
## 前置信息收集(intake,一次性问完)
按 `INPUT_MODEL.md` 的 `question-batch` 思路,把下面这些**合并成一次提问**。不要边做边问。
| # | 要问什么 | 为什么必须问 | 缺省时怎么办 |
|---|---|---|---|
| 1 | **推荐类型** | 决定走哪套结构(保研/留学/求职/专家/证明/邀请) | 无法默认,必须问 |
| 2 | **目标院校 / 单位 / 用途** | 国内院校看中排名与保研资格,海外看中对比参照,企业看中岗位匹配 | 用通用结构并标注 |
| 3 | **学生基本信息** | 姓名、专业、年级、学号(学号只进内部文件,不出现在信中) | 留 `【待补:姓名】` |
| 4 | **已知素材** | 成绩单、项目书、获奖证书、论文、竞赛记录 —— 有则用,无则列缺口 | 列成缺口清单交学生填 |
| 5 | **是否有格式模板** | 学校/系统常有固定模板、字数上限、必答问题 | 按本技能通用结构,标注「非校方模板」 |
| 6 | **截止时间** | 决定先写哪封、是否分批 | 按最紧的排 |
| 7 | **中英文要求** | 是否要英文版、是否要中英双版、是否网申系统直接填写 | 默认中文 |
| 8 | **推荐强度(由教师定,不由学生定)** | 强推 / 推荐 / 有保留 —— 见「推荐强度分级」 | **不得默认强推** |
| 9 | **同批是否多人** | 决定是否启用「区分度设计」 | 多人时必做 |
**可直接发给学生的那一段**(学生填素材,比教师回忆可靠得多):
```
请把下面这些信息填好发我,越具体越好,能附材料就附材料:
1. 我教过你的课程名称、学期、你的总评成绩、班内大致排名(或问教务要排名证明)
2. 你在我这里参与过的项目/竞赛/毕设:名称、起止时间、你在里面具体负责哪一块
3. 你自己独立完成、且结果可验证的一件事(写了多少行代码/跑了多少组数据/修复了什么问题)
4. 一次你印象最深的、能体现你特点的场合(哪次答辩、哪次组会、哪次实验出问题)
5. 和目标院校/岗位相关的一段经历(如果有)
6. 你的目标单位、截止时间、要不要英文版
注意:以上信息必须是真实发生过的。推荐信造假是学术不端,会同时毁掉你和我的信誉。
```
## 工作流
### 阶段零 · 定类型与信息确认
- **输入**:教师一句话需求(如「给李明写封保研推荐信」)
- **动作**:按 intake 表一次性问完 9 项;先用安全默认值继续,不干等
- **输出**:需求确认单(复述:给谁、什么类型、给哪家、什么语言、何时交、有无模板)
- **退出条件**:9 项都有值(未提供的明确标「未提供,用默认值」),教师点头确认类型
### 阶段一 · 素材采集(**没有素材就不写**)
- **输入**:学生回填的素材 + 成绩单/项目书/证书等材料
- **动作**:
1. 按「素材采集表」逐项填,每条素材必须标**来源**(`user-confirmed` / `material-verified` / `【待补】`,口径见 `EVIDENCE_MODEL.md` 的 `EV-FACT-001`)
2. 生成 `素材采集表.xlsx` 与 `素材缺口清单.md`
3. 逐段检查:这一段的每个论点,有没有对应素材?
- **输出**:`素材采集表.xlsx`、`素材缺口清单.md`
- **退出条件**:拟写的**每个段落至少 1 条带来源的具体素材**。
达不到的段落降级为占位(`【待补:具体事例】`)——
**绝不允许用「学习刻苦、成绩优异」这类形容词把段落填满**(见「AI 味治理」)。
生成采集表:
```bash
PY="skills/office-layer/.venv/bin/python"
$PY skills/office-layer/scripts/xlsx_kit.py build \
--spec 素材采集表.json --out 素材采集表.xlsx
```
`素材采集表.json` 结构(已实测):
```json
{"sheets": [{"name": "素材采集表",
"header": ["编号", "素材项", "需要拿到什么", "来源", "对应段落", "状态"],
"rows": [
["1", "课程与成绩", "课程名/学期/学时/选课人数/总评/班内排名", "成绩单或教务记录", "学业表现", "待补"],
["2", "具体项目", "项目名/起止/学生角色/任务范围", "立项书或任务书", "科研或竞赛能力", "待补"],
["3", "一次具体事件", "某次答辩或组会中的某个亮点(含场景细节)", "教师回忆或学生自述", "性格与团队协作", "待补"],
["4", "对比参照", "与同届学生的相对位置(前 X% / 第几名 / 近五年指导的 N 人中)", "教师判断,须可追溯", "综合推荐强度", "待补"],
["5", "量化指标", "时长/次数/数据量/性能提升/名次/获奖等级", "材料或记录", "科研或竞赛能力", "待补"],
["6", "反面素材", "需要如实反映的短板或保留意见(有保留推荐必填)", "教师判断", "综合推荐强度", "待补"]
]}]}
```
**素材采集表必含六类**:① 课程与成绩 ② 具体项目 ③ 具体贡献(学生独立做了哪一块)
④ **一次具体事件**(某次答辩的某个亮点 —— 这是全信最有区分度的一段)
⑤ 对比参照 ⑥ 反面素材(有保留推荐时不能空)。
### 阶段二 · 推荐强度定级(**教师决定,AI 只列证据**)
- **输入**:填好的素材表
- **动作**:按「推荐强度分级」表列出**候选级别 + 支撑证据 + 缺失证据**;AI 不下结论
- **输出**:定级记录(级别 + 依据 + 尚缺证据)
- **退出条件**:教师在三个级别中**显式选定**。未选定不得进入起草。
**默认值是「推荐」,不是「强推」** —— 见「红线」第 3 条
### 阶段三 · 区分度设计(同批多人时**必做**)
- **输入**:同批各学生的素材表
- **动作**:一人一「标签」;核心事例去重;开篇关系去重(详见「区分度设计」)
- **输出**:`区分度对照表.md`(学生 × 核心事例 × 标签 × 开篇关系)
- **退出条件**:**没有两名学生共用同一核心事例**,且开篇的关系建立方式不重复
### 阶段四 · 起草
- **输入**:素材表 + 定级结果 + 区分度表 + 校方模板(若有)
- **动作**:
1. 按「六类信件写法」中对应类型的结构逐段写
2. 每写一句事实性陈述,都要能指回素材表编号;指不回去的**立刻改成占位**
3. 涉及评价与结论的段落,插入 `【待教师确认:…】`
4. 需要英文版时,不逐句直译,按「中英对照」的口径重写
- **输出**:`推荐信_<学生姓名>_draft.md`
- **退出条件**:段落级回溯检查通过 —— 每一段都能说出素材编号;
所有无素材句都已变为 `【待补:具体事例】`;占位**只增不减**(不得为了让文章通顺而删掉占位)
### 阶段五 · 套话与雷同清理
- **输入**:`draft.md`(同批多份一起给)
- **动作**:跑自建扫描脚本,逐条改写;同批雷同处逐一换成该生自己的事例
- **输出**:`套话与雷同报告.md` + 修订稿
- **退出条件**:套话命中清零(或教师显式接受某条并说明理由);
同批两两重合率 **< 0.10**(脚本判读口径);`blocked` 项必须清零
```bash
PY="skills/office-layer/.venv/bin/python"
$PY skills/student-recommendation/scripts/cliche_scan.py \
推荐信_李明.md 推荐信_王芳.md 推荐信_张野.md \
--out 套话与雷同报告.md
# 退出码 1 = 命中套话或雷同度过高,需改写后重跑;0 = 机器可判定项通过
```
### 阶段六 · 教师通读定稿(**强制,不可跳过**)
- **输入**:修订稿
- **动作**:
1. 用 `docx_kit.py comment` 把待核对项**锚在原文对应句上**,师资打开 Word 就能看到批注气球
2. 教师逐句核对每一处事实性陈述(分数、排名、项目角色、获奖名称、时间)
3. 教师 resolve 全部批注,签署姓名与日期
- **输出**:`推荐信_<学生姓名>_待教师定稿.docx`(含 Word 原生批注)
- **退出条件**:**教师本人通读完毕并逐句确认**,批注全部 resolve。
AI 不代签、不代按章、不代替教师做推荐决定
```bash
# 1) 常规稿(Markdown → DOCX,中文排版已处理)
$PY skills/office-layer/scripts/docx_kit.py md \
--in 推荐信_李明.md --out 推荐信_李明_初稿.docx --title "推荐信"
# 2) 把待核对项锚到原文(anchor 必须与正文逐字一致,含标点)
$PY skills/office-layer/scripts/docx_kit.py comment \
--in 推荐信_李明_初稿.docx --out 推荐信_李明_待教师定稿.docx \
--comments 核对.json --author "AI 草稿(待教师核对)"
# 3) 自检:段落数 / 批注数 / 字数是否符合预期
$PY skills/office-layer/scripts/docx_kit.py inspect --in 推荐信_李明_待教师定稿.docx
```
`核对.json`(anchor 也可以直接锚在 `【待补:…】` 占位上,效果最好,已实测 2/2 命中):
```json
[
{"anchor": "42 ms", "text": "【事实核对】请确认该测试数据来自实验记录,并注明测试环境。"},
{"anchor": "【待补:具体事例", "text": "【待补素材】此段必须有具体事例,不得用形容词填充。"}
]
```
> `comment` 找不到锚点会进 `failed` 并**以退出码 2 结束** —— 这个非零退出码不要忽略。
### 阶段七 · 交付与敏感数据处理
- **输入**:教师定稿的 docx
- **动作**:生成交付说明;列出所有 `【待补】` 与 `【待教师确认】` 位置;
提醒教师**删除中间文件**(转换产物、采集表内的学号与身份证号、批注草稿)
- **输出**:定稿 docx + `交付说明.md`
- **退出条件**:交付说明写明「本文件含学生个人信息,请注意保管」;
教师确认定稿中已无遗留占位
## 素材采集表(阶段一展开)
写信前先向学生/自己收集素材。**没有素材就不写**,宁可留占位。六类必采:
| 素材类 | 具体要拿到 | 好素材长什么样 | 烂素材长什么样 |
|---|---|---|---|
| 课程与成绩 | 课程名、学期、学时、选课人数、总评、班内排名或百分位 | 「《数据结构与算法》120 人选修,总评 96,班内第 2」 | 「成绩优异」 |
| 具体项目 | 项目名、起止、学生角色、任务范围 | 「大创项目,负责索引模块,独立实现」 | 「参加过项目」 |
| 具体贡献 | 学生**独立**完成的哪一块、用了什么方法、解决什么卡点 | 「把查询耗时从 42 ms 降到 6 ms」 | 「表现很好」 |
| **一次具体事件** | 某次答辩/组会/实验中的某个亮点,含场景细节 | 「答辩时评委追问索引退化,他当场画图说明分裂策略」 | 「深受师生好评」 |
| 对比参照 | 与同届的相对位置 | 「近五年我指导的 23 名本科生中排前三」 | 「非常优秀」 |
| 反面素材 | 需如实反映的短板 | 「长期独立研究需更多训练」 | (空白,却说强推) |
**来源分级**(照 `EVIDENCE_MODEL.md`):`user-confirmed`(教师确认)>
`material-verified`(有材料佐证)> `【待补:…】`。
`model-inference`(AI 推测)**不得当作学生事实写进信里**(`EV-FACT-004`)。
## 推荐强度分级
| 级别 | 适用情形 | 中文语言特征 | 英文语言特征 | 硬禁区 |
|---|---|---|---|---|
| **强推** | 有明确排名/量化证据,且教师愿意无条件背书 | 给出排序或百分位;「我愿意推荐他到任何一所学校」;不加条件状语 | `I recommend him without reservation`;`one of the top 5% of students I have taught` | 拿不出排序依据时**不得**使用 |
| **推荐** | 认可,但不宜作最强排序 | 「我推荐该生攻读贵校硕士研究生」;支持明确但不作横向排名 | `I recommend him with confidence`;`I am glad to support his application` | 不得加「无条件」「最优秀」 |
| **有保留推荐** | 有真实短板必须先讲清 | **显式写出保留内容与适用范围**:「在……方面尚需锻炼,但在……方面可以胜任」 | `I recommend him with the following caveat: …` | **不得把有保留写成强推** |
| **不推荐 / 拒绝出具** | 教师判断不宜背书 | 可礼貌拒出:「我与该生接触有限,难以作出有分量的评价」 | `I do not feel I can write a strong letter` | 不出具负面意见时,也不得改为正面虚构 |
**这是诚信问题,单独强调**:推荐强度必须与事实相符。
把「有保留」写成「强推」,或者把「了解有限」写成「非常熟悉」,
一旦目标单位复核(现在很多学校会回访推荐人),受损的是推荐人的学术信誉,
且可能被认定为学术不端。**宁可写得平实,也不要写得漂亮。**
如果教师拿不准,标准动作是:**列出三级候选 + 各自需要的证据,让教师选**,AI 不替教师选。
## 区分度设计:同一批学生怎么不写重
这是本技能省事最多、也最容易翻车的一环。三个人以上一起写,不设计就必然雷同。
**四个动作**:
1. **一人一标签**:给每个学生定一个**唯一**的核心差异点(不是优点,是差异点)。
例:甲=「自己找问题并解决」、乙=「把复杂事情讲清楚」、丙=「扛住高强度交付」。
2. **同一优点用不同事例表述** —— 这是核心方法:
| 优点 | 套话写法(禁止) | 学生甲的事例化 | 学生乙的事例化 |
|---|---|---|---|
| 学习能力强 | 学习能力强、基础扎实 | 3 周自学完课程未覆盖的凸优化前 5 章,并直接用于项目调参 | 两天内定位并修复了自己从未接触过的多线程竞态问题 |
| 抗压能力 | 吃苦耐劳、任劳任怨 | 竞赛答辩前 72 小时连续调试,最终按期提交 | 同期承担 3 门课的项目,仍按期交付全部模块 |
| 团队协作 | 团队协作能力强 | 主动接手队友未完成的模块,重写接口并补齐测试 | 组织 4 人分工,统一了代码规范,使合并冲突下降 |
| 表达沟通 | 沟通能力强 | 组会讲解论文时用一张图讲清对比基线,方案随即被采用 | 答辩中回答评委追问,当场画出索引分裂示意 |
| 动手能力 | 动手能力强 | 独立搭好实验平台,含数据采集与可视化全链路 | 把课程作业改造成可复用工具,被下一届继续使用 |
3. **开篇去重**:关系建立方式不能都一样。
可用的开篇关系:任课教师 / 毕业设计导师 / 学科竞赛指导 / 大创项目指导 /
班主任 / 实验室轮转 / 助教同事。**同批内每种关系只用一次**,自然就分开了。
4. **机器复核**:跑 `cliche_scan.py` 看两两重合率,`≥ 0.10` 逐对改写。
**诚实约束**:区分度设计是「**选不同的真实素材**」,不是「编造差异」。
如果两个学生确实高度相似,就换**证据维度**(一个写独立解决,一个写带动他人),
而**不是**给其中一个编一段没发生过的经历。
## 六类信件写法
### 1. 保研 / 考研推荐信(中文,600–1000 字,一页 A4 内)
按固定六段推进,**每段都要有具体事例,不许形容词堆砌**:
| 段 | 内容 | 必须写实的要素 | 反例(禁止) |
|---|---|---|---|
| 一 | **与被推荐人的关系与熟悉程度** | 课程名、学期、学时、选课人数;指导时长与频次 | 「我与该生很熟悉」 |
| 二 | **学业表现** | 具体课程 + 分数 + 排名/百分位 | 「成绩优异」 |
| 三 | **科研/竞赛能力** | 项目名、学生角色、方法、**量化结果**、卡点怎么解的 | 「有较强的科研潜力」 |
| 四 | **性格与团队协作** | **一次具体事件**(何时、何场合、做了什么、结果) | 「乐于助人、团结同学」 |
| 五 | **综合推荐强度** | 级别 + 排序依据 + 是否无条件 | 「强烈推荐」但无依据 |
| 六 | **联系方式** | 姓名、职称、单位、电话、邮箱、签名与日期 | 缺失(无法回访 = 可信度打折) |
**考研推荐信与保研的差别**:考研更侧重**学习能力、自学能力与方向匹配度**(因为要考),
可以写他自学了哪些考研范围外的内容、为什么选这个方向;
保研更侧重**已完成的科研训练与可塑性**,要有项目实证。
### 2. 出国留学推荐信(英文,400–600 words,一页)
结构:`Relationship & context` → `Academic performance` → `Research ability` →
`Personal qualities` → `Overall recommendation with ranking` → `Contact`。
**中英文体差异(必须照做)**:
| 维度 | 中文推荐信 | 英文推荐信 |
|---|---|---|
| 开篇 | 可先交代身份背景 | **第一段就要给出定位与关系强度**(`I have taught X for two years in a class of 120`) |
| 评价方式 | 可有整体性评价 | 忌整体性道德评价,**只给行为与结果** |
| 参照 | 常省略 | **必须有对比参照**:`ranked 2nd out of 120`、`top 5% of students I have taught` |
| 形容词 | 四字格可行(但要少) | **忌三连形容词**(`diligent, hardworking and helpful` 一律改写) |
| 量化 | 有则加分 | **近乎必须**:分数、名次、样本量、性能提升 |
| 长度 | 600–1000 字 | 400–600 words,**更短更直接,一段一个主张** |
| 时态 | 不涉及 | 叙述具体事实用过去时,给判断用现在时 |
| 落款 | 姓名+职称+单位+联系方式 | 同左,另注意网申系统要填推荐人邮箱(通常是**单位邮箱**) |
**留学推荐信常见硬伤(逐条自查)**:
① 中式赞美直译(`studies hard`、`noble character`)② 无对比参照
③ 复述成绩单(推荐信不该重复 CV 里已有的信息,要提供 CV 里没有的判断)
④ 形容词密度过高而事实为零 ⑤ 一段里塞三个主张 ⑥ 全信没有一处量化。
### 3. 求职推荐信 / 实习推荐信(300–500 字)
**核心是岗位匹配的能力举证**。做法:先把 JD 拆成能力项,再逐项找素材。
| JD 要求 | 学生对应素材 | 信中的举证句 |
|---|---|---|
| 熟悉 Python 数据处理 | (素材编号 3) | 「他用 pandas 处理过 10 万条日志,把清洗脚本从 40 分钟优化到 3 分钟」 |
| 有团队协作经验 | (素材编号 5) | 「在 4 人项目中负责接口层,主动合并了队友的两个冲突模块」 |
| 能承受项目节奏 | (素材编号 7) | 「竞赛前 72 小时连续调试并按期提交」 |
**找不到素材的 JD 项,留 `【待补:与 X 相关的经历】`,不要硬编。**
实习推荐信更短,重点写**可迁移能力**(学习速度、交付习惯、沟通),不必铺开学术表现。
### 4. 专家推荐(职称评审、项目评审、人才计划)
**同行专家推荐与师生推荐的写法差异**:
| 维度 | 师生推荐 | 专家推荐 |
|---|---|---|
| 推荐人定位 | 师长视角,评价学习与潜力 | **同行视角**,评价学术水平与成果价值 |
| 必须先立住资质 | 不必 | **必须**:本人研究方向、与申请人的学术关系、为何有资格评价 |
| 评价对象 | 学业表现 + 人品 | **学术贡献与学术判断**,不评价「人好不好」 |
| 语气 | 赞赏与期许 | **平级同行的专业判断**,克制、可证伪 |
| 对比参照 | 与同届学生比 | 与**同领域同龄学者**比 |
| 利益冲突 | 一般不写 | 模板有要求时**必须声明**(同单位、合作者、师生关系) |
| 结论句 | 推荐强度 | 明确的「推荐意见」结论句 + 逐项评分(若模板有) |
红线:**不得替申请人拔高成果等级**。「国际领先」「填补空白」这类表述
只有在能指回已核实证据、且限定对象/时间/范围时才允许克制使用(`LANGUAGE_MODEL.md` 的 `WR-STYLE-013`),
否则降级为「该成果在……方面有所推进」。
### 5. 证明类文书(在职、参会、指导关系、经费)
**格式规范与要素齐全**是全部要求。统一骨架:
```
标题(在职证明 / 参会证明 / 指导关系证明 / 经费证明)
抬头(致 XX 单位 或 To Whom It May Concern)
被证明人身份要素(姓名、工号/学号、单位、身份或职务)
证明事项(一句话讲清证明什么)
事实依据(依据什么材料或记录)
落款(单位名称、盖章、日期、经办人及联系方式)
```
各类要素表:
| 类型 | 必含要素 |
|---|---|
| **在职证明** | 姓名、身份(在职/在读)、起止时间、职务或岗位、在职状态、用途(如签证、贷款、报考) |
| **参会证明** | 会议全称、时间、地点、参会形式(口头报告/海报/主持/评审)、报告题目、主办单位 |
| **指导关系证明** | 指导教师、学生姓名、指导起止时间、指导内容(竞赛/毕设/大创)、项目名称与编号 |
| **经费证明** | 项目名称、项目编号、经费来源、金额、用途范围、是否已支出、支出区间 |
红线:证明类文书**只能证明依据范围内的事**。
没有学籍记录就不能开在读证明;没有项目立项书就不能写项目编号。
身份证号、银行账号等敏感项**只在用户明确要求且确有必要时出现**,并在交付说明里提示保管。
### 6. 邀请函 / 感谢信
**学术会议邀请函**:抬头(尊敬的 XX 教授)→ 受邀人身份与学术地位 →
会议名称/时间/地点 → 邀请事由与承担职责(主旨报告/分会主持/评审专家)→
费用说明(差旅、讲课费由谁承担 —— **必须写清,否则对方无法答复**)→
回执要求与截止日期 → 联系方式 → 落款与盖章。
**专家邀请函**(评审用)另需:评审范围与工作量、**保密要求**、
**回避要求**、报酬或致谢方式、联系人。
**合作感谢信**:具体感谢什么(**不能只写「感谢支持」**)→ 对方的具体贡献 →
对自己工作的实际影响 → 落款。
红线:**不得虚构未发生的合作内容**;感谢信里的每一件事都必须是真实发生的。
## 中英对照
**示例**(同一段事实,中文与英文的写法差异):
> **中文(保研推荐信 · 学业表现)**
> 李明是我在 2024 年春季学期《数据结构与算法》(72 学时,选课 120 人)课程的学生,
> 也是我指导的大学生创新训练项目成员,前后接触约 14 个月。该课程他总评 96 分,班内排名第 2;
> 项目里他负责索引模块,独立完成了基于跳表的索引结构实现。
> **英文(留学推荐信 · Academic performance)**
> I taught Li Ming in Data Structures and Algorithms (Spring 2024, 120 students). He finished the
> course ranked 2nd out of 120 with a score of 96. I have also supervised him for 14 months on an
> undergraduate research project, where he independently implemented a skip-list-based index.
**差异说明**:
1. **定位前置**:英文第一句就把「谁的课、多少人」给出,让参照系立刻成立;中文可以稍后补。
2. **排名与人数绑写**:英文必须 `2nd out of 120`,不能只写 `ranked 2nd`(没有分母就没有参照)。
3. **忌整体评价**:中文可写「表现突出」,英文**删掉**,直接给分数与名次。
4. **少用形容词**:中文「独立完成」可保留为 `independently implemented`,
但不要叠加成 `independently, diligently and successfully`。
5. **时态分工**:`I taught` / `He finished` 用过去时(具体事实);
`I recommend` / `He is` 用现在时(当下判断)。
6. **不逐句直译**:中英不是互译关系,是**两封不同的信**。字数、段落节奏、
强调重点都要重新安排(英文更短、更直接)。
**反例对照**:
| 中文套话 | 错误直译(中式英文) | 应该改成 |
|---|---|---|
| 该生学习刻苦,成绩优异,乐于助人 | `This student studies hard, has excellent grades, and is willing to help others.` | `He ranked 2nd out of 120 in my course with a score of 96, and spent two weeks helping a classmate debug her project.` |
| 该生品学兼优 | `This student is excellent in both character and learning.` | 删。拆成一条成绩事实 + 一次具体协作事件 |
| 该生综合素质高 | `The student has high overall quality.` | 改为 2–3 项可举证能力,每项配事例 |
| 我强烈推荐 | `I very strongly recommend him!!!` | `I recommend him without reservation; he ranks among the top 5% of students I have taught.` |
## AI 味治理:推荐信最该删的套话
直接引用 `skills/awesome-benzi/references/LANGUAGE_MODEL.md` 的口径。
**判定一条通用判据 —— 「名字替换测试」**:
把这句话里学生的名字换成**任意一个学生**,如果句子仍然成立,**这句话就没有信息量,删掉**。
> 「该生学习刻苦、成绩优异、乐于助人。」→ 换成任何一个学生都成立 → **零信息量,删**。
**推荐信里最该删的套话清单**(完整词表与逐条改法见
`skills/student-recommendation/scripts/cliche_scan.py`,机器可直接扫):
| 类别 | 典型句子 | 依据 | 改法 |
|---|---|---|---|
| 零信息量评价 | 该生学习刻苦、成绩优异、乐于助人;品学兼优;综合素质高;表现突出;深受师生好评 | `WR-STYLE-024` 空泛判断 | 换成具体事例 + 数字 |
| 无据能力断言 | 具有较强的科研潜力;有较强的创新能力;基础扎实;动手能力强 | `WR-STYLE-024` | 换成本人已完成的动作与结果 |
| 礼节性填充 | 尊敬师长、团结同学、乐观开朗、积极向上 | 与能力无关且不可核验 | 直接删 |
| 无信息转承 | 值得注意的是、综上所述、总而言之、众所周知、不难发现、由此可见、不言而喻 | `WR-STYLE-010` | 删 |
| 简报与营销腔 | 赋能、抓手、闭环、底层逻辑、颗粒度、倒逼、深耕、助力、形成合力、全面提升 | `WR-STYLE-011` | 删,或改为直述做了什么 |
| 夸张副词 | 极其、极为、非常、最优秀、无人能及、天才、完美、无可挑剔、首屈一指 | `WR-STYLE-016` / `WR-STYLE-017` | 改为可核验的比较级 |
| 无据拔高 | 国际领先、世界一流、填补空白、开创性、史无前例 | `WR-STYLE-013` | 降级为「在……方面有所推进」,并限定范围 |
| 聊天残留 | 下面我将、以下是为你、希望对你有帮助、如需我继续 | `WR-STYLE-012` | 删 |
| 格式噪音 | 感叹号、连续三个句子同一开头、机械「首先…其次…最后…」 | `WR-STYLE-015` / `WR-STYLE-020` / `WR-STYLE-014` | 改为长短句交替的平实叙述 |
**机器清理**(阶段五):
```bash
$PY skills/student-recommendation/scripts/cliche_scan.py 推荐信_李明.md 推荐信_王芳.md \
--out 套话与雷同报告.md
```
输出三部分:**套话命中明细**(逐条给改法)、**同批雷同度**(两两重合率 + 判定)、
**名字替换测试候选句**。退出码 1 表示需要改写后重跑。
> 机器只做**可判定**的部分。通过不等于合格 ——
> 事实核验与推荐强度定级**必须由教师完成**。
## 产出物
| 文件 | 内容 | 生成方式 |
|---|---|---|
| `素材采集表.xlsx` | 六类素材 + 来源 + 对应段落 + 状态 | `xlsx_kit.py build` |
| `素材缺口清单.md` | 还缺哪些事实,需向学生索要 | 手写 |
| `区分度对照表.md` | 同批学生 × 核心事例 × 标签 × 开篇关系 | 手写 |
| `推荐信_<姓名>_draft.md` | 草稿,含全部 `【待补:…】` | 手写 |
| `套话与雷同报告.md` | 套话命中 + 雷同度 + 替换候选 | `cliche_scan.py` |
| `推荐信_<姓名>_初稿.docx` | 排版稿 | `docx_kit.py md` |
| `推荐信_<姓名>_待教师定稿.docx` | **含 Word 原生核对批注**,教师逐条 resolve | `docx_kit.py comment` |
| `推荐信_<姓名>_EN_draft.docx` | 英文版(需英文时) | `docx_kit.py md` |
| `证明_<类型>_<姓名>.docx` | 证明类文书,要素齐全 | `docx_kit.py spec` |
| `邀请函_<会议名>.docx` / `感谢信_<对象>.docx` | 对外文书 | `docx_kit.py md` |
| `交付说明.md` | 占位清单 + 敏感信息提示 + 定稿指引 | 手写 |
`spec` 模式可留**人工确认位**(`placeholder` 字段会在该节末尾输出斜体提示行,已实测):
```json
{"title": "推荐信",
"subtitle": "(初稿·AI 起草,未经教师定稿不得使用)",
"sections": [
{"heading": "一、与被推荐人的关系与熟悉程度",
"paras": ["我指导【待补:学生姓名】共【待补:月数】个月……"]},
{"heading": "五、综合推荐强度",
"paras": ["【待教师确认:推荐强度 = 强推 / 推荐 / 有保留推荐】"],
"placeholder": "【待教师确认:上述每一句事实性陈述是否属实;确认后方可署名】"}
]}
```
## 红线
1. **绝不虚构学生的经历、成果、排名、事迹。**
推荐信造假是**严重学术不端**,且会**连累推荐人信誉**(署名的是教师本人,
目标单位回访推荐人是常规操作)。凡是素材表里没有的事实,一个字都不写。
2. **没有具体素材时留 `【待补:具体事例】`,不得用形容词填充。**
「该生学习刻苦、成绩优异」这类句子在信息量上等于空白,
而它制造了「已经写了」的假象,比留白更危险。
3. **推荐强度必须与事实相符,不得拔高。**
不得把「有保留推荐」写成「强推」;不得把「了解有限」写成「非常熟悉」;
不得在无排序依据时写「最优秀」。**这是诚信问题。**
4. **学生个人信息本地处理。** 成绩、学号、身份证号、联系方式只在本机使用,
不上传、不外发;中间文件(采集表、转换产物、批注草稿)在任务结束后提醒教师删除;
交付说明里必须写明「本文件含学生个人信息,请注意保管」。
5. **推荐信是署名文书,教师本人必须通读并定稿,AI 只出草稿。**
必须明确要求教师**逐句确认每一处事实性陈述**(分数、排名、角色、获奖名称、时间)。
AI 不代签、不代按章、不代替教师作出推荐决定。
6. **不代写学生本人的文书。** 个人陈述(PS/SOP)、自荐信、简历正文
是学生自己的材料,一律不写、不润色成「学生口吻的成品」。
7. **不伪造签章、日期与文号。** 证明类文书只出正文草稿,盖章与编号由单位办理;
没有依据的记录(未立项的项目编号、未开具的证明事项)一律留占位。
8. **证明类文书不得超出依据范围下结论。**
没有学籍记录不开在读证明,没有立项书不写项目编号。
9. **不替代教师的判断。** 推荐强度、是否出具、如何写保留意见,全部由教师决定;
AI 只负责列证据、出草稿、查套话。
## 自检清单
交付前逐项过:
- [ ] intake 九项是否**一次性问完**(推荐类型/目标单位/学生信息/已知素材/模板/截止/语言/强度/同批人数)
- [ ] 素材采集表是否六类齐全,每条素材是否标了**来源**
- [ ] 是否**存在无素材的段落**?如有,是否已留 `【待补:具体事例】` 而**没有**用形容词填充
- [ ] 推荐强度是否为**教师显式选定**(而不是默认成「强推」)
- [ ] 同批多人时,是否做了**区分度设计**,核心事例有无重复
- [ ] `cliche_scan.py` 是否跑过;套话命中是否清零;同批重合率是否 < 0.10
- [ ] 每一段是否都能**回溯到素材编号**(无来源句是否已占位)
- [ ] 中英文要求是否满足;英文版是否是**重写**而非逐句直译;是否有对比参照与量化
- [ ] 信件是否**六要素齐全**(保研类:关系/学业/科研/性格/强度/联系方式)
- [ ] 是否用 `docx_kit.py comment` 把待核对项锚到了原文
- [ ] 是否 `inspect` 过(段落数/批注数/字数符合预期)
- [ ] **教师是否已通读并逐句确认每一处事实性陈述**(未确认不得交付为定稿)
- [ ] 交付说明是否写明「含学生个人信息,请注意保管」与中间文件删除提醒
- [ ] 是否明确告知教师「**这是初稿,请重点核对分数、排名、项目角色、获奖名称、时间**」
Files in this skill
- SKILL.md
- scripts/cliche_scan.py
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.