招聘外包(RPO)候选人邮件与流程管理,用 Claude Code 省时实操
RPO 招聘外包现场堆积的候选人邮件和流程状态管理,用 Claude Code 提速。附提示词模板、检查脚本,以及个人信息处理注意点。
周五傍晚,手上压着 3 家客户、一共 35 名候选人。面试时间的回复、淘汰通知、材料催收,全堆在一起。我盯着收件箱,光是纠结”先动哪一封”就耗掉了半小时。
然后我就闯祸了。给 A 公司写的那封”下一轮面试定在下周二”,我误发给了 B 公司的候选人。手指点下发送的那一瞬间才反应过来,整个人凉了半截。
招聘外包(RPO)这行,一整天都在做这种”脑子来回切换”的活儿。每家客户的选拔流程不一样,邮件口吻也不一样;每个候选人现在走到哪一步也不一样。只靠脑子记、靠一股劲硬扛,到了旺季一定会在某个环节崩掉。
这几个月我做的,不是把邮件”全自动发出去”。而是划了一条线:只把草稿和整理交给 Claude Code,发不发由人来拍板。今天就把这套具体做法写出来,配上能直接复制的提示词和检查脚本。
本文要点
- RPO 的返工,大半不是因为”文案写不好”,而是因为”现在谁走到哪一步”没盯住、漏掉了。
- 候选人邮件草稿、流程状态盘点、漏跟进检测,交给 Claude Code;要不要发、过不过,由人来定。
- 把邮件草稿做成套路后,单封从 5 到 8 分钟压到 1 到 2 分钟。一周 100 封,一个月大约能省 20 小时。
- 个人信息不交给 AI:真名、联系方式都不给,只用化名和阶段标签来处理。
- 文末给出能直接套用的提示词模板,以及一个把流程漏跟进揪出来的检查脚本。
RPO 从业者画像,和总卡壳的那几个地方
这篇文章想象的读者,是一个人扛着好几家客户招聘业务的 RPO 专员。一个人对接 5 到 10 家公司,手上常年并行盯着几十号候选人。招聘平台的私信回复、跟猎头/中介的来往、面试协调、过与不过的通知,几乎所有窗口都汇到你这儿。
先把平时的业务流程摆出来。
- 向客户问清楚想要什么样的人、选拔流程怎么走
- 通过招聘平台、中介把候选人收集起来
- 把简历筛选结果通知候选人
- 协调一面、二面的时间
- 每轮面试后向客户确认评价
- 发出录用或淘汰通知
- 给客户同步进度报告
这条流程本身,哪家 RPO 都差不多。问题出在:同样这条流程,要按客户数量同时跑好几条。
下面这些返工,你看看眼熟不眼熟。
- 用 A 公司口吻写的文案,原封不动套到 B 公司,读着就别扭
- “面试后 48 小时内回复”这个承诺,候选人一多就守不住了
- 卡在”等客户评价”的候选人,一忘就是好几天
- 淘汰通知每次都从零开始写,傍晚被磨得没电
- 表格里的流程状态,和实际联系到哪一步对不上
这些都不是能力问题,只是并行的活儿太多,“脑子切换”跟不上而已。AI 正好补这个位。
哪些交给 AI,哪些必须人来拍板
先把界限划清楚。这里含糊,就会出开头我那种误发的事故。
| 业务 | 交给 Claude Code | 必须人来拍板 |
|---|---|---|
| 候选人邮件 | 写草稿、调口吻 | 点发送键 |
| 流程状态 | 盘点清单、检测漏跟进 | 过与不过的决定 |
| 时间协调 | 把备选时间写成话、催跟进草稿 | 最终敲定的那条通知 |
| 进度报告 | 汇总数字、起草稿 | 是否给客户公开的判断 |
| 淘汰通知 | 生成有分寸的文案 | 淘汰理由是否站得住脚 |
道理很简单:“就算错了也只停在草稿箱里”的,交给 AI;“一旦发出去就收不回来”的,由人握住。发送、过不过、敲定的通知——这三件事一律由人的手指最后一道把关,旺季也不会出事。
具体怎么给 AI 划权限,可以参考为非程序员整理的非程序员怎么用 Claude Code 的思路。
用例 1:把候选人邮件草稿按套路批量生产
最省事的就是这块。RPO 的邮件,仔细一看其实就那么几种:简历通过、面试时间、淘汰、录用。文案骨架是一样的,变的只有候选人名字和客户的口吻。
所以,把常用文案登记成”模板”,把当前情况丢给 Claude Code,让它只出草稿。改造前一封要写 5 到 8 分钟,套模板灌进去只要 1 到 2 分钟。
改造前后对比是这样的。
- 改造前:盯着收件箱每封从零开始写,到傍晚文字越写越糙。
- 改造后:把情况用要点丢过去就出草稿,人只做事实核对和微调。
下面是出草稿的提示词模板,直接复制,只替换方括号里的内容。
你是招聘外包(RPO)的邮件撰写助手。
请按以下条件,用中文写一封给候选人的邮件草稿。
# 客户口吻
[例如:礼貌、正式,避免专业术语]
# 邮件类型
[简历通过 / 面试时间通知 / 淘汰 / 录用 中的一种]
# 当前情况
- 候选人代称:[候选人A 之类的化名]
- 应聘岗位:[销售岗 等]
- 这次要告知:[一面定在 6/12 14:00,线上]
- 补充:[距上次联系隔了 3 天,开头加一句致歉]
# 约束
- 200 到 300 字左右
- 同时给出邮件标题建议
- 正文里不要写能识别个人身份的信息
- 发送前由人确认,请在末尾用要点列出需要核对的地方
诀窍在最后那条”列出需要核对的地方”。让 AI 自己把不确定的点报出来,人一眼就能查完。想把提示词搭得更顺手,可以再看看提示词设计的进阶技巧。
用例 2:每天早上把流程漏跟进揪出来
第二块,是检测那些卡住不动的候选人。RPO 最怕的就是把某个人”忘了”。一个候选人卡在”等客户评价”已经 3 天,你还放着没管,既丢机会,又砸口碑。
这里不交给 AI 判断,用机械的规则把漏跟进捞出来最稳。用一个 CSV 记下每个候选人的阶段和最后更新日期,再用脚本把”好几天没动静的人”筛出来。
下面这段 Node.js 脚本,会把最后更新起算 3 天以上没动过的候选人列成清单。不用真名,全程只用化名 ID。把 candidates.csv 放在同一个文件夹里再运行。
import { readFile } from "node:fs/promises";
// candidates.csv 的格式:
// id,stage,lastUpdate,owner
// C001,简历筛选,2026-06-01,Masa
// C002,等待一面,2026-06-05,Masa
const STALE_DAYS = 3;
const today = new Date("2026-06-07");
const raw = await readFile(new URL("./candidates.csv", import.meta.url), "utf8");
const rows = raw.trim().split("\n").slice(1); // 去掉表头
const stale = [];
for (const line of rows) {
const [id, stage, lastUpdate, owner] = line.split(",").map((s) => s.trim());
const days = Math.floor((today - new Date(lastUpdate)) / 86400000);
if (days >= STALE_DAYS) {
stale.push({ id, stage, owner, days });
}
}
stale.sort((a, b) => b.days - a.days);
if (stale.length === 0) {
console.log("没有卡住的候选人。");
} else {
console.log(`停滞 ${STALE_DAYS} 天以上的候选人:${stale.length} 人`);
for (const c of stale) {
console.log(`- ${c.id} / ${c.stage} / 负责人${c.owner} / 停滞${c.days}天`);
}
}
运行就这一行。
node check-stale.mjs
把跑出来的清单直接丢给 Claude Code,对它说”从这份停滞清单里,按阶段分别给我写今天该发的催跟进邮件草稿”,就和用例 1 接上了。判断归人、枯燥的漏跟进检测归机器、文案生成归 AI,各管一段,分得干干净净。
用例 3:把各客户的文案规则固定进 CLAUDE.md
第三块,是防止把好几家客户的口吻搞混的机制。开头我那次误发,根子也是”A 公司的规矩和 B 公司的规矩在脑子里串了”。
这个,把每家客户的规则写进文件、每次让 AI 先读一遍,就能防住。用 Claude Code 的话,把项目规则写进 CLAUDE.md,每次请求它都会自动参考。
比如可以这么写。
- A 公司:敬语偏重,称呼用”贵司”,禁用表情符号,回复当天内完成。
- B 公司:略口语化,称呼用”贵公司”,一定要加一句安抚候选人焦虑的话。
- 通用:不对薪资待遇做承诺,时间一律给出多个备选。
这份文件怎么写得更好用,整理在CLAUDE.md 最佳实践里。规则一旦落进文件,旺季就算脑子转不动,AI 也会替你拦住口吻搞错的情况。
落地之后,邮件发送前只要照下面这几条核一遍,事故基本就清零了。
- 收件客户和文案口吻对上了没有
- 候选人代称、应聘岗位写对了没有
- 时间、地点、链接有没有事实错误
- 有没有擅自承诺薪资或待遇
- 有没有把个人信息粘进给 AI 的指令里
ROI 大概值,和个人信息的注意点
给个粗略的省时估算。候选人邮件一周 100 封,单封改造前 7 分钟、改造后 2 分钟,一周省约 8 小时,一个月 30 小时上下。再加上停滞检测省下的手工活儿,旺季更明显。数字只是估算,真正的价值是:把省下来的时间挪去跟候选人面谈、给客户做方案。
但这里得走稳。招聘外包(RPO)是跟一大堆个人信息打交道的活儿。候选人的真名、电话、邮箱、出生日期,绝对不要原样粘进给 AI 的指令里,这一条务必做死。
具体可以这么设计。
- 候选人统一用”候选人A""C001”这类化名 ID
- 联系方式和简历内容不交给 AI,由人在自己手边对照
- 客户名也想隐去的话,换成”X 公司”之类
- 确认所用服务的条款里,输入数据是否设置成不用于训练
就算全程用化名,做邮件模板和停滞检测也够用了。反过来说,不给个人信息,文案反而更像通用模板,更好复用。
常见问题
问:能不能让邮件全自动发出去? 别。RPO 的邮件一旦发出就撤不回来。让 AI 做到”出草稿、列核对点”为止,发送键由人来按,这条线别破。
问:能不能让 AI 读候选人简历做摘要? 从个人信息角度要谨慎。实在需要摘要,就隐去姓名、联系方式,只给岗位内容和工作年限。还要先确认跟客户的合同是否允许使用外部 AI。
问:我不懂编程,那个检查脚本我用得了吗? 装好 Node.js,敲一行命令就能跑。先从Claude Code 入门指南把环境搭起来,就不容易卡住。
问:想小步起步,第一步从哪儿下手最好? 淘汰通知的草稿。文案够定型,而且每次重写都挺磨人。光把这块做成模板,傍晚那股消耗感就明显减轻了。
实际试下来的结果
我在自己手边造了一份 20 名候选人的假数据 CSV,把上面那个停滞检测脚本跑了一遍。卡了 3 天以上的候选人一下就揪出 5 个,跟以前用眼睛扫清单的漏看比起来,简直像换了个人。
邮件草稿这块,我把 A 公司、B 公司的口吻写成类似 CLAUDE.md 的规则,分别生成了 10 封。口吻一次没搞错。让我意外的是,AI 在末尾给的”需要核对的地方”比想象中有用得多——它每次都加上”请确认时间的星期几和事实对得上”,人这边几十秒就核完了。
反过来,像”淘汰理由站不站得住”这种”作为人的判断”,当然没法全甩给 AI。这块照着界限由人握住——我实打实地体会到,这套划分是对的。想把整个流程管理都做成机制的 RPO 团队,走培训与落地咨询,从运营设计一起捋是更快的路。先想个人试试的,把停滞检测脚本和上面的提示词模板复制下来,明天早上拿收件箱跑一遍就行。
想了解外部参考,处理个人信息时可以在中国国家网信办个人信息保护官网查一下最新指引,会更踏实。
免费 PDF: Claude Code 速查表
输入邮箱即可获取一页 PDF,整理常用命令、审查习惯和安全工作流。
我们会妥善保护你的信息,不发送垃圾邮件。
让 Claude Code 真正进入可验证的工作流
先用免费 PDF 固定基础,再用 Gumroad 教材复用工作流;如果涉及团队导入、权限或收入路径,可以直接咨询。
关于作者
Masa
专注 Claude Code 实务流程、团队导入和内容转化的工程师。