by Candidate Score (LX AI)

JD

JD +

我们如何构建评分引擎

我首先定义了工作描述和简历之间的明确契约。引擎读取纯文本,提取子句,并将每个子句映射到技能或要求短语。我避免使用任何试图猜测隐藏特征的模型;相反,我强制系统显示用于每个匹配的确切文本。

数据输入

工具接受两个文本块:工作描述和简历。没有文件解析,没有元数据提取,只有您粘贴的原始字符串。我在证据块中保持原始格式,以便您可以看到触发评分的确切句子。

匹配逻辑

对于每个要求子句,我使用词频-逆文档频率向量计算相似度评分。如果相似度超过阈值,我将其标记为优势;否则它成为一个差距。最终的适合评分是所有子句评分的加权平均,缩放到1-10。

证据捕获

每个优势或差距存储简历中的源句和工作描述中的源子句。我将它们存储为纯文本片段,而不是嵌入,所以您可以稍后审计决策。这个证据块就是使评分可解释的原因。

输入字段示例表

字段 | 描述 | 示例 工作描述 | 角色自由文本 | "具有Python和REST API的经验" 简历 | 候选人自由文本 | "使用Python构建REST API两年" 匹配子句 | 工作描述中找到相似度超过阈值的子句 | "具有Python和REST API的经验" 证据片段 | 用于匹配的简历确切句子 | "使用Python构建REST API两年"

招聘人员的典型工作流程

我每天早上打开新的职位发布时都会使用这个工具。这些步骤简短、可重复,并且留下了纸质记录。

步骤 1:粘贴职位描述

我从招聘经理的电子邮件中复制完整的职位描述,并将其粘贴到左边的框中。我不编辑或总结;我保留原始的措辞。

步骤 2:上传简历

我将简历文本粘贴到右边的框中。如果我有一个 PDF 文件,我首先使用一个免费的离线工具将其转换为纯文本,然后粘贴。

步骤 3:查看评分卡

引擎返回一个适合度评分、一个优势列表、一个缺口列表和每个项目的证据。我滚动浏览证据以验证匹配是否真实,而不是关键词的伪影。

步骤 4:添加注释

我在我的申请人跟踪系统中添加一个简短的注释,链接到评分卡 URL。这条注释记录了日期、评分以及我对候选人的任何后续问题。

评分卡包含的内容

输出内容故意限制为可以追溯到源文档的信息.

适合度评分范围

评分范围从1(重叠很小)到10(几乎完全重叠)。我将评分低于4视为明显不匹配,评分5-7视为值得讨论,评分8-10视为面试的强势候选人.

优势与工作描述

每个优势都是候选人简历满足的工作描述子句。我显示子句文本、相似度百分比和简历中的证据片段.

缺口标志

每个缺口都是工作描述子句中未达到阈值的部分。我显示子句文本、找到最好的相似度和没有证据达到阈值的注释.

证据行

对于每个优势和缺口,我提供简历中的直接引用。我从不推断意义;我只显示候选人实际写的内容.

如何遵守平等就业机会委员会指南

我设计了该系统以避免对受保护特征的任何推断。以下部分解释了我采取的具体步骤。

我们忽略的属性

模型从不查看姓名、地址、毕业年份或可能暗示年龄、性别、种族、残疾或国籍的任何字段。如果这些字段出现在简历文本中,我会在处理前删除它们。

我们如何避免代理信号

我检查间接线索,例如与某些群体相关的学校名称,或可能揭示隶属关系的措辞。如果某个术语出现在内部观察名单上,我会将其标记为手动审查,并且不会在相似性计算中使用它。

审计跟踪

每次运行都会写入一个日志条目,包括输入文本的哈希值、评分代码的版本以及时间戳。我保留这些日志六个月,以便我可以证明在决策中没有使用人口统计数据。

什么这不是

我想明确说明该工具的限制,以免您将其误认为是其他东西。

不保证被录用

评分仅反映与书面职位描述的相似度,不预测未来表现、文化适应性或团队动态。我从不将评分作为候选人会成功的承诺。

不替代人类判断

招聘人员或招聘经理必须审查证据、与候选人交谈并做出最终决定。该工具仅提供一致性和可追溯性。

不黑盒排名

与不透明的模型不同,不透明的模型只给出一个没有解释的数字,Candidate Score 显示每个优势、每个差距以及产生每个结果的确切文本。您可以看到为什么候选人会得到这样的评分。

我们如何处理边缘情况

现实世界的输入很混乱。我为最常见的情况建立了特定的防护措施。

缺失的部分

如果简历缺少技能部分,我仍然会解析整个文档以查找关键字匹配。我不会因为非标准布局而惩罚候选人。

非常长的文档

在计算相似度评分之前,我将输入截断为10 000个字符,以保持可预测的运行时间。我将完整的文本存储在证据块中,因此不会在审查过程中丢失任何内容。

多种语言

我使用轻量级分类器检测每个块的语言。如果简历和工作描述(JD)使用不同的语言,我会返回警告并且不计算评分。

模糊的缩写

在计算相似度之前,我使用内部字典扩展常见的缩写。如果缩写不在字典中,我将其视为字面符号。

我们如何更新模型

改进来自用户反馈和外部关于安全AI使用的指导.

反馈循环

每个月,我都会导出匿名的评分卡,包含招聘人员关于假阳性和假阴性的笔记。我查看这些笔记以调整相似性阈值或添加新的停用词.

外部标准

我遵循OWASP针对LLM应用的前10项安全风险,当我评估提示注入风险时,即使工具不向最终用户暴露提示接口.

版本控制

每个版本都会获得语义版本标签。我发布一个简短的更改日志,列出对停用词列表、相似性阈值或证据提取逻辑的任何更改.

操作员针对JD对齐筛查的诚实边界检查清单

我在每个涉及此主题的发布旁边都保留一份书面检查清单。这个清单故意很枯燥:命名所有者,命名证据工件,命名回滚。如果一个步骤不能产生一个文件、一个票据或一个日志行,那么它就不是一个步骤——它是一个愿望。

在您更改生产环境之前

- 冻结您将要测量的分支或配置修订版。 - 记录当前的故障模式,包括一个具体的输入和一个具体的输出。 - 确认作业运行的身份,以及该身份是否可以访问不应访问的数据。 - 打开您将要引用的主要参考资料:https://owasp.org/www-project-top-10-for-large-language-model-applications, https://www.nist.gov/itl/ai-risk-management-framework.

在您运行检查时

- 更喜欢一个可复现的路径,而不是十个轶事截图。 - 在触发工具或查询之前,写下预期的安全结果。 - 捕获正在测试的确切命令、提示、模式或正则表达式——而不是一个改述。 - 如果系统可以执行操作(发送、写入、删除、传输),则在同一通行中需要一个确认边界。

完成后

- 即使扫描结果干净,也要用所有者和日期记录残留风险。 - 不要将绿色检查转换为声称完整性的销售语言。 - 当模型、工具模式或验证规则发生变化时,再次运行相同的检查清单。

信号 | 记录内容 | 是否停止发货? 意外写入或发送 | 工具名称、参数、身份 | 是,直到被网关拦截 缺少对破坏性操作的确认 | 调用路径和绕过 | 是 不受信任的文本被视为指令 | 源表面和所执行的操作 | 是,针对代理访问 扫描结果干净,判断开放 | 推迟的项目 + 所有者 | 仅当核心路径安全时

candidatescore 有助于进行可衡量的第一次通行。架构选择、法律签署和面向客户的声明仍然需要一个人类所有者。将检查清单中的每一行视为决策支持,而不是证书。

如何向买家解释限制

当一个潜在客户问产品是否"涵盖一切"时,我会回答产品的边界:自动检查可以捕捉已知模式,但新的链式和策略判断仍需要人工审查。这份诚实可以降低支持负载,并保持博客内容与产品实际功能的一致性。

如果您需要第二个意见,请将此文档与下面的参考资料和您自己的测试环境结合起来。不要仅仅因为模型写了一个自信的总结就跳过测试步骤。

参考资料

- https://owasp.org/www-project-top-10-for-large-language-model-applications - https://www.nist.gov/itl/ai-risk-management-framework

常见问题

评分卡中包含什么内容?

它列出了与工作描述(JD)相匹配的优势、缺陷标志以及每个评分的依据。

评分是否可以解释?

是的。每个评分都包含依据,因此您可以看到为什么候选人获得了这样的评分。

我需要格式化简历吗?

您只需粘贴简历和工作描述;工具会处理比较。

谁应该使用它?

想要对书面工作描述进行一致、有证据支持的筛选的招聘人员和招聘经理。

参考资料

- EEOC — 禁止的就业政策 - NIST AI RMF

想要试用产品? Candidate Score

生成于 2026-09-17 · 只使用主要来源 · 不包含虚假的流量指标

相关阅读

- 证据支持的简历评分卡优于黑盒排名 — Candidate Score - LX AI 微型 SaaS 主题矩阵

- 欧盟 AI 法案对 AI 开发的影响

- 和 在 AI 开发中的应用

仅供决策辅助,不构成录用决定。

← 返回博客

这次结果有帮助吗?反馈