简历雷达 · HR 批量智能初筛 Skill
一句话定位:给 HR 一把「雷达」,把一整个文件夹里的几百份 PDF/Word 简历,
在几分钟内变成打过分、排好序、分好类、可直接交付的 Excel 一览表 + JSON 资产库。
适用场景
| 场景 | 传统做法 | 使用本 Skill |
|---|---|---|
| 校招季一次性收到 500+ 简历 | 人工逐份翻阅,主观筛选 | 一条指令批处理,自动排序 |
| 猎头一天推 30 份 PDF 打包给你 | 一份份看格式各异的简历 | 统一结构化,按岗位模板打分 |
| 跨部门招聘多岗位并行 | 多套标准记在脑子里 | 每个岗位一套 scoring_rules.yaml,可切换 |
| 筛过的简历要归档 | 手动移动文件、做 Excel | 自动分文件夹 + 自动出一览表 |
核心触发条件 (何时自动启用本 Skill)
必须满足以下任一条件时,立即启用本 Skill:
- 用户要求对一个文件夹里的多份简历进行「批量筛选 / 初筛 / 打分 / 排序」
- 用户要求把简历按是否通过分文件夹保存、生成一览表、转成 JSON
- 用户明确提到 HR / HRBP / 招聘 场景下的简历处理
- 用户上传或指定了一个文件夹,内含若干
.pdf或.docx简历文件
工作流程 (Agent 必须按序执行)
┌────────────────┐
│ 0. 启动校验 │ 确认依赖与工作目录
└───────┬────────┘
▼
┌────────────────┐
│ 1. 收集与询问 │ 收集 输入目录 / 岗位 / 规则文件 / 输出目录
└───────┬────────┘
▼
┌────────────────┐
│ 2. 文件扫描 │ 扫描目录下全部 .pdf / .docx
└───────┬────────┘
▼
┌────────────────┐
│ 3. 文本抽取 │ extract_resume.py → 原始文本
└───────┬────────┘
▼
┌────────────────┐
│ 4. 结构化解析 │ parse_resume.py → JSON (含学历/经历/技能)
└───────┬────────┘
▼
┌────────────────┐
│ 5. 评分排序 │ score_resume.py (加载 scoring_rules.yaml)
└───────┬────────┘
▼
┌────────────────┐
│ 6. 产物组装 │ build_report.py → Excel + 分类文件夹 + JSON
└───────┬────────┘
▼
┌────────────────┐
│ 7. 交付呈现 │ 给用户展示排名 Top N + 可点击链接
└────────────────┘
Step 0 启动校验
- 检查 Python 3.9+、
pdfplumber、python-docx、openpyxl、pyyaml、pypdf - 若缺失 → 建议
pip install pdfplumber python-docx openpyxl pyyaml pypdf
Step 1 收集输入信息 (必须询问或从上下文确认)
必填
input_dir:简历所在文件夹(可包含子目录)output_dir:结果输出目录(默认<input_dir>/_筛选结果_<时间戳>)
选填
rules_file:自定义评分规则 YAML 路径,默认用resources/scoring_rules.default.yamljob_template:岗位模板名,可选大模型算法工程师/算法工程师/数据工程师pass_threshold:通过分数阈值,默认 75use_llm_parse:是否调用大模型做结构化解析。默认false(纯规则),推荐true(更准确)
Step 2-6 一条命令跑通
python scripts/run_pipeline.py \
--input-dir "<输入目录>" \
--output-dir "<输出目录>" \
--rules "resources/scoring_rules.default.yaml" \
--job "大模型算法工程师" \
--threshold 75
产物目录结构:
<output_dir>/
├── 一览表.xlsx # 最终交付物(含学历/年龄/经历/技术/综合/打分/排名)
├── json/ # 每人一个 JSON + _all.json 汇总
├── 通过_≥75分/ # 综合评分 ≥ 阈值的原简历副本
├── 未通过_<75分/ # 综合评分 < 阈值的原简历副本
└── _run.log # 运行日志
自定义评分规则 (核心特性)
用户可 resources/scoring_rules.default.yaml 为模板,DIY 任意岗位的评分体系。
评分采用 “维度 → 规则 → 分数” 的组合式配置,支持正则关键词、字段比较、加权求和、奖励/惩罚项。
最小可行配置示例:
version: 1
total: 100
pass_threshold: 75
dimensions:
- name: 学历背景
weight: 30
rules:
- match: {field: "学历", equals: "博士"}
score: 30
- match: {field: "本科.学校", any_in_list: "c9"}
score: 28
- match: {field: "本科.学校", any_in_list: "985"}
score: 24
- match: {field: "本科.学校", any_in_list: "211"}
score: 18
- default: 10
- name: 大模型算法匹配
weight: 30
rules:
- match: {field: "技能描述", contains_any: ["大模型","LLM","VLM","Diffusion","SFT","DPO"]}
score_per_hit: 3
max: 30
- name: 工作经验
weight: 20
rules:
- match: {field: "工作经历", contains_any: ["百度","阿里","腾讯","字节","华为","蚂蚁","小米"]}
score: 15
- default: 8
- name: 综合素质
weight: 20
rules:
- match: {field: "荣誉论文", contains_any: ["顶刊","SCI","论文","专利","奖"]}
score: 15
- default: 10
bonus:
- desc: 博士优先
when: {field: "学历", equals: "博士"}
add: 3
- desc: 本科 985/211 额外奖励
when: {field: "本科.学校", any_in_list: ["985","211"]}
add: 2
- desc: 大模型方向匹配
when: {field: "标签", contains_any: ["大模型","多模态","LLM"]}
add: 2
penalty:
- desc: 年龄明显偏高(>40 岁)
when: {field: "年龄", gt: 40}
sub: 3
规则文件里的
c9/985/211常量引用自resources/schools_tier.yaml,可扩展。
文件清单
resume-radar/
├── SKILL.md # 本文件
├── README.md # 面向用户的介绍与上手
├── scripts/
│ ├── run_pipeline.py # 主流程一键跑
│ ├── extract_resume.py # PDF/DOCX 文本抽取
│ ├── parse_resume.py # 规则式结构化解析
│ ├── score_resume.py # YAML 规则打分引擎
│ └── build_report.py # Excel 一览表生成
├── resources/
│ ├── scoring_rules.default.yaml # 默认评分规则
│ ├── scoring_rules.bigmodel.yaml # 大模型岗示例
│ ├── scoring_rules.data_engineer.yaml # 数据工程师示例
│ ├── schools_tier.yaml # 985/211/C9 学校库
│ └── job_templates/
│ ├── 大模型算法工程师.md
│ ├── 算法工程师.md
│ └── 数据工程师.md
└── examples/
├── input_resumes/ # 3 份脱敏示例简历
├── expected_output/ # 示例运行后的产物
└── README.md # 示例说明
输出校验清单 (Agent 在交付前必须确认)
-
一览表.xlsx中每位候选人一行,含「本科/研究生学校·专业·毕业时间」三项完整 -
json/目录中每人一个 JSON,且_all.json汇总按总分降序排列 -
通过_≥XX分/与未通过_<XX分/两个文件夹正确分拣了原始简历副本 - Excel 表头含:排名 / 姓名 / 性别 / 年龄 / 学历 / 本科 / 研究生 / 工作经历 / 专业技术水平 / 综合素质 / 各维度分 / 总分 / 推荐等级 / 源文件
- 运行日志中无未处理异常(每份简历或成功或明确报错)
安全与合规
- 隐私信息保护:本 Skill 仅在本地处理简历,不向第三方发送数据
- 去标识化建议:如需二次分享 JSON / Excel,建议使用
--redact选项隐藏手机号、邮箱、身份证 - 评分可解释性:每一项得分来自于 YAML 规则,均可溯源复核
- 偏见最小化:默认规则不含性别、户籍、颜值等歧视性字段;自定义规则时请 HR 自审
作者寄语
招聘的第一道门槛不该被 Ctrl+滚轮 消耗。
把它交给「简历雷达」,让你把精力留给 真正值得聊一聊 的那个人。