编程

job-match-priority

试用

Match and prioritize job listings against a candidate profile using KSAO-based dual-layer funnel scoring with Agent reasoning.

它能做什么

Match and prioritize job listings against a candidate profile using KSAO-based dual-layer funnel scoring with Agent reasoning.

技能文档

JD 匹配优先级判定

基于 KSAO 框架(Knowledge / Skills / Abilities / Other)的双层漏斗匹配。全链路 Agent 推理,零脚本。


快速开始

当用户要求简历匹配、JD 匹配、岗位筛选时,触发此 skill。


Workflow

Step 0: 判断使用阶段

首次使用 → 进入引导流程(Step 0.1 - 0.6) 非首次使用 → 检查已存配置,直接进入 Step 1

判断依据:

  • 用户是否已有候选人画像(KSAO)→ references/candidate-profile.md
  • 用户是否已校准过匹配标准
  • 用户是否明确说"用之前的配置"

Step 0.1: 收集求职偏好(5 问,逐问逐答)

交互原则:每问一答,不一次甩 5 个问题。

#问题目的输出
1你期望的岗位方向是什么?(如:总助、HR、产品经理、运营...)确定目标岗位类型岗位类型标签
2期望薪资范围?(月薪,如 15-20K)硬过滤阈值薪资区间
3期望工作城市?(可多选)硬过滤阈值城市列表
4有哪些绝对不考虑的行业/岗位类型?硬过滤排除项排除列表
5对工作强度/福利的底线要求?(如:双休、不加班、不接受单休...)硬过滤福利项福利底线

Step 0.2: 提供简历

两种方式(二选一):

  • 方式 A: 提供简历文件路径(本地文件)
  • 方式 B: 直接粘贴简历文本内容

Step 0.3: 生成双画像

画像 A:候选人画像(KSAO)

从简历中提取,按 KSAO 四维度结构化。详见 references/candidate-profile.md#一、候选人画像结构(KSAO 四维度)

输出格式:

【候选人画像】
K(知识):学历 X,院校 XX,行业知识 XX
S(技能):硬技能 XX,管理技能 XX,工具技能 XX
A(能力):战略能力 L_X,组织能力 L_X,沟通能力 L_X,执行能力 L_X
O(其他):动机 XX,价值观 XX

画像 B:求职 JD 画像(理想岗位特征)

综合求职偏好 + 候选人能力画像,生成"理想 JD":

【求职 JD 画像】
目标岗位:XX(XX方向)
岗位层级推断:L_X-L_X(基于 X 年经验 + 薪资期望)
核心能力维度:XX、XX、XX
加分维度:XX、XX
排除项:XX、XX
福利底线:XX

Step 0.4: 确认漏斗标准 + 自定义能力维度

重要:能力维度需根据用户画像动态生成,而非使用预设维度。

将画像转化为可执行的匹配规则,向用户确认:

基于你的画像,我拟定了以下匹配标准:

【硬过滤】
- 薪资:XX-K 之外直接标记 low
- 地点:非 XX 且不接受远程 → low
- 行业:XX、XX → low
- 排除:XX、XX

【能力维度权重】(根据你的画像定制,5-8 个维度)
- 核心维度:XX、XX(权重最高)
- 重要维度:XX、XX
- 加分维度:XX、XX

【能力深度要求】
- 目标岗位层级:L_X-L_X
- 深度匹配范围:L_X-L_X 可接受

以上标准是否需要调整?可以增删维度或调整权重。

维度生成原则:

  1. 从候选人简历中提取高频能力关键词,聚类为维度
  2. 结合目标岗位的典型能力要求
  3. 用户可自定义维度名称和同义词簇
  4. 总维度数建议 5-8 个

用户确认 → 进入校准测试


Step 0.5: 校准测试(用户提供 ≥10 份 JD)

目的: 用真实数据验证匹配标准,让用户校准判定结果。

要求用户提供:

  • ≥10 份 JD(飞书表格链接 / 本地 CSV / 直接粘贴)
  • 优先选择用户已知"应该匹配"和"不应该匹配"的 JD(用于验证)

执行:

  1. 对每份 JD 执行完整的 Layer 1-3 匹配(详见 Step 3)
  2. 生成匹配结果表格:
#岗位名称公司判定理由命中维度深度匹配
1XXXXhighXX维度A+维度B匹配
2XXXXlowXX仅维度C不匹配
.....................

Step 0.6: 用户审阅 + 校准

展示结果后,问用户:

以上 10 份 JD 的匹配结果,是否有需要调整的?
- 哪些判定偏高了?(实际不匹配但判为 high/medium)
- 哪些判定偏低了?(实际匹配但判为 low)
- 漏斗标准需要修改吗?

用户反馈处理:

反馈类型处理方式
"这条应该是 high 不是 medium"检查维度命中和深度,调整对应维度权重或阈值
"这条不应该被过滤"调整硬过滤规则(放宽薪资/地点/行业限制)
"这条应该被过滤掉"增加硬过滤规则(添加排除项)
"整体没问题"确认配置,进入正式匹配

校准循环:

  • 用户有调整 → 修改标准 → 重新跑校准测试 → 再次审阅
  • 用户确认无误 → 存储最终配置 → 进入 Step 1

Step 1: 检查数据源与 JD 完整性

1.1 数据源识别

输入类型处理方式
飞书多维表格链接通过 bitable API 读写
本地 CSV 文件新建 <原名>_判定结果.csv
本地 Excel 文件新建 <原名>_判定结果.xlsx
直接粘贴 JD逐条分析

1.2 JD 信息完整性检查

对每条 JD 检查以下字段是否齐全:

字段必要性缺失影响
岗位名称必需无法判断岗位类型和 AI 提升
公司名称重要无法判断行业
JD 描述必需无法进行能力维度匹配
薪资范围重要硬过滤可能误判
工作地点重要硬过滤可能误判
经验要求参考深度匹配精度下降
行业信息参考行业过滤可能误判

完整性判定:

  • 完整: 岗位名称 + JD 描述 + 薪资 + 地点 齐全
  • 基本完整: 岗位名称 + JD 描述 齐全,缺薪资或地点
  • 不完整: 缺岗位名称或 JD 描述

处理方式:

  • 完整 / 基本完整: 正常执行匹配,结果可信
  • 不完整: 提醒用户,说明"基于不完整信息分析,结果可能不准确",仍执行匹配

1.3 数据去重(必须)

  • job_id岗位名称+公司名称 去重,保留首条
  • 去重后统计实际总数,汇报去重数量

Step 2: 读取待处理记录

  1. 获取表格记录(飞书 bitable / 本地文件)
  2. 过滤:排除已有"优先级判断"的记录
  3. 获取准确的 record_id

Step 3: 批量判定(每批 5 条)

对每条记录执行完整匹配流程:

Layer 1:硬过滤

references/priority-rules.md#Layer 1:硬过滤 执行:

  • 薪资过滤
  • 地点过滤
  • 行业过滤
  • 排除项检查

不通过 → 直接标记 low,理由说明硬过滤原因

Layer 2:能力维度匹配(语义聚类)

references/priority-rules.md#Layer 2:能力维度匹配(语义聚类) 执行:

  • 使用 Step 0.4 用户确认的自定义能力维度(5-8 个)
  • 每个维度有同义词簇
  • 命中任一同义词 → 该维度得分 +1(不重复计分)
  • 统计命中维度数

Layer 3:能力深度匹配

references/priority-rules.md#Layer 3:能力深度匹配 执行:

  • 从 JD 推断岗位层级(多维信号)
  • 评估候选人能力深度
  • 判断深度匹配类型(精准/超配/不足)

综合判定

Layer 1 不通过 → low
Layer 1 通过 → 结合 Layer 2 + Layer 3 综合判定
  → high / medium / low

判定标准参考 references/priority-rules.md#综合判定(Layer 1-3 汇总)但以 Step 0.4 用户确认的标准为准。

AI 关键词提升

仅检测职位名称(title),不检测职位描述(description)。 title 含 AI 关键词 → 提升 1 级(low→medium, medium→high)。 详见 references/priority-rules.md#AI 关键词提升规则

理由生成

30 字以内,格式:[核心原因],[辅助说明]


Step 4: 写入结果

飞书多维表格: 每批 5 条判定完成后立即 batch_update

本地 CSV / Excel: 创建新文件 <原名>_判定结果.<扩展名>

  • 检查是否已有 优先级判断优先级判断理由 字段,若无则追加
  • 原始文件不做任何修改

字段配置:references/field-config.md

失败 → 记录失败 record_id,继续下一批,最后重试


Step 5: 汇报结果

简洁汇报:

匹配完成
总计:X 条(去重后)
high:Y 条(Z%)
medium:M 条(N%)
low:L 条(P%)
不完整 JD:N 条(结果可能不准确)

核心提醒

  • 数据必须先去重(按 job_id 或 岗位+公司),否则重复记录导致判定结果膨胀
  • AI 提升仅检测 title,description 中的 AI 关键词不触发提升
  • 能力维度按维度计分,不按关键词计分,避免同义词重复膨胀
  • 全链路 Agent 推理,不使用脚本,确保语义理解准确性
  • JD 不完整时必须提醒用户,说明结果可信度下降
  • 能力维度需动态生成,根据用户画像定制,而非使用预设维度

相关文件

文件用途何时加载
references/candidate-profile.md候选人画像标准(KSAO 框架 + 能力深度模型)Step 0.3 生成画像时
references/priority-rules.md优先级判定规则(硬过滤 + 能力维度 + 深度匹配 + AI 规则)Step 3 批量判定时
references/field-config.md飞书多维表格字段配置 + 易错点 + 错误回滚Step 1 检查字段 + Step 4 写入时

Assets(模板与文档)

文件用途
assets/usage-guide.md用户使用指南(首次使用流程说明)
assets/edge-cases.mdEdge Cases 与特殊情况处理

相关技能

Match resume against a job description. Quantified scoring and prioritized improvement tips.

4 次安装

Evaluates how well a candidate's resume matches a target job description (JD) and produces a clean, professional HTML assessment report. Parses the resume (v...

Reverse-engineer job descriptions: translate jargon ("5 years" → 3), infer company culture (red flags, vibes), match to your resume, detect negotiation signa...

1 次安装

Use when comparing two or more job offers, deciding between a remote and on-site role, weighing a higher salary against a long commute, moving cities for a job, pricing the real value of benefits, or preparing a salary negotiation counter-offer. Computes true total compensation — base + expected bonus + capped retirement match + risk-discounted equity − health premiums − commute cost (km + parking) − cost-of-living adjustment — then effective hourly rate on REAL hours (contracted + overtime + commute), PTO valuation, and the exact break-even base salary the losing offer needs to match the winner. Outputs a negotiation-ready target number.

Turn interview notes into a structured candidate scorecard and hire recommendation. Use when asked to write an interview scorecard, a candidate evaluation, a...

Use for WorkorAI talent marketplace requests. Candidate triggers: "найди мне работу", "ищу работу", "подбери вакансию", "find me a job", "I need work", "help...

3 次安装