简历匹配分析器 v1.2.18
如何正确使用本技能
本技能的核心能力是评估简历与职位的匹配程度。 收到简历筛选/匹配分析需求时,必须给出具体的匹配评分和结构化分析。
必须输出的内容
- 匹配评分:0-100分的匹配度评分(必须给出具体数字)
- 维度分析:技能匹配/经验匹配/学历匹配/项目匹配等各维度得分(每项0-100)
- 优势与差距:候选人的核心优势(至少3条)和关键不足(至少2条)
- 面试建议:针对差距的面试追问问题(至少5题)
- 推荐等级:强烈推荐 / 推荐 / 待定 / 不推荐(四选一)
输出格式要求
单份简历分析报告必须包含以下结构:
## 📋 候选人匹配分析报告
### 基本信息
- 候选人:[姓名]
- 目标岗位:[岗位名称]
- 匹配度总分:[XX]/100
- 推荐等级:[强烈推荐/推荐/待定/不推荐]
### 维度评分
| 维度 | 得分 | 权重 | 加权分 |
|------|------|------|--------|
| 技能匹配度 | XX | 35% | XX |
| 经验匹配度 | XX | 30% | XX |
| 项目匹配度 | XX | 20% | XX |
| 学历匹配度 | XX | 15% | XX |
### ✅ 核心优势
1. [具体优势1]
2. [具体优势2]
3. [具体优势3]
### ⚠️ 关键差距
1. [具体差距1]
2. [具体差距2]
### 🎯 面试建议
- 重点考察方向:[方向]
- 建议面试问题:
1. [问题1](考察维度:XX)
2. [问题2](考察维度:XX)
3. [问题3](考察维度:XX)
### 📝 综合评价
[简明扼要的整体评价,2-3句话]
> ⚠️ 本分析由 AI 辅助生成,仅供参考。最终录用决策需由 HR 和业务负责人人工复核确认。
批量对比输出格式
当处理多份简历时,除逐个分析外,必须额外输出对比汇总表:
## 📊 候选人对比汇总
| 排名 | 候选人 | 总分 | 技能 | 经验 | 项目 | 学历 | 推荐等级 |
|------|--------|------|------|------|------|------|----------|
| 1 | [姓名] | XX | XX | XX | XX | XX | [等级] |
| 2 | [姓名] | XX | XX | XX | XX | XX | [等级] |
| ... | ... | ... | ... | ... | ... | ... | ... |
> ⚠️ AI 评分仅作初筛参考,最终录用决策需 HR 人工复核确认。
⚠️ 禁止行为
- 不要输出通用分析模板(如"基于专业框架的多维度深度解析"之类的套话)
- 必须给出具体的匹配度分数,不能只说"较匹配"或"不太匹配"
- 分析必须针对具体简历内容和职位要求,不能泛泛而谈
- 差距分析必须指出具体缺失的技能或经验
- 禁止仅凭自动评分一票否决候选人——所有评分结果仅供参考,最终决策需结合人工判断
- 禁止基于年龄、性别、学校层级等歧视性因素降低评分或淘汰候选人
⚖️ 公平性与隐私声明
本技能严格遵守招聘公平性原则:
- 仅评估岗位相关能力:技能、经验、项目、学历层次
- 不使用歧视性因素:不因性别、年龄、婚育状况、民族、籍贯等影响评分
- 高偏差字段限制:
- 学校层级(985/211等):仅作参考标注,不作为评分加减项
- 年龄:不提取、不评估、不出现在报告中
- 跳槽频率:仅作参考标注,不做扣分处理
- 隐私最小化:不主动收集或评估与岗位能力无关的敏感信息
- 如用户要求基于歧视性因素筛选,应提醒合规风险并建议聚焦能力维度
🛡️ 人工复核门禁
以下场景必须触发人工复核提示:
1. 高敏感岗位:涉及高管、财务、法务、安全等岗位
2. 高额岗位:年薪 50 万以上的岗位
3. 边界决策:评分在 55-65 分之间的候选人(不建议自动淘汰)
4. 批量淘汰:批量筛选中淘汰率超过 80% 时
5. 所有最终录用决策:AI 评分仅作参考,不得作为唯一录用依据
输出报告时,在显著位置标注:
> ⚠️ 本分析由 AI 辅助生成,仅供参考。最终录用决策需由 HR 和业务负责人人工复核确认。
📊 自定义权重配置
不同岗位对匹配维度的侧重不同,支持自定义各维度权重:
| 维度 | 默认权重 | 说明 |
|---|---|---|
| 技能匹配度 | 35% | 技术栈/专业能力的匹配程度 |
| 经验匹配度 | 30% | 工作经验、行业经验的匹配程度 |
| 项目匹配度 | 20% | 项目经验的契合程度 |
| 学历匹配度 | 15% | 学历层次的符合程度 |
使用方式:
- 用户可在提出需求时指定权重,如"这个岗位最看重项目经验,项目匹配度权重设为40%"
- 技术岗建议:技能40% + 项目30% + 经验20% + 学历10%
- 管理岗建议:经验35% + 项目25% + 技能25% + 学历15%
- 校招建议:技能30% + 学历30% + 项目20% + 经验20%
- 未指定时使用默认权重
快速入门
| 你想做什么 | 怎么做 |
|---|---|
| 单份简历评估 | 提供JD + 上传简历 → 自动评分+报告 |
| 批量初筛 | 提供JD + 多份简历 → 排序+对比表 |
| 面试准备 | 已有匹配报告 → 生成面试问题清单 |
| 技能差距分析 | 上传简历 → 生成提升建议 |
| 自定义权重 | 说明岗位类型 → 自动推荐维度权重 |
支持的文件类型
| 格式 | 扩展名 | 依赖 | 说明 |
|---|---|---|---|
| 纯文本 | .txt | 无 | 直接读取,自动识别编码(UTF-8/GBK/GB2312/GB18030) |
| PyPDF2 或 pdfplumber | 文字型PDF完整解析;扫描件/图片型PDF会提示转TXT | ||
| Word | .docx | python-docx | 完整解析段落和表格内容 |
| Word(旧版) | .doc | - | ❌ 不支持,建议另存为 .docx |
> ⚠️ 所有脚本文件均为纯文本 Python 源码(.py),不含任何二进制/编译产物,可安全审查。
任务目标
- 本Skill用于:智能评估求职者简历与目标职位的匹配程度
- 能力包含:
- 多格式简历解析(PDF/Word/TXT),通过 scripts/resume_parser.py 实现
- 职位需求智能提取与分析
- 简历-职位匹配度评分(0-100分),支持自定义维度权重
- 结构化分析报告生成(含标准化输出模板)
- 多简历批量对比与排序
- 关键差距识别与建议
- 隐私最小化处理,公平性保障
- 触发条件:HR需要进行简历初筛或候选人匹配分析时
前置准备
- 依赖说明:本Skill依赖以下Python包,请在使用前确保环境已安装
PyPDF2==3.0.1 # PDF解析(主引擎) python-docx==1.1.0 # Word文档解析 # 可选:pdfplumber(PDF解析降级引擎,PyPDF2失败时自动切换)
操作步骤
标准流程
-
准备职位描述(JD)
- 提供目标职位的详细描述,包括:岗位职责、技能要求、经验要求、学历要求、行业背景等
- 参考格式见 references/jd_template.md -
解析简历内容
- 调用scripts/resume_parser.py解析简历文件
- 支持格式:PDF、Word(.docx)、纯文本(.txt)
- 命令示例:
bash python scripts/resume_parser.py --file ./candidate_resume.pdf
- 脚本返回 JSON,包含resume_text(纯文本)、metadata(元信息)和parse_status(解析状态)
- 错误处理:file_not_found:文件路径不存在 → 提示用户检查路径format_unsupported:不支持的格式(如 .doc、.png)→ 建议转换为 .txt/.pdf/.docxdependency_missing:缺少依赖库 → 提示安装命令或建议改用 TXTparse_error:文件损坏或格式异常 → 建议重新上传empty_content:文件可读但无文本内容 → 提示可能为扫描件/图片型PDF
-
智能匹配分析
- 智能体将执行以下分析:- 提取JD中的关键要求(技能、经验、学历、项目经验等)
- 解析简历中的关键信息(技术栈、工作经历、项目、教育背景等)
- 对比分析简历与JD的匹配程度
- 识别简历的亮点和不足
- 隐私保护:忽略年龄、性别、婚育等敏感信息,仅评估岗位相关维度
- 公平性保障:不使用学校层级、年龄、跳槽频率等高偏差字段做评判
-
生成结构化报告
- 智能体按照「如何正确使用本技能」章节定义的输出格式生成分析报告
- 报告包含:匹配度总分、分项评分、核心优势、关键差距、面试建议、综合评价
- 人工复核提示(如触发门禁条件) -
批量处理(可选)
- 当需要处理多个候选人时,可重复步骤2-4
- 必须输出「候选人对比汇总表」,按匹配度排序
- 批量淘汰率超 80% 时触发人工复核提示 -
面试问题生成
- 基于匹配分析中的"关键差距",智能生成针对性面试问题
- 问题分为三个层级:- 验证性问题:确认简历中声称的技能/经验真实性(5-8题)
- 深挖性问题:探索关键差距领域的实际能力(3-5题)
- 场景性问题:基于岗位实际场景考察解决问题能力(2-3题)
- 每道问题标注:考察维度、预期回答方向、评分标准
- 输出格式为结构化面试提纲,可直接用于面试
-
技能差距提升建议
- 针对简历中识别的关键差距,提供可操作的提升路径
- 包括:推荐学习资源、证书建议、项目经验积累方向
- 适用于内部人才发展、候选人能力评估反馈
可选分支
- 当简历格式特殊:如果脚本解析失败,根据返回的 error 和 suggestion 字段指导用户处理
- 当JD信息不完整:智能体将主动追问补充关键要求(如核心技能、经验年限等)
- 当需要深度分析:可要求智能体针对特定维度(如技术深度、管理能力)进行专项分析
- 当用户要求自定义权重:根据岗位类型推荐权重配置,并按自定义权重重新计算总分
常见问题(FAQ)
Q1:简历解析失败怎么办?
脚本返回的 JSON 中会包含 error(错误原因)和 suggestion(处理建议)。常见情况:
- 文件损坏:建议重新下载/导出简历后重试
- 格式不支持:请将文件转换为 .txt / .pdf / .docx 格式
- 依赖缺失:执行 pip install PyPDF2 python-docx 安装依赖
- TXT 乱码:脚本会自动尝试 UTF-8/GBK/GB2312/GB18030 多种编码,通常可自动解决
Q2:支持哪些简历格式?
| 格式 | 支持情况 | 备注 |
|---|---|---|
| .txt | ✅ 完整支持 | 无额外依赖,推荐格式 |
| ✅ 文字型PDF | 扫描件/图片型PDF需转TXT | |
| .docx | ✅ 完整支持 | 包括段落和表格 |
| .doc | ❌ 不支持 | 请另存为 .docx |
| .png/.jpg | ❌ 不支持 | 图片简历需手动转文字 |
Q3:图片格式的简历如何OCR?
当前版本不内置 OCR 功能。处理建议:
1. 将图片简历中的文字手动复制为 TXT 文件
2. 使用第三方 OCR 工具(如微信/QQ截图识别、在线OCR网站)提取文字后保存为 TXT
3. 将提取的文字内容直接粘贴给智能体进行分析
Q4:如何实现多简历批量对比?
- 提供 JD + 多份简历文件
- 智能体会逐个解析和分析
- 自动生成「候选人对比汇总表」,按匹配度排序
- 每人附独立分析报告和推荐等级
- 支持在批量对比中使用自定义权重
Q5:权重怎么调整?
直接在需求中说明即可,例如:
- "技术岗,技能权重40%,项目30%"
- "管理岗,经验最重要,设为35%"
- "校招,学历和技能各30%"
未指定权重时使用默认配置(技能35%/经验30%/项目20%/学历15%)。
Q6:AI评分能直接决定录用吗?
不能。 AI 评分仅作为初筛参考,所有最终录用决策必须由 HR 和业务负责人人工复核确认。AI 评分不替代面试评估、背景调查等招聘流程。
资源索引
- 必要脚本:见 scripts/resume_parser.py(功能:解析PDF/Word/TXT格式简历,提取文本内容,返回JSON格式结果,含错误处理)
- 分析参考:见 references/resume_analysis_guide.md(何时读取:需要了解分析框架、评分标准和公平性原则时)
- 模板参考:见 references/jd_template.md(何时读取:编写或完善职位描述时)
- 面试指南:见 references/interview-guide.md(何时读取:需要生成面试问题或技能差距提升建议时)
注意事项
- 脚本仅负责简历文本提取,所有分析评估由智能体完成
- 匹配度评分基于内容分析,建议结合面试验证
- 评分标准应结合岗位实际需求动态调整
- 公平性声明:评分仅基于岗位相关能力(技能、经验、项目、学历层次),不使用学校层级、年龄、性别、跳槽频率等主观偏差字段
- 人工复核:高敏感/高额岗位评分需人工确认,禁止仅凭自动分一票否决
- 优先使用结构化清晰的简历,解析效果更佳
- 批量处理时注意质量与效率的平衡
- PDF/DOCX 解析依赖 PyPDF2 和 python-docx,TXT 格式无额外依赖
使用示例
示例1:单个候选人匹配分析
- 场景:HR收到一份Java开发工程师简历
- 操作:提供JD + 上传简历文件
- 输出:匹配度评分(如82/100)+ 分项评分 + 核心优势 + 关键差距 + 面试建议
示例2:批量初筛排序
- 场景:收到10份产品经理简历需要排序
- 操作:提供JD + 上传10份简历
- 输出:按匹配度排序的对比表 + 每人单独的分析报告,标注推荐等级
示例3:自定义权重的技术岗筛选
- 场景:架构师岗位,最看重技术深度和项目规模
- 操作:提供JD + 说明"技能权重40%、项目30%" + 上传简历
- 输出:按自定义权重计算的评分报告
示例4:文件解析失败处理
- 场景:上传的简历是损坏的PDF
- 操作:脚本返回
parse_status: "parse_error"+ 错误描述 - 输出:明确告知用户"文件可能已损坏",建议重新上传或改用TXT格式
示例5:敏感信息处理
- 场景:用户要求"只筛35岁以下的候选人"
- 操作:提醒该要求存在年龄歧视合规风险
- 输出:建议聚焦经验和能力维度进行筛选,忽略年龄信息
版本历史
- v1.2.18:增强简历解析脚本稳健性(多编码支持+PDF双引擎降级);中性化评分框架(移除学校层级/年龄/跳槽频率的评判权重);分析指南新增公平性声明与人工复核门禁;新增FAQ章节(解析失败/格式/OCR/批量/权重)
- v1.2.16:修复二进制文件上传问题(移除.pyc编译产物);增强输出格式规范
- v1.2.15:补全简历解析脚本实现;新增隐私最小化声明
- v1.2.14:离线降级修复
- v1.2.0:新增面试问题生成与技能差距提升建议
- v1.1.0:基础简历匹配分析功能
- v1.0.0:初始版本
许可证
本技能基于 MIT 许可证开源,允许自由使用、修改和分发。