实战 SOP
实战 SOP

招聘简历自动筛选工作流:JD 匹配打分一键分流

招聘季一份 JD 收两三百份简历,人工筛慢且评分漂移。这个 n8n 工作流把简历筛选收口成一条管道:Webhook/邮箱接收简历 -> 提取文本 -> LLM 按 JD 对技能匹配/经验/稳定性/风险打分并输出 tier 与理由 -> IF 判断是否过线 -> Switch 路由到面试队列/备选库/婉拒邮件 -> 写入飞书多维表格或 ATS -> 通知招聘者。Prompt 明确禁止使用性别/年龄/婚育/种族/户籍等受保护属性评分,简历处理须遵守《个人信息保护法》/GDPR,AI 评分仅作辅助、最终决策由人。

发布于 2026年8月4日5 分钟阅读
<!-- workflow-resume-screening | resource | 招聘简历自动筛选工作流:JD 匹配打分一键分流 -->

招聘季一份 JD 收两三百份简历是常事。HR 一份份打开 PDF、肉眼对照 JD 划重点、Excel 登记评分、再约面发拒信--单份简历平均五分钟,三百份就是二十五小时纯人工,招完一轮人已是半月后。更难的是评分标准漂移:头十份看得仔细,到第一百份"差不多就行";同一份简历上午看给 70 分、下午累了给 55 分;候选人的学校、性别、年龄在不知不觉中影响判断,公平性既难保证也难自证。

这个 n8n 工作流把简历筛选收口成一条管道:简历通过 Webhook 或邮箱附件进来,自动提取文本,LLM 按 JD 对技能匹配、经验年限、稳定性、风险信号打分并输出理由,IF 判断 tier 是否过线,再 Switch 路由到面试队列 / 备选库 / 婉拒邮件,同步写入飞书多维表格或 ATS、通知招聘者。一份简历从投递到分流压到分钟级,HR 只在面试队列上花时间。

合规是底线,不是加分项。LLM Prompt 明确禁止使用性别、年龄、婚育、种族、户籍、残疾、宗教、政治面貌等受保护属性做评分,只看技能、经验、项目与 JD 的匹配;简历含个人信息须遵守《个人信息保护法》与 GDPR--获取候选人授权、最小化处理、设定留存期限;AI 评分仅作辅助,最终是否面试由人决定。各地法规不同,以当地法律为准。

工作流链路

Webhook 触发(招聘官网表单 / 邮箱附件 / IM bot 转发)-> Code 节点提取文本(PDF / Word 解析为纯文本,去格式噪音)-> LLM 按 JD 打分(skill_match / experience / stability / risk 四维,输出 score + tier + reason + 面试建议问题)-> IF 达标(tier 为 interview 或 pool)-> Switch 路由(面试 / 备选)-> 写入飞书多维表格或 ATS -> 通知招聘者;IF 不达标(tier 为 reject)-> 发婉拒邮件 -> 状态回写。

和本站《客户线索自动收集打分通知工作流》(workflow-lead-crm-automation) 思路一脉相承:线索和简历都是"非结构化输入进来、按规则打分、按分数路由"的结构,打分维度换成技能匹配与经验,路由出口换成面试队列与 ATS。与《客户反馈分析工作流》(workflow-customer-feedback-analysis) 则共享"LLM 抽字段 + 写表 + 通知"的骨架。

下载模板

使用步骤

  1. 导入:n8n -> Workflows -> Import from File,选 workflow-resume-screening.json
  2. Webhook 节点:复制 Production URL 接到招聘官网投递表单或邮件转发规则。简历以附件或 base64 进来均可,统一由下一个节点解析
  3. 提取文本节点(Code):把 PDF / Word 解析成纯文本。n8n 自带 Extract from File 节点能处理 PDF;Word 建议 Preceding node 转 .txt 或调第三方解析 API。同时清洗页眉页脚分隔线、邮箱签名、特殊字符,只保留姓名、联系方式、教育、工作经历、项目、技能这几段结构化文本。以联系方式或姓名加来源生成去重键
  4. LLM 打分节点:填 Kimi / DeepSeek / Qwen key,8k 上下文够用。Prompt 见下,要求模型输出 skill_match(0-100)、experience(0-100)、stability(0-100)、risk(low/medium/high)、score(综合 0-100)、tier(interview 进面试 / pool 备选 / reject 婉拒 三选一)、reason(百字内)、interview_questions(建议追问两三条)。关键约束:Prompt 明确禁止使用性别 / 年龄 / 婚育 / 种族 / 户籍等受保护属性,模型只看技能与经历
  5. IF 达标节点:取 tier 等于 interview 或 pool 走达标分支,否则(reject)走婉拒分支。阈值逻辑编码在 Prompt 的 tier 定义里:score>=80 进面试、60-79 备选、<60 婉拒。阈值按岗位松紧调--核心岗把 interview 门槛提到 85,储备岗放到 50
  6. Switch 路由节点:达标后再分流--tier 为 interview 进面试队列,pool 进备选库。备选不是拒绝,是"有坑位再捞"
  7. 写入飞书 / ATS 节点:HTTP Request 调飞书多维表格 API 或 ATS(Moka / 北森 / Greenhouse)的写入接口,字段含姓名、联系方式、score、risk、reason、interview_questions、来源、投递时间、路由。这是后面统计漏斗与复盘的基础
  8. 发婉拒邮件节点:tier 为 reject 走这里。HTTP Request 调邮件 API(Resend / 阿里云邮件推送),模板化回复--感谢投递 + 不匹配的泛化原因(不写具体分数、不点评个人属性)+ 保留简历入库的告知并给撤回入口。措辞过一遍法务,别承诺"未来优先考虑"
  9. 通知招聘者节点:面试队列命中时,Slack / 飞书 / 钉钉群机器人推一条带候选人姓名、岗位、score、risk、interview_questions 的卡片,招聘者一眼判断要不要抢时间约面
  10. 状态回写节点:HTTP Request PATCH 回 ATS,标记 status=screened + score + tier + risk + screened_at。闭环关键--简历不再停留在"已收到",而是有明确分流结果可查
  11. 试运行:手动投三份测试简历--一份明显匹配、一份边缘、一份明显不匹配,看是否分别进面试队列、备选库、婉拒邮件,飞书表是否有记录,招聘者是否收到通知

配套 Prompt(LLM 简历按 JD 打分)

Prompt
你是招聘助理,按 JD 给候选人简历打分,输出 JSON:
- skill_match:0-100,技能与 JD 关键词的匹配度
- experience:0-100,工作年限与项目经验与岗位要求契合度
- stability:0-100,跳槽频率与履历连贯性(频繁跳槽扣分)
- risk:low / medium / high,风险信号(空窗期过长、经历与 JD 严重不符、简历矛盾)
- score:综合 0-100
- tier:interview(score>=80 进面试)/ pool(60-79 备选)/ reject(<60 婉拒),三选一
- reason:百字内说明打分依据,引用简历事实
- interview_questions:建议面试追问 2-3 条
规则:仅依据技能、经验、项目、履历判断;禁止使用性别、年龄、婚育、种族、户籍、残疾、宗教、政治面貌等受保护属性评分,如简历中出现这些信息一律忽略;不编造简历中没有的事实;信息严重不足时 score 默认 50、tier 默认 pool 并在 reason 前加 [信息不足]。
JD:{{jd}}
简历文本:{{resume_text}}

进阶

  • 阈值动态化:不同岗位、不同级别用不同门槛。把 tier 的分数边界存在飞书表格或配置中心,Code 节点按岗位名取边界,再让 LLM 只输出原始 score、由 Code 节点算 tier,避免阈值改了要重发 Prompt
  • 去重防刷:同一邮箱或手机号短期内重复投递,Code 节点先查 ATS 是否已存在,命中则更新 score 不重复建记录,防止候选人刷分也防止重复婉拒
  • 人工复核层:score 落在边界上下 5 分的灰区,不直接路由,先进人工复核队列。这部分边界 case 最有价值,攒下来能反向优化 Prompt
  • 面试问题预生成:LLM 输出的 interview_questions 直接送给面试官,节省面试准备时间。提示面试官这是 AI 建议仅供参考,最终考察点以人为主
  • 漏斗统计:所有分流结果入飞书多维表格,按岗位、来源、score 段位出漏斗--投递数 / 过筛数 / 面试数 / offer 数。"哪个渠道简历质量最高"比"哪个渠道简历最多"更值钱

踩坑

  • Prompt 必须写死反歧视约束:光说"客观打分"不够,受保护属性必须逐项列出禁用。模型默认会把"35 岁""女""未婚"这些信息纳入考量,不写死就会隐性歧视,且事后难以自证清白。这条是合规红线,不是优化项
  • 解析别只靠一个节点:PDF 简历格式千奇百怪,扫描版 PDF 直接 Extract from File 会拿到空文本。加一个 IF 判断文本长度,过短就路由到 OCR 降级流程(调云厂商 OCR API),否则候选人简历明明匹配却被打成 0 分
  • 婉拒邮件别写具体分数:写"您的情况与岗位匹配度较低"足够,别写"您得了 42 分"。具体分数既不专业也可能引发申诉与争议
  • 留存期限要合规:简历含身份证号、家庭住址等敏感信息,《个人信息保护法》要求最小化处理与明确留存期。婉拒的简历别无限期留库,按法规设 30 天或 6 个月自动删除;备选库候选人入库前要有授权勾选,并给撤回入口
  • AI 评分别当终审:score 只是辅助,最终是否面试由招聘者定。在 ATS 里保留"AI 建议"与"招聘者决定"两列,定期对账--AI 一致通过的岗有没有招进来、AI 不看好的人面下来如何,反向校准 Prompt
  • 别让工作流替代沟通:自动化处理的是分流与登记,不是决策。关键岗位的婉拒建议人工再过一遍,避免错杀--一份简历的 LLM 评分误差,对候选人是几个月的等待

参考来源

本文由 AI 辅助生成,经人工审核编辑。最后更新:2026-08-04

相关文章

实战 SOP

不用切软件:剪映 Hub 从分镜脚本干到多轨精修

剪映 Hub 的实操 SOP:先从"该不该用"判断起(三种适合:要素材到成片的完整链路、要批量出同款分镜做 A/B、讨厌多软件反复导出导入;四种不适合:只缺一段生成画面、需要精细多机位剪辑、素材与数据必须留本地、预算需精确可预估),并点明若核心诉求是数据不出域或不想被单一生态绑定,应看开源路线。随后沿官方十四步上手路径一路做到多轨精修:确认入口与素材来源(保持同一剪映账号以便即梦、小云雀物料一键导入)、生成关键素材与分镜脚本、连接素材与脚本、资产管理自动补齐人物道具场景、批量生成分镜提示词(附商品广告与口播短视频两条可直接复制的提示词模板)、选 Seedance 2.5 等模型逐分镜生成视频、预览成片、点「更多剪辑」直入剪映多轨时间线、局部编辑、AI 智能延长、AI 后编辑(超清/补帧/调色/消除/人声分离)、剪映助手文字调用 Skill、字节系素材回流。另给批量生产三法(同产品派生多版本做 A/B、口播批量流水线、尺寸与平台适配)、上线前自查清单逐条、六条踩坑速查表(生成物与脚本脱节、局部编辑改坏一致性、AI 延长音画不同步、字幕改误需人工复核专有名词、素材导入版本字体不一致、过度依赖自动成片节奏死板)。定价、免费额度、并发、积分、可用地域、时长与分辨率上限官方均未公布,一律以官方与客户端实际界面为准;剪映 Hub 为闭源商业产品,不开源不免费。

2026年9月22日8 分钟阅读
实战 SOP

2.3秒边听边译、译文原声:Qwen3.8同传API上手

Qwen3.8-LiveTranslate 的落地 SOP:从"该不该用"判断起(需要"此刻正在发生的对话要立刻被听懂"就上同传,要事后慢慢翻就先走离线),到钉死两个最易写错的口径(2.3 秒是字均延迟 LAAL、不是端到端首包延迟;60 是识别输入、29 是语音输出,是两个不同口径,剩下 31 种只出文本不出声音),再到凭据与环境准备:密钥只进环境变量,不进源码、不进仓库、不进前端打包产物,写进代码并提交就等于进版本历史与前端 bundle,泄露后唯一标准动作是立刻吊销旧 Key 再重建轮换;并提前点破"浏览器建 WebSocket 握手时无法自行设置 Authorization 头、前端不能直连"这一必踩坑,正确架构是自有服务端持密钥建连。随后跑通最小实时流、按事件驱动的 WebSocket 协议骨架推进(开长连接、收 session.created、持续推音频、持续收事件),覆盖说话人分离与音色复刻、原文译文同帧输出、长上下文消歧等工程要点,并给并发限流、成本核算、可观测性、故障兜底与上线前清单。官方未公开的定价、限流、并发与地域可用性一律标注以千问 AI 平台与阿里云百炼官方文档为准,不编数字。

2026年9月21日7 分钟阅读
实战 SOP

不写代码,一句话上线带数据库网站:Qoder Sites

Qoder Sites 一句话建站实操 SOP:从版本确认(桌面端 v0.3.3 以上、CLI v1.1.54 以上)与 /sites 入口,到五段式提示词写法(目标、数据模型、交互、风格、直接部署)与两个可直接抄的建站模板,再到首次发布的预览、分享与权限设置、发布后三项权限核对、自动建库持久化的三条验证与清单化自查,接着一句话绑定 Cloud Agents 让页面具备 Agent 能力(含何时该接、何时不必接),最后给原型、看板、活动页三类落地场景与四类不该用的边界,以及四坑速查。数据库类型、容量、计费、地域规则等官方未公开项一律如实标注以客户端界面与官方公告为准,不编造数字。

2026年9月20日7 分钟阅读