摘要
现在这套 JD 驱动流程,解决的是「谁像这个岗位」;世界模型要补的是「他会不会动、来不来、留不留」。两件事共用一个候选人池,但排序目标不同。只加渠道、加关键词,结果还是简历更多、转化不变。
升级点在目标函数。把「匹配度 × 求职状态」换成「接受 × 过面 × 入职 × 留存 ÷ 关闭周数」。排序结果带区间,也带下一步动作。
流程加两道闸。前面加岗位准入,先劝退不值得推的岗位;后面加 D5 干预记录与回测,让下一轮权重变准。中间四步保留工具,换判断依据。
先在一个窄域做旧新对照。技术研发、3–5 家同赛道客户、同职级带、近 24 个月,20–30 个已关闭岗位,8–12 周。差异小于 10 个百分点就扩样,不急着宣布成功。
三条边界先讲清。推荐量会下降;冷候选人没有意愿数据,只能给分桶先验;周期必须用项目台账,ATS 的 dateAdded 是补录时点。
现状:五步流程解决的是匹配,不是产出
现有 jd-driven-talent-search v1.0.5 的骨架是五步:JD 解构、人选画像、渠道决策、分渠道关键词、结果整合。它的强项是把一句碎片化描述变成可执行的搜索式;弱项是搜到之后,没有一套能算「这条推荐值多少」的口径。
谷露 ATS 实测。推荐到面试 61.9%,推荐到 Offer 21.7%;每个职位 0.41 人入职。周期字段不作为天数依据,原因见第 07 节。
三个缺口
目标函数是匹配度。每职位只有 1.9 次推荐、0.41 人入职,说明瓶颈不在推荐量,而在「推出去的人会不会动」。继续加渠道,边际收益很低。
意愿轴太粗。现有 3×3 矩阵用「急求职 / 在看 / 在职」做代理,主要来自脉脉标签;纪要里的动机、底线、背书没有进入排序。Momo 95 条样本里,实质披露 93.7%、不利披露 69.5%,能标定观测噪声,但技术研发只有 1 条,窄域要重建。
没有干预记录与回测。推荐之后,谁在什么时间、用什么话术、触达了什么渠道、对方什么反应,大多没有结构化留痕。没有这层数据,就无法知道哪一步动作真的改变了结果。
这套流程不需要推倒重来。它已经解决了「怎么找到人」,缺的是「找到之后怎么判断值不值得推」。升级应该发生在排序层和记录层,而不是把渠道矩阵再扩一遍。
升级后的目标函数
一条推荐的价值,不是匹配分,而是它在岗位上最终能产出多少。把四个转化概率连乘,再除以岗位关闭周数,得到一条推荐的期望产出。这个数不预测个人命运,只用于同批候选人之间的排序。
| 项 | 回答什么 | 数据来源 | 当前口径 |
|---|---|---|---|
| P(接受 | 接触) | 接触后愿不愿意进入流程 | 状态模型、纪要、背书路径 | 分桶先验加个体修正,给区间 |
| P(过面 | 推荐) | 客户面试能不能过 | ATS 面试记录 | 实测 61.9% |
| P(入职 | Offer) | Offer 接不接受、到不到岗 | ATS、项目台账 | 99.5% 口径待复核 |
| P(留存 12 个月) | 来了能不能留下 | 入职与离职记录 | 待建,标签先定「12 个月仍在」 |
| E[关闭周数] | 这个岗位还能开多久 | 项目台账、客户审批链 | ATS 时间戳不可用 |
排序输出三件事
- 区间,不是单点。同一个候选人给 P10–P90,不把 0.63 说成确定值。区间重叠时并列,不硬排。
- 下一步动作。每条推荐后面写清楚:还缺哪条信息、走谁背书、先谈钱还是先谈权、什么时候再跟。
- 可回测的字段。推荐时就把概率、假设、触达方式写下来,关闭后才知道错在哪一段。
这个公式算的是「一条推荐在某个岗位上的期望产出」,不是候选人的市场价,也不是对个人的长期预测。个体层面只做排序和行动建议,不做定价、不做心理测评、不做「他几年后会创业」这类标签。
六步流程
原来的五步保留骨架,前面加一道岗位准入,后面加一道回测;中间四步换判断依据,不换工具。每一歩都要有明确的输入、输出和停止条件,避免又变成「先搜了再说」。
| 步骤 | 输入 | 动作 | 输出 | 停止条件 |
|---|---|---|---|---|
| 01 岗位准入 | JD、客户、预算、HC、审批链 | 判断关闭风险、审批卡点、预算是否真实 | 做 / 不做 / 有条件做 | 关闭风险高或审批链不清,先不谈寻访 |
| 02 JD 解构 | 碎片化 JD、客户原话 | 六维提取,再加状态约束卡 | 必须满足 / 可放宽 / 一票否决 | 约束太窄,先和客户谈放宽哪条 |
| 03 三路召回 | 能力画像、关系图谱、意愿信号 | 三路分开召回,各自给先验 | 三张名单,不混成一个分 | 任一路为零,先补数据,不硬搜 |
| 04 渠道分配 | 三路名单、当前最不确定的一维 | 按信息增益选渠道,不按覆盖面积 | 每路 1–2 个渠道与关键词 | 渠道只加简历、不降不确定性,就停 |
| 05 期望排序 | 候选人状态、岗位风险、历史转化 | 算联合概率与区间,写下一步动作 | 排序名单加行动建议 | 区间重叠就并列,不硬排 |
| 06 记录回测 | 触达、推荐、面试、Offer、入职、留存 | 写 D5,按已关闭岗位回测 | 偏差、校准曲线、权重更新 | 偏差大于 0.10,重估基准 |
每一步的判断依据
- 岗位准入看三件事:HC 是否冻结、审批链是否清楚、预算是否落在客户能签的区间。三件里有两件不清楚,先做客户侧确认,不把风险转成顾问工作量。
- JD 解构在原有六维之外,加职级带、三笔账底线、硬约束、时间窗、背书路径。输出不是关键词表,而是「谁进得来、谁进不来」的边界。
- 三路召回分开算:能力看简历与项目,关系看同团队、同汇报线、流向、背书,意愿看纪要、公开信号、ATS 状态。三路都强的人优先,只有一路强的人标注缺口。
- 渠道分配只补最不确定的一维。缺联系方式走谷露,缺全球背景走 LinkedIn 与 Articuler,缺技术产出走 GitHub,缺意愿走纪要与人脉,不每个池子都搜一遍。
- 期望排序把岗位关闭时钟放进去。一个 6 周后可能关闭的岗位,即使候选人匹配度高,也不值得投入同样多的时间。
- 记录回测不是额外写报告,而是把本来就在微信、电话、ATS 里的动作结构化。每条推荐至少留:时间、渠道、话术版本、对方反应、下一步。
与现有技能链的接口
升级不需要另起一套系统。入口、渠道、评估、项目线都沿用现有技能,只改策略层的两张卡和记录层的一张表。
| 层 | 现有资产 | 改什么 | 不改什么 |
|---|---|---|---|
| 入口 | talent-search | 不改入口,仍是寻访第一站 | 会话、渠道编排、结果落库 |
| 策略 | jd-driven-talent-search v1.0.5 | 保留五步骨架;新增岗位准入卡、状态约束卡;P0/P1/P2 只保留能力层,另加关系层、意愿层 | 六维解构、渠道决策树、关键词三层结构 |
| 渠道 | gllue-cli、liepin-cli、maimai v3.2.0、多猎 v3.1.0、LinkedIn v1.4.4 + RPS v2.3.2、Boss、GitHub v3.0.0 | 渠道矩阵不动,选择依据从「覆盖优先」改为「信息增益优先」 | 各渠道的登录、抓取、合规边界 |
| 补位 | monid-cgl v1.1.0、cgl-patent-sourcing v1.0.6 | 不改 | 联系方式补全、专利人才检索 |
| 评估 | cgl-interview-assessment v1.0.12 | 不改;搜索阶段不做心理测评,不替代评估线 | 评估五步法与报告口径 |
| 项目 | cgl-project-lifecycle-manager v1.0.10 | 补岗位建档时间、关闭时间、关闭原因三个字段 | 项目三阶段与收尾流程 |
| 记录 | ATS、飞书多维表格 | 新增 D5 干预记录表:触达、话术、反应、下一步 | 原有候选人、职位、流程表 |
第一阶段只改策略层和记录层,不动渠道工具。这样即使模型没跑通,寻访作业仍然能按旧流程交付;跑通之后,再把权重写回 JD 解构和渠道选择。
数据与字段
模型能不能用,取决于三张表能不能对上:岗位层、候选人层、干预层。三张表用 job_id 和 candidate_id 关联,缺一层,回测就做不了。
| 表 | 关键字段 | 用途 |
|---|---|---|
| 岗位层 | job_id、客户、赛道、职级带、建档时间、关闭时间、关闭原因、HC、预算区间、审批链、客户侧冲击、推荐数、面试数、Offer 数、入职数 | 岗位生存模型、关闭周数、分桶基准率 |
| 候选人层 | candidate_id、当前公司、职级带、能力带、城市与硬约束、钱 / 权 / 情绪档位与底线、背书路径、意愿分层、来源渠道、最近接触时间 | 状态向量、三要素、三路召回 |
| 干预层 D5 | touch_id、candidate_id、job_id、时间、渠道、话术版本、触达结果、对方反应、下一步、顾问 | 反事实、话术效果、渠道权重 |
三张表怎么接
- 岗位层定时钟。每个岗位从建档到关闭的周数,是目标函数的分母。没有这个字段,只能拿 ATS 的补录时间凑,结论会失真。
- 候选人层定状态。能力、意愿、约束、背书四个面,至少要有分桶档位。档位不是精确测量,是顾问可复核的判断。
- 干预层定因果。同一个候选人,什么时候被谁、用什么话术、从哪个渠道触达,结果如何。没有这层,只能看到相关性,看不到哪一步动作有用。
纪要进入模型前,授权字段分三档:仅服务、可用于模型训练、仅脱敏统计。话术必须写明「用于模型训练」。姓名、联系方式、具体薪酬数字不进训练集;薪酬用区间,公司名按客户授权级别处理。候选人要求撤回时,当天打失效标记,按周期剔除并留痕。
窄域试点
第一个窄域选技术研发:3–5 家同赛道客户、同职级带、近 24 个月、带对照组。选它不是因为样本最多,而是岗位标准相对清楚、能力可验证、客户面试反馈容易回收。
| 范围 | 技术研发 × 3–5 家同赛道客户 × 同职级带 × 近 24 个月 |
| 对照 | 同客户同期,旧流程推荐与新流程推荐按岗位配对;不做跨期对历史 |
| 样本 | 20–30 个已关闭岗位,每组不少于 10 个;候选人层按推荐条数计 |
| 周期 | 8–12 周,以岗位关闭为准,不按日历截断 |
| 主指标 | 推荐 → 面试、面试 → Offer、Offer → 入职、12 个月留存 |
| 次指标 | 每入职推荐数、关闭周数、顾问小时 / 推荐 |
| 停止条件 | 校准偏差大于 0.10;背书系数区间跨 0;桶内 n 小于 30 只报区间 |
分析怎么做
- 配对比较。同一客户、同一职级带下,旧流程与新流程各跑一批岗位,按岗位配对,减少客户差异带来的噪声。
- 区间先行。用 bootstrap 跑 1,000 次,报 95% 区间。先看方向,再看差异大小,不拿单点小数当结论。
- 预注册。指标、停止条件、分组方式在开跑前写死,不边跑边改。改口径就升版本,旧版留档。
- 扩样规则。如果第一批差异在 5–10 个百分点,不宣布成功,扩到 60–80 个岗位再判断;差异小于 5 个百分点,维持旧流程。
试点通过的标准不是「准确率好看」,而是同一批岗位下,新流程每条推荐的期望产出高于旧流程,且两者的区间不重叠。达不到,就保留旧流程,只把状态约束卡作为顾问的辅助清单。
验收与风险
这次升级最容易被判失败的地方,不是模型不准,而是验收口径没改。推荐量下降、周期变长、顾问多写一层记录,都会被旧 KPI 当成退步。
| 风险 | 会怎么表现 | 怎么处理 |
|---|---|---|
| 推荐量下降 | 前置筛掉「能力匹配但不会动」的人,客户看到的名单变短 | 验收从推荐数改为每条推荐的期望产出;提前和客户改口径 |
| 冷候选人没有意愿数据 | 只能按职级带、客户类型给先验,个体差异被平均掉 | 交付区间,不冒充个体判断;接触后再更新状态 |
| 周期数据缺失 | ATS 的 dateAdded 是补录时点,算出来的天数不成立 | 用项目台账补建档与关闭时间;没有台账的岗位不进回测 |
| 小样本 | 桶内 n 小于 30,转化率波动很大 | 只报区间,不做个体排序;扩样后再定权重 |
| 顾问习惯 | 纪要密度不均,模型学到的是哪个顾问写得细 | 第二标注人、200 份扩样;按顾问分层检查 |
| 合规边界 | 薪酬、股权、客户名拿不到建模授权 | 用区间代替精确值;三档授权;撤回可执行 |
| 组织阻力 | 顾问不愿多写一层记录,D5 变成空表 | 把记录嵌进现有项目流程,不另加表;先给顾问看到回测收益 |
Offer 到入职 99.5% 这个数,说明 offersign 与 onboard 的口径可能重叠,不能直接当转化率用。试点阶段要用项目台账复核每一条 Offer 与入职记录,确认是同一人、同一岗位、同一时间窗。
90 天路线
不追求一次把模型做完。先把两张卡和一张表跑起来,用 20–30 个已关闭岗位验证方向,再决定要不要扩到第二个职级带。
定两张卡:岗位准入卡、状态约束卡。选 3–5 家客户,补项目台账的建档与关闭字段,预注册试点指标。同步改授权话术。
选 10–15 个已关闭或即将关闭的岗位,旧新各半。每周复盘一次,记录 D5。先看名单质量与顾问工作量,不急着算显著性。
补到 20–30 个岗位,算转化、关闭周数、每条推荐期望产出与区间。决定是否扩到第二职级带,或只保留状态约束卡。
交付物
- 两张卡:岗位准入卡、JD 状态约束卡,能直接给顾问用。
- 一张排序表:候选人、岗位、联合概率、区间、下一步动作。
- 一份回测报告:旧新对照、校准曲线、关闭周数、留存。
- 一份客户验收说明:把推荐数口径改成期望产出,写清哪些指标暂不承诺。
附录
A. 状态约束卡模板
| 维度 | 必填 | 写法 |
|---|---|---|
| 职级带 | 是 | 例如 P7–P8 / 总监,写明汇报线与管辖范围 |
| 能力带 | 是 | 必须满足的技术栈、项目阶段、团队规模 |
| 三笔账底线 | 是 | 钱:涨幅下限;权:汇报线 / 管辖 / 背书;情绪:最不能忍的一件事 |
| 硬约束 | 是 | 城市、竞业、到岗时间、家庭约束 |
| 时间窗 | 是 | 客户希望多久到岗,岗位预计还能开多久 |
| 背书路径 | 否 | 候选人信谁、谁引荐、目标团队里有没有熟人 |
| 客户侧冲击 | 是 | HC 冻结、组织调整、审批卡点、面试官更换 |
B. 排序算例
以下数字仅演示算法,不是实测。候选人 A:接受 0.35、过面 0.60、入职 0.95、留存 0.80、岗位预计 10 周关闭;候选人 B:接受 0.50、过面 0.55、入职 0.95、留存 0.70、岗位预计 14 周关闭。
B = 0.50 × 0.55 × 0.95 × 0.70 ÷ 14 ≈ 0.013 单位是「每周期望产出」的相对指数,不直接当人数。A 的接受概率低,但岗位关闭快、留存高,期望产出反而略高。
C. 指标定义
| 指标 | 口径 |
|---|---|
| 推荐 → 面试 | 客户面试人数 ÷ 推荐人数;同一候选人多次推荐按一条计 |
| 面试 → Offer | Offer 人数 ÷ 客户面试人数;面试轮次按岗位流程定义 |
| Offer → 入职 | 入职人数 ÷ Offer 人数;需核对同一人、同一岗位、同一时间窗 |
| 12 个月留存 | 入职满 12 个月仍在职人数 ÷ 入职满 12 个月人数 |
| 关闭周数 | 岗位关闭时间减建档时间,按周计;用项目台账,不用 ATS 补录时间 |
| 每条推荐期望产出 | 四个概率连乘除以关闭周数;分桶报区间,不报单点 |