# 候选评分规则证据表 状态:N02 独立代码复验与真实 MySQL/Docker 黑盒验收通过,待 Git 检查点;D01–D15 已确认。 文档类型:技术参考。本文记录 `CandidateScoringCalculator` 当前真实规则、数据、公式和证据限制。它不是对规则科学有效性的背书,也不是招聘决策指南。 ## 1. 证据等级 | 等级 | 含义 | |---|---| | DIRECT_RULE | 可直接验证的确定性业务计算,例如字段是否填写、固定加权公式 | | SELF_REPORTED | 主要来自学生本人填写,真实性和完整性依赖用户维护 | | BEHAVIOR_PROXY | 平台行为与目标概念可能有关,但不能等同于目标概念 | | UNVALIDATED_PROXY | 尚无试测、效度或公平性证据,不应据此形成强结论 | 当前系统没有足够证据将任何行为代理称为人格测量、信用评估或招聘成功预测模型。 ## 2. 全局规则 | 项目 | 当前实现 | 证据与限制 | |---|---|---| | 维度 | EDUCATION、INTERNSHIP、ABILITY、COMPLIANCE、STABILITY、GROWTH、INTEGRITY、ACTIVITY | 名称不一定等于实际被测概念 | | 展示权重 | 每维 12.50 | 实际综合分是可计算维度算术平均 | | 参与状态 | OK、ESTIMATED | PENDING、INSUFFICIENT_DATA 和 null score 排除 | | 综合分 | `sum(score)/count`,scale=2,HALF_UP | 不同参与维度集合之间不可直接比较 | | 分数边界 | 多数行为维度经 `cap` 限制至 0–100 | 上限截断会隐藏额外行为差异 | | 快照 | 同学生、维度、月份覆盖更新 | 月度快照不是不可变历史事实 | | 版本 | v0.1;能力开关开启为 v0.2 | 版本变化必须随响应和快照保存 | ## 3. EDUCATION ### 3.1 当前公式 ```text educationScore = 学历层次分 × 55% + 学校档次分 × 45% ``` 学历层次:博士 100、硕士 85、本科 70、大专 55、其他 50。 学校档次:内置 985 名单 85、内置 211 名单 75、名称以“大学/学院”结尾 65、未填写或其他 50。未填写或无法识别时状态为 `ESTIMATED`;学历缺失时 `INSUFFICIENT_DATA`。 | 项目 | 结论 | |---|---| | 数据来源 | 学生教育资料中的学历和学校 | | 证据等级 | SELF_REPORTED + UNVALIDATED_PROXY | | 可以说明 | 当前资料按平台固定分类规则得到的教育背景分 | | 不能说明 | 智力、实际技能、岗位绩效、学习能力或人才质量 | | 主要风险 | 学校名单硬编码、维护过期、学校名称匹配误差、社会经济背景代理、公平性风险 | | 可操纵性 | 学生可修改自报字段;需要资料真实性治理,但不能因此扩大企业隐私权限 | | 建议 | 一期只准确解释并标注未验证;后续评审移除学校项或显著降权 | ## 4. INTERNSHIP 当前固定返回 `PENDING`、`score=null`,原因是结构化实习数据源未接入。 | 项目 | 结论 | |---|---| | 证据等级 | DIRECT_RULE | | 可以说明 | 当前平台无法计算该维度 | | 不能说明 | 学生没有实习、实习不足或经验较弱 | | 建议 | 保持 PENDING;解释必须使用“未接入”,不得显示为 0 分 | ## 5. ABILITY 默认开关关闭时返回 `PENDING`。开启后只读取最新、有效、完整的 `WORKPLACE_ABILITY` 结果: ```text ABILITY = LOGIC×35% + EXECUTION×30% + LEARNING×20% + COMMUNICATION×15% ``` 要求四维各回答 6 题、总回答 24 题、分数均在 0–100,`validUntil > capturedNow`。最终 scale=2、HALF_UP。 | 项目 | 结论 | |---|---| | 数据来源 | V36 自研四维能力测评最新有效聚合结果 | | 证据等级 | DIRECT_RULE;题库测量意义仍属 UNVALIDATED_PROXY | | 可以说明 | 用户在当前自研题库和评分规则下的四维聚合表现 | | 不能说明 | 确定性工作能力、真实绩效或录用适合度 | | 防滥用 | 不取历史最高分;结果过期或结构异常时不参与;不泄露答案键 | | 待验证 | 小样本试测、信度、题目区分度、重测效应、与外部标准的关联 | ## 6. COMPLIANCE 当前实际计算求职偏好填写完整度:薪资 25、城市 25、用工类型 20、行业 15、岗位类型 15。五项均填写为 `OK`;至少一项填写为 `ESTIMATED`;全部缺失为 `INSUFFICIENT_DATA`。 | 项目 | 结论 | |---|---| | 证据等级 | DIRECT_RULE + SELF_REPORTED | | 可以说明 | 五类求职偏好字段的填写完整程度 | | 不能说明 | 合规意识、纪律性、服从性或职业道德 | | 风险 | 名称严重超出计算内容;填写更多即可得到更高分,但不代表偏好更合理 | | 建议展示名 | 求职偏好完整度 | | 后续建议 | 评审是否应退出跨候选排名,仅用于资料完善提示 | ## 7. STABILITY 有投递或近 30 天登录时以 50 为基础:账号超过 12 个月 +25,超过 6 个月 +15;有投递时撤回率低于 20% +15,高于 50% -20;近 30 天有登录 +10;结果截断至 0–100。无投递且无登录为 `INSUFFICIENT_DATA`。 | 项目 | 结论 | |---|---| | 证据等级 | BEHAVIOR_PROXY + UNVALIDATED_PROXY | | 可以说明 | 当前账号和平台求职行为形成的稳定信号 | | 不能说明 | 人格稳定、工作稳定、忠诚度或离职概率 | | 风险 | 新用户天然劣势;撤回可能由岗位变化、误投或企业原因造成;登录记录受产品使用习惯影响 | | 可操纵性 | 登录和减少撤回可改变分数;阈值公开可能诱导行为 | | 建议展示名 | 平台求职行为稳定信号 | | 后续建议 | 决定是否从企业评分及排名中移除账号月龄,或仅作为可信度信息 | ## 8. GROWTH 存在简历或技能时以 40 为基础:ACTIVE 简历数量至少 2 个 +15;最近简历更新时间在 90 天内 +15;技能标签至少 5 个 +15;结果截断至 0–100。二者均无数据时 `INSUFFICIENT_DATA`。 | 项目 | 结论 | |---|---| | 证据等级 | BEHAVIOR_PROXY + UNVALIDATED_PROXY | | 可以说明 | 简历维护和技能标签展示情况 | | 不能说明 | 成长潜力、学习速度、职业上升空间 | | 风险 | 多建简历版本和增加标签即可加分;技能数量不等于技能质量;无历史能力增量 | | 建议展示名 | 简历维护与技能展示信号 | | 后续建议 | 退出综合分或改成非评分的资料完善进度;若保留需加入去重、质量和冷却规则 | ## 9. INTEGRITY 有 Offer 历史或候选反馈时以 60 为基础:每个已接受 Offer +15,最多两个;每个过期 Offer -10,最多两个;反馈至少 3 条且均分至少 4 时 +10,有反馈且均分低于 3 时 -10;资料完整 +10;结果截断至 0–100。没有 Offer 且没有反馈时 `INSUFFICIENT_DATA`。 | 项目 | 结论 | |---|---| | 证据等级 | BEHAVIOR_PROXY + UNVALIDATED_PROXY | | 可以说明 | Offer 响应、反馈和资料完整度形成的履约代理信号 | | 不能说明 | 道德诚信、个人信用、欺诈风险或人格品质 | | 风险 | 接受 Offer 不必然等于守约;过期可能来自通知失败;反馈评分可能存在偏见或样本不足;资料完整与诚信不是同一概念 | | 可操纵性 | 接受行为、反馈数量及资料填写会改变结果 | | 建议展示名 | 履约与资料一致性信号 | | 强制文案 | “该信号不是个人征信、信用评级或道德评价” | | 后续建议 | 优先评审退出综合分和排名;独立诚信积分模块不得复用该分数充当积分余额 | ## 10. ACTIVITY 近 90 天投递:至少 6 次 +50、至少 3 次 +40、至少 1 次 +20;近 30 天平台操作至少 3 次 +30;存在发信记录 +20;结果截断至 0–100。全部为零时 `INSUFFICIENT_DATA`。 | 项目 | 结论 | |---|---| | 证据等级 | BEHAVIOR_PROXY | | 可以说明 | 指定窗口内的平台求职活动程度 | | 不能说明 | 工作积极性、职业动机、岗位能力或录用意愿 | | 风险 | 为得分而投递、登录、发消息;消息只判断是否存在且当前查询未限定时间窗口 | | 可操纵性 | 高;重复投递和任意消息可直接增加信号 | | 建议展示名 | 平台求职活跃度 | | 后续建议 | 保留为时效排序信号须单独评审;不建议与能力类维度等权解释 | ## 11. 跨维度问题 ### 11.1 概念重叠 资料完整度同时影响 COMPLIANCE、GROWTH 和 INTEGRITY,平台活跃行为同时影响 STABILITY 和 ACTIVITY。相同底层行为可能被重复计入综合分。 ### 11.2 缺失并非零分 当前缺失维度会退出分母,而不是记为零。解释必须明确“未参与”,不能显示成“表现较差”。但重新归一化也使不同人的综合分口径不一致。 ### 11.3 估算值 `ESTIMATED` 与 `OK` 同等进入综合分。学校未知和偏好部分填写均可能产生估算分,企业端目前只看到状态和聚合分,必须避免将估算分表述为精确结果。 ### 11.4 时间窗口 APPLICATION、LOGIN、AUDIT 和简历更新时间使用多个 `now()`,消息数量没有时间窗口。N02 应先统一计算时钟,但是否修改消息窗口属于评分规则变更,不能混入解释版本。 ## 12. 规则证据验证计划 ### 12.1 代码级确定性验证 - 为每条规则建立边界表和独立手算样例; - 固定 Clock 验证恰好 30/90 天、6/12 个月和 ABILITY 到期时刻; - 检查分数、贡献、原因与数据来源完全一致; - 验证 cap、负分、HALF_UP 和 null 分支。 ### 12.2 数据质量验证 - 统计各维度 OK/ESTIMATED/INSUFFICIENT_DATA/PENDING 覆盖率; - 检查学校名称无法识别率、偏好 JSON 错误率、Offer 通知失败率; - 检查同一底层行为跨维度重复计分比例; - 监测规则版本和异常结构,复用 V43 聚合能力但不扩大其个人数据范围。 ### 12.3 防操纵验证 - 重复投递、撤回、登录、发消息、创建简历版本和堆叠技能标签; - 比较一次行为与大量重复行为的边际影响; - 验证冷却、幂等和上限是否真正生效; - 发现高可操纵性时,不以隐藏阈值代替规则整改。 ### 12.4 测评证据 ABILITY 题库先完成小样本试测,再评估内部一致性、题目区分度、重测影响和题目淘汰。RIASEC 当前不直接进入候选八维评分,不应在 N02 中混入。 ## 13. N02 实现核对 - 解释版本固定为 `candidate-scoring-explanation-v1`,与 `candidate-scoring-v0.1/v0.2` 分离。 - 规则贡献由 `CandidateScoringCalculator` 的真实分支同步生成,`CandidateScoringExplanationAssembler` 只做白名单组装。 - 能力测评小数分数的逐项展示舍入差以 `SCORE_ROUNDING_ADJUSTMENT` 显式对账;不改变 V38 映射分数。 - 学生综合卡增加 `coverage` 与 `comparabilityNotice`;企业评分卡字段和 JSON 结构保持不变。 - `Clock`/`capturedNow` 贯穿一次评分计算及快照 `calculated_at`;未改变任何阈值、公式、权重或排名。 - 本轮无新 Flyway、表、错误码、公网路径或业务消息;真实 MySQL/Docker 验收仍待独立执行。 ## 14. 审计结论 当前代码在“确定性、可重复计算”层面具备基础,但不具备将多个代理维度解释为人格、诚信、成长潜力或招聘成功预测的证据。N02 可以先完成可信解释和限制披露;涉及分数、排名和企业决策影响的合理性整改必须作为独立规则版本处理。 D01–D15 已确认。当前代码在“确定性、可重复计算”层面具备基础,但不具备将多个代理维度称为人格、诚信、成长潜力或招聘成功预测模型的证据。N02 仅完成可信解释和限制披露;任何改变分数、权重或排名的后续动作必须另开评分规则版本并重新验收。