前言:做AI模拟面试功能,需要实质性提升hr工作效率,因此需要评估功能,能不能真实考察出候选人之间的差别?功能使用环节是否丝滑,能否真实减少hr工作,让hr实际用起来?毕竟要人去做不熟悉的事,人性是拒绝的,除非这事真的能给他带来收益或者单纯的下面派发的政策性规则了。
一、怎么评估不同岗位、不同层级的候选人?
招聘面试长期存在一个问题:评价标准因人而异。同一个岗位、同样的简历,不同面试官给出的判断可能相差很大,有人更看重学历,有人凭主观印象,评价还容易受当天状态影响。结果是候选人能否通过,很大程度上取决于面试官是谁。而且面试结束后,判断依据留不下来,难以复盘和追溯。
这里的核心需求是:需要一套所有岗位、所有面试官通用的评价标准,让候选人可以横向比较。
对应的产品设计是先确定"考什么"。我们定义了六个固定维度:专业技能、思维认知、人际能力、工作效能、职业性格、学习能力。维度固定,权重按岗位动态调整,技术岗侧重专业技能,销售岗侧重人际与抗压。维度固定是为了统一标尺、保证可比性;权重可调是为了适配不同岗位,同时避免每个岗位单独维护一套模板、失去复用性。
这个方案有取舍:部分岗位(如创意类、复合型)套用六维会不够贴合。我用个别岗位的适配度,换取了大多数岗位的可比性和规模化复用。对一个要覆盖大量岗位的产品,这个取舍的投产比更高。
二、JD 不能直接作为考题
有了标准,还有一个问题:不能直接拿 JD 让 AI 去考。
JD 是面向候选人的招聘信息,比如"负责渠道拓展、具备资源整合能力",它不是考核标准。有经验的面试官看到这句,会把它转化为具体的考核点,比如考察候选人的资源积累和抗压能力。这层转化依赖经验,AI 不会自动完成。如果直接把 JD 给它,它只会照字面提问,问出来的问题往往泛泛、区分度低。
所以中间需要一层,把 JD 拆解成具体的考核能力项,我们称为考察点,后续的提问、评分、报告都基于它。
这一层我没有完全交给 AI。它决定了整个系统的上限,考察点里没有的能力,AI 再强也考不到。因此做法是 AI 生成初稿,最终保留和删减由熟悉该岗位的人确认。哪些环节可以自动化、哪些必须人工把关,这个判断本身就是产品的关键。
三、如何让面试过程保持可控
接下来是让 AI 实际执行面试。如果让模型自由发挥,过程会失控:偏离主题、遗漏考察点、重复提问、时长超出预期。招聘场景容错率低,这类失控无法接受。HR 的诉求是每场面试都稳定、覆盖到位、不超时。
我们的做法是给对话引入一层显式状态。每一轮,系统记录当前进度:已考察哪些点、还剩哪些、处于哪个阶段、简历中还有哪些疑点待核实。AI 每一轮都基于这个状态生成问题,生成后再更新状态。这样面试中断可以恢复,每一步也可追溯。同时明确分工:需要理解和判断的部分交给模型(理解回答、生成追问、给出评价),需要确定性的部分交给规则(权重闭合、考察点数量约束、去重、超时控制、断线重连)。模型负责智能,规则负责稳定。
这里还有一个实现上的原则:AI 不是一个笼统的"面试官",而是被拆成一组各有约束的子任务,包括生成维度权重、抽取考察点、生成追问、单题评分、聚合评价、出总评、风险识别,每一块有各自的输入、输出和约束。比如抽取考察点那一步,要求产出 30 到 40 个、去重、按维度占比分布、只返回结构化数据。拆开的好处是边界清晰、可以单独替换、出问题能定位到具体环节。把所有任务塞进一个笼统的指令,只适合做演示,不适合上生产。
时长控制上有一个值得说的细节。HR 要求单场面试不宜过长,最直接的做法是到时截断,但实际使用中会出现问题:候选人常常在一道题回答到一半时被打断,回答不完整,该题的评估也失效,体验较差。我的判断是,时长不应作为面试过程中的强制中断,而应作为面试开始前的预算。改进后的方案是在面试开始前,根据设定的总时长按比例裁剪考察点数量,时间紧张就减少考察点,但保证每个都能完整问完。
这个方案也有代价:它牺牲了一部分灵活性。有经验的面试官会顺着候选人的某个回答临时深入,我们的系统做不到,只能按预设的考察点推进。初筛阶段我认为可控比灵活更重要,但这个代价是存在的。
四、评分如何做到可解释、可追溯
过程可控之后,评分是更难的一关。给 HR 一个总分,他的第一反应通常是这个分数依据是什么,因为他需要拿这个结果向用人部门解释、为判断背书。一个无法解释来源的分数,HR 不会采用,宁可自己重新面一遍,那么系统的价值就落空了。
所以这里的需求是:分数必须可拆解、可解释、可逐层追溯。
我们采用分层评分:先对每道题评分,同一考察点下的多题聚合,再汇总到维度,最后按权重合成总分。任何一个分数都可以向下追溯,某个维度得分低,可以定位到具体考察点;某个考察点低,可以定位到具体回答。代价是耗时和成本较高,一场面试需要多次调用模型,但这部分投入不能省。此外,对背稿、回答模板化等情况,系统只作为风险提示提供给 HR,不直接下结论。AI 提供依据,最终判断由人做出。给到 HR 的报告除了总分,还包含整体评价、优势、劣势、待确认项和综合建议,可以直接用于招聘决策。
五、可解释不等于评得准
这里需要说明一点:可解释和评得准是两回事。一个分数能说清来源,不代表这个判断正确,一个错误的结论同样可以解释得很完整。
所以更关键的问题是:如何判断它整体上评得准。先定义"准",即 AI 给出的分数能否反映候选人的真实水平,高分者确实胜任、低分者确实不合适。难点在于"真实水平"以什么为参照。有两个标准。近的一个,是以资深面试官的判断为基准,比对 AI 评分与他们独立评分的一致性,这个可以即时验证,但它默认了面试官的判断是对的。远的、也是最终的标准,是 AI 高分候选人入职后的实际绩效,这才是"准"的根本定义,但需要入职半年到一年后才能回溯,目前尚不具备这个数据,我不会据此夸大结论。现阶段只能用一致性,加上以历史优秀员工和被淘汰候选人做回测,来近似评估。
除了准,还需要评估区分度和公平性。公平性是指能力相近的候选人,在性别、年龄、院校等因素上是否得到一致评分,这需要检查分数分布,而非凭主观判断。区分度是指分数能否将不同水平的候选人区分开,如果分数集中在一起,再准也没有实用价值。
需要如实说明:这个产品目前仍处于内部试点,仅由公司自有 HR 使用,尚无规模化商用数据。因此现阶段我最关注的指标是 HR 采纳率,即 HR 看过 AI 报告后,是采纳还是推翻其判断。采纳率持续提升,说明报告可用;每一个被推翻的案例,都是下一轮优化的输入。
六、上线后暴露的两个问题
以上都是设计阶段能够预见的。但产品上线后,很多问题在设计阶段无法预见,需要真实使用后才会显现。其中两个问题我印象较深,一个已经解决,一个仍在处理。
已经解决的是简历一致性核验。起因是 HR 的一个诉求:候选人简历包装得较好,进入面试细问后常与简历对不上,但单场面试难以核实到这个程度。这本身是资深 HR 在面试中一直在做的动作,边听回答边与简历比对,识别不一致。我们把这个动作显性化,做成两个功能:面试前扫描简历风险(空窗期、频繁跳槽、职级异常),生成针对性追问;面试中和面试后,比对回答与简历,标记不一致处提供给 HR。这部分是初版没有、上线后补充的。
仍在处理的是分数区分度不足,这个问题我思考得最多,一并把思路讲清楚。
使用一段时间后发现,多数候选人的得分集中在 60 到 80 分,好坏候选人分数接近。先要把问题定准:这不是评分准不准,而是区分度不够。招聘要的不是每个人的精确分数,是能把候选人排出先后、辅助筛选,分数集中就失去了筛选价值。所以衡量目标也要跟着换,从"分数是否准确"改为"分数能否拉开、排序是否正确"。
深入分析后,根因是三个因素叠加。一是大模型本身倾向给中间分,在百分制下很少给出极高或极低。二是系统让模型对单个候选人做绝对评分,缺少参照,只能给出模糊的中间值。三是分层加权平均本身会向均值回归,候选人有强项有弱项,平均后趋于中间,偏科信息被抹平。
据此我的判断是,这不是评分是否准确的问题,而是评分方式本身的问题,解决方向也不在于调整平均分。我倾向分两步走。先做低成本校准:把各分数段对应的表现明确写入提示词、作为评分锚点,并要求模型对明显好或差的回答拉开分差。这一步可以直接复用我们做维度权重时已有的"星级化"思路,它本身就是用非线性方式放大差异、避免集中在中段的。如果还不够,再改评分范式:让模型在同岗位候选人之间做排序和比较,而非孤立评分;把印象分拆成一组确定的二元观察点(有无量化结果、有无具体案例)再合成;总分不用纯加权平均,改为保留短板或亮点的算法。这些仍在验证,尚未完全落地。
这个问题也让我想清楚一个更根本的点:分数挤在中间,本质是在用绝对分数做一件本该靠排序完成的事。招聘的终点是选人、是排序,也许根本不必追求一个精确的百分制分数,直接做排序或 A/B/C 分档,可能更贴合业务本身。
这两个问题指向同一个结论:很多需求在设计阶段无法挖掘,需要真实业务先行使用才会浮现。因此我坚持在早期就让真实业务投入使用,这个阶段的反馈价值最高。
结语
最后是一点延伸的思考。这一轮做下来,有一个判断我越来越确信:人工面试的偏差是分散、随机的,不同面试官各有偏好,一定程度上可以相互抵消;AI 不同,它以同一套标准衡量所有人,标准一旦有偏,它不会自我纠正,反而会一致地、彻底地执行,而且因为看上去客观,往往不会被质疑。
所以我认为,AI 面试真正为结果负责的,从来不是 AI,而是制定标准的人。而这个人,很多时候就是产品经理。