通过蒸馏生产环境 LLM 信号构建可解释的简历—职位匹配特征表示
摘要
论文提出了一套用于可解释简历—职位匹配的两阶段流水线:首先是一个离线 LLM 标注器,经招聘人员反馈迭代优化,产出八个具名的匹配维度;随后将这些维度蒸馏到一个基于 LoRA 适配、可在 CPU 上部署的双编码器模型中,并为每个维度设置独立的预测头。该模型在 168,772 组标注配对数据上训练,在 927 条生产环境反馈样本组成的子集上,蒸馏后的部署模型与招聘人员记录的决策一致率达 95.79%。
查看缓存全文
缓存时间: 2026/10/05 10:06
# Building Interpretable Feature Representations for Resume–VacancyMatching by Distilling Production LLM Signals
Source: [https://arxiv.org/html/2610.03112](https://arxiv.org/html/2610.03112)
###### Abstract
Matching candidates to vacancies is central to recruitment, and a recruiter needs to see*why*a candidate fits, not only a single opaque relevance score\. We provide this evidence as named, interpretable matching dimensions recruiters can act on — eight in our current deployment\. We propose a two\-part approach\. The first is an LLM\-based labeler whose prompts and feature definitions were refined from recruiter feedback while it served as an earlier production matching stage\. In the current architecture, it is used only for offline labeling and is not called on online requests\. The second is a feature bi\-encoder distilled from it: a LoRA\-adapted embedding backbone with compact per\-dimension heads that runs on CPU and serves all online requests\. Both parts keep improving: prompts are revised as feedback arrives, and the bi\-encoder is retrained on the updated labels\. The model is trained on 168,772 labeled vacancy–resume pairs \(17,921 vacancies and 180,030 resumes\)\. Recruiters using the service can confirm or revise surfaced feature predictions\. On 927 recruiter\-recorded values from this selected production\-feedback subset, the deployed student agrees with the recorded decisions in 888 cases \(95\.79%\)\. This is operational, non\-blinded agreement rather than an independent human evaluation\.
## 1Introduction
Matching a candidate to a vacancy is not captured by a single number\. A candidate can fit an opening through job\-title alignment, hard skills, experience recency, seniority, certification requirements, and other fine\-grained dimensions\. A recruiter screening for an opening needs to know which of these hold — the named dimensions that explain why a candidate does or does not fit — and works with those values directly during screening\.
A single relevance score collapses these dimensions into one value\. Such a score can order candidates, but it does not say why a candidate fits: the recruiter cannot read off whether a low position reflects a skill gap, a seniority mismatch, or a missing certification\. Person–job\-fit systems that emit one fit score\([Qin et al\., 2018](https://arxiv.org/html/2610.03112#bib.bib15);[Le et al\., 2019](https://arxiv.org/html/2610.03112#bib.bib17)\)are effective for ordering, but on their own do not meet this requirement, since the final position is not the signal a recruiter acts on\. We instead predict each matching dimension explicitly and surface it as a named value\.
To address this, we develop a two\-part approach\. The first part uses an LLM that produces structured values for each matching dimension of a candidate–vacancy comparison; its prompts and feature definitions are refined from recruiter feedback during production use, which lets us prototype complex matching logic without collecting large manual label sets in advance\. This part enables fast adaptation of the logic but does not meet production latency and serving\-cost requirements \(§[4\.1](https://arxiv.org/html/2610.03112#S4.SS1)\), so its role is to label data rather than to be used in real business processes\.
The second part is the distillation of the LLM labeler into a feature bi\-encoder\. Using the refined prompts, we annotate a large corpus of real candidate–vacancy comparisons; on that corpus we train a cross\-encoder whose soft per\-class distributions act as a teacher, and then a feature bi\-encoder whose representations expose the same interpretable dimensions through compact heads \(full pipeline in Figure[2](https://arxiv.org/html/2610.03112#S5.F2)\)\. The distilled model serves on CPU and removes the per\-resume external API call while keeping the feature\-level structure recruiters rely on\. This is not a one\-off migration: prompts continue to be revised as feedback arrives, and the distilled model is retrained on the updated labels, so the approach stays in an ongoing improvement loop\. We position our approach against the closest prior systems in §[8](https://arxiv.org/html/2610.03112#S8)\.
## 2Related Work
#### Recruitment and talent matching\.
Early person–job\-fit systems learn a single match score over structured vacancy and resume representations\([Qin et al\., 2018](https://arxiv.org/html/2610.03112#bib.bib15);[Le et al\., 2019](https://arxiv.org/html/2610.03112#bib.bib17);[Bian et al\., 2020](https://arxiv.org/html/2610.03112#bib.bib16)\), and classical retrieval ranks candidates by embedding similarity\([Karpukhin et al\., 2020](https://arxiv.org/html/2610.03112#bib.bib11);[Reimers and Gurevych, 2019](https://arxiv.org/html/2610.03112#bib.bib10)\)\. These systems return an order, not the reasons behind it, which is the limitation our per\-dimension output targets\. More recent work uses LLM\-derived signals:[Li et al\. \(2025\)](https://arxiv.org/html/2610.03112#bib.bib1)combine fine\-grained LLM signals with a role\-aware MoE ranker, and several systems distill LLM matching signals into smaller scorers\([Jouanneau et al\., 2026](https://arxiv.org/html/2610.03112#bib.bib18);[Fu et al\., 2025](https://arxiv.org/html/2610.03112#bib.bib19);[Yu et al\., 2026](https://arxiv.org/html/2610.03112#bib.bib20)\)\. These are the closest systems to ours; we compare against them in detail in §[8](https://arxiv.org/html/2610.03112#S8)\(Table[5](https://arxiv.org/html/2610.03112#A1.T5)\)\.
#### Distillation and LLM annotation\.
Knowledge distillation\([Hinton et al\., 2015](https://arxiv.org/html/2610.03112#bib.bib12);[Tang et al\., 2019](https://arxiv.org/html/2610.03112#bib.bib13)\)and cross\-encoder\-to\-bi\-encoder distillation\([Hofstätter et al\., 2021](https://arxiv.org/html/2610.03112#bib.bib6);[Ren et al\., 2021](https://arxiv.org/html/2610.03112#bib.bib7)\)transfer a stronger model’s signal into an efficient one; cross\-encoders\([Nogueira and Cho, 2020](https://arxiv.org/html/2610.03112#bib.bib5)\)read both documents jointly, dense bi\-encoders\([Karpukhin et al\., 2020](https://arxiv.org/html/2610.03112#bib.bib11);[Reimers and Gurevych, 2019](https://arxiv.org/html/2610.03112#bib.bib10)\)encode them independently\. LLMs are increasingly used as annotation engines\([Gilardi et al\., 2023](https://arxiv.org/html/2610.03112#bib.bib14)\), and prior work compresses LLMs for recommendation via distillation and pruning\([Behdin et al\., 2025](https://arxiv.org/html/2610.03112#bib.bib2)\); cumulative\-link ordinal models\([McCullagh, 1980](https://arxiv.org/html/2610.03112#bib.bib8);[Cheng et al\., 2008](https://arxiv.org/html/2610.03112#bib.bib9)\)supply structural priors for ordered labels\. Augmented SBERT\([Thakur et al\., 2021](https://arxiv.org/html/2610.03112#bib.bib24)\)also transfers supervision from a cross\-encoder to a bi\-encoder, but uses the cross\-encoder to label additional sampled pairs and enlarge a smaller training set\. Here a production\-refined LLM already supplies the hard multidimensional labels, while the cross\-encoder provides soft per\-class targets\. We therefore treat cross\-encoder\-to\-bi\-encoder transfer as established methodology; the system contribution is the feedback\-refined labeling policy, eight independently supervised dimensions, stability\-aware labeling, applicability gating, and the relabel/retrain lifecycle\. The detailed comparison with the closest systems appears in §[8](https://arxiv.org/html/2610.03112#S8)\.
## 3Industrial Setting and Task
### 3\.1System Evolution: Feedback\-Driven Design
During production use, recruiters provided continuous feedback on the surfaced feature values and failure cases\. This feedback was used to refine prompt instructions, clarify feature definitions, and introduce new matching dimensions\. As a result, the final prompts are not ad\-hoc LLM annotation prompts but production\-refined evaluation policies that reflect operational recruiter requirements\.
Comments frequently include per\-feature corrections \(e\.g\., “Title should be Match”\) that directly informed prompt revisions; negative ones indicate low\-quality candidate sets\. A concrete example illustrates this evolution: observing that nominal hard\-skill overlap was insufficient when a skill had not been used recently, we split the original “skill match” prompt into separate*skill context*,*hard\-skill experience*,*skill proficiency*, and*experience recency*dimensions; a later cycle, from regulated industries, added a*certification*dimension with a query\-only applicability head \(§[4\.4](https://arxiv.org/html/2610.03112#S4.SS4)\) that activates only when the vacancy requires a certification\.
During the reported three\-week pilot refinement period, the ML team changed prompts manually; no second LLM or automatic prompt updater was used\. The process covered 247 human\-reviewed feature values: 192 in a fixed regression set and 55 newly observed error cases\. Three prompt updates were released, affecting Skill Context, Skill Proficiency, and Certifications\. A revision was accepted only if it corrected the target failure pattern, generalized to related cases, produced an appropriate explanation, and did not degrade the fixed regression set; the complete protocol appears in Appendix[C\.1](https://arxiv.org/html/2610.03112#A3.SS1)\.
### 3\.2Task and Production Constraints
Given a vacancyjjand a resume databaseℛ=\{r1,…,rn\}\\mathcal\{R\}=\\\{r\_\{1\},\\ldots,r\_\{n\}\\\}, the approach matches each candidate against the vacancy and outputs interpretable matching evidence\. We model fit as a tuple ofK=8K\{=\}8matching dimensions𝐟\(j,r\)=\(f1\(j,r\),…,fK\(j,r\)\)\\mathbf\{f\}\(j,r\)=\(f\_\{1\}\(j,r\),\\ldots,f\_\{K\}\(j,r\)\), withfk∈\{0,1,2\}f\_\{k\}\\in\\\{0,1,2\\\}\(ordinal\) or\{0,1\}\\\{0,1\\\}\(binary\)\. The eight dimensions — job title match, industry experience, certifications, hard\-skill experience, skill proficiency, experience recency, seniority alignment, and skill context — are defined in full in Appendix[B](https://arxiv.org/html/2610.03112#A2)\(Table[6](https://arxiv.org/html/2610.03112#A2.T6)\); seven are ordinal \(3 classes\) and certification is binary\. Beyond multi\-dimensional, asymmetric matching, the deployed system must satisfy low latency, low cost, scalability to 150 candidates per vacancy, feature\-level interpretability, and robustness to heterogeneous document formats\.
### 3\.3Data
The approach is developed over a corpus drawn from a commercial recruitment setting with recurring users across heterogeneous domains and document formats\. The LLM\-labeled training corpus contains 17,921 vacancies and 180,030 resumes, forming 168,772 labeled vacancy–resume pairs across the eight matching dimensions; the split is by vacancy \(§[4\.1](https://arxiv.org/html/2610.03112#S4.SS1)\)\. Typically about 150 candidates fall to a vacancy, of which a recruiter reviews a shortlist of about 50, and the system is in active production deployment\.
## 4LLM\-Distilled Feature Bi\-Encoder
### 4\.1Training Data Construction
Cost and throughput\.LLM labeling is unsuitable as a permanent online component: comparing each candidate against the vacancy incurs a per\-call monetary cost and latency, and throughput is further capped by external API rate limits\. These costs scale linearly with traffic, so we distill the LLM into a local model\.
The LLM stage as a labeling engine\.After serving as the matching stage in an earlier production phase, the LLM labeler now runs as an offline labeling engine rather than on online requests: using the production\-refined prompts, we annotate a large corpus of comparisons with the same eight matching dimensions, and the distilled bi\-encoder serves those dimensions online\. We do not treat the labels as perfect ground truth but as production\-refined supervision signals\. The prompt policy was refined through recruiter feedback and is later checked against recruiter\-recorded production decisions \(§[7\.3](https://arxiv.org/html/2610.03112#S7.SS3)\); that check is operational and non\-blinded because recruiters saw the deployed system prediction before confirming or revising it\. This process is not frozen: as new feedback arrives the prompts are revised and the corpus is relabeled, which in turn feeds a retraining of the distilled model\.
Run\-to\-run stability\.Using the same OpenAI GPT\-5\.2 mini labeler, we generated each feature five times on a stratified sample of 5,000 pairs\. Across dimensions, unanimous five\-run agreement ranged from 86\.7% to 98\.7%, and the first run matched the five\-run majority in 94\.8–99\.7% of cases\. Six dimensions achieved at least 98% first\-run/majority agreement and use one run at scale\. Industry Experience \(95\.9%\) and Seniority Alignment \(94\.8%\) use adaptive majority voting: two runs initially, a third after disagreement, and up to five for ambiguous cases\. Only three examples remained unstable: two corrupted or nearly empty resumes were excluded and one ambiguous case went to manual review\. This measures label stability, not probabilistic calibration; further details appear in Appendix[D](https://arxiv.org/html/2610.03112#A4)\.
Data split and leakage sensitivity\.The single train/validation split is vacancy\-disjoint but was not initially constrained to be candidate\-disjoint\. Of 180,030 unique resumes, 148,555 occur in training and 31,539 in validation; only 64 candidates occur in both splits \(0\.04% of training candidates and 0\.20% of validation candidates\)\. They always occur with different vacancies, and no candidate–vacancy pair occurs in both splits\. Removing these 64 candidates from validation changes accuracy/macro\-F1 from 0\.886/0\.849 to 0\.885/0\.848, indicating no meaningful effect on the reported result\.
### 4\.2Encoder and Pair Representation
Unlike a standard retrieval bi\-encoder, our model is trained so that representations support extraction of interpretable matching dimensions, not just a single similarity score\. We use a Qwen3\-Embedding\-0\.6B backbone\([Zhang et al\., 2025](https://arxiv.org/html/2610.03112#bib.bib3)\)adapted with LoRA\([Hu et al\., 2022](https://arxiv.org/html/2610.03112#bib.bib4)\)\(r=32r\{=\}32,α=64\\alpha\{=\}64\)\. Vacancyjjand resumerrare encoded independently into 1024\-dim embeddingsE\(⋅\)∈ℝ1024E\(\\cdot\)\\in\\mathbb\{R\}^\{1024\}; resume embeddings can be precomputed and cached\. Four components are concatenated into a pair representation:
𝝋\(j,r\)=\[E\(j\);E\(r\);\|E\(j\)−E\(r\)\|;E\(j\)⊙E\(r\)\]∈ℝ4096\\begin\{split\}\\boldsymbol\{\\varphi\}\(j,r\)&=\[E\(j\);\\,E\(r\);\\,\|E\(j\)\{\-\}E\(r\)\|;\\\\ &\\quad E\(j\)\{\\odot\}E\(r\)\]\\in\\mathbb\{R\}^\{4096\}\\end\{split\}\(1\)The difference term captures dimensional misalignment and the element\-wise product captures agreement\. This representation follows established sentence\-pair modeling practice\([Mou et al\., 2016](https://arxiv.org/html/2610.03112#bib.bib23);[Conneau et al\., 2017](https://arxiv.org/html/2610.03112#bib.bib22);[Chen et al\., 2017](https://arxiv.org/html/2610.03112#bib.bib21);[Reimers and Gurevych, 2019](https://arxiv.org/html/2610.03112#bib.bib10)\)and is not claimed as novel\.
### 4\.3Task\-Specific Heads
Each matching dimension is handled by an independent three\-layer MLP headhk:ℝ4096→ℝokh\_\{k\}:\\mathbb\{R\}^\{4096\}\\to\\mathbb\{R\}^\{o\_\{k\}\}with LayerNorm, GELU, and dropout 0\.1\. For the seven ordinal dimensionsok=2o\_\{k\}\{=\}2and for the one binary dimensionok=1o\_\{k\}\{=\}1\(Figure[1](https://arxiv.org/html/2610.03112#S4.F1)\)\. Separate heads preserve per\-dimension interpretability and allow independent evaluation, updating, or ablation of individual features\.
#### Ordinal modeling\.
For ordinal dimensions \(those with ordered classes such as old<<recent<<active\), two output logits encode cumulative probabilities via the proportional\-odds model\([McCullagh, 1980](https://arxiv.org/html/2610.03112#bib.bib8);[Cheng et al\., 2008](https://arxiv.org/html/2610.03112#bib.bib9)\)— i\.e\., the model predictsP\(class≥t\)P\(\\text\{class\}\\geq t\)for each thresholdtt, which naturally preserves the label ordering\.
VacancyjjE\(⋅\)E\(\\cdot\)𝐮∈ℝ1024\\mathbf\{u\}\\in\\mathbb\{R\}^\{1024\}ResumerrE\(⋅\)E\(\\cdot\)𝐯∈ℝ1024\\mathbf\{v\}\\in\\mathbb\{R\}^\{1024\}shared𝝋=\[𝐮;𝐯;\|𝐮−𝐯\|;𝐮⊙𝐯\]∈ℝ4096\\boldsymbol\{\\varphi\}=\[\\mathbf\{u\};\\mathbf\{v\};\|\\mathbf\{u\}\{\-\}\\mathbf\{v\}\|;\\mathbf\{u\}\{\\odot\}\\mathbf\{v\}\]\\;\\in\\mathbb\{R\}^\{4096\}8 task\-specific MLP headsh1,…,h8h\_\{1\},\\ldots,h\_\{8\}Per\-feature verdictsy^1,…,y^8\\hat\{y\}\_\{1\},\\ldots,\\hat\{y\}\_\{8\}\(7 ordinal, 1 binary\)Applicability head \(vacancy\-only\)gcert\(E\(j\)\)g\_\{\\mathrm\{cert\}\}\(E\(j\)\)z^cert\\hat\{z\}\_\{\\mathrm\{cert\}\}: certification required?masksFigure 1:Feature bi\-encoder architecture\. Vacancy and resume are encoded independently by a shared Qwen3\-Embedding\-0\.6B \+ LoRA encoder\. The four\-component pair representation𝝋\\boldsymbol\{\\varphi\}feeds eight task\-specific MLP heads that predict ordinal or binary matching features — the interpretable per\-feature verdicts shown to recruiters\. A query\-only certification applicability head \(Eq\.[2](https://arxiv.org/html/2610.03112#S4.E2), left\) depends only on the vacancy embeddingE\(j\)E\(j\)and masks the certification dimension when it is not required by the vacancy\.
### 4\.4Query\-Only Applicability Heads
Certification matching is meaningful only when the vacancy explicitly requires a certification; applying it unconditionally penalizes candidates for missing a requirement that was never stated\. We train a lightweight binary applicability head on the vacancy representation alone:
z^cert=gcert\(E\(j\)\)\\hat\{z\}\_\{\\text\{cert\}\}=g\_\{\\text\{cert\}\}\(E\(j\)\)\(2\)Applicability is determined by the vacancy alone and is independent of any particular resume, so we factor it into a separate head; adding a “not applicable” class directly to the pair MLP would conflate a query\-side signal with pairwise matching\. The head uses a two\-layer trunk \(1024→768→3841024\{\\to\}768\{\\to\}384, LN\+ReLU\) followed by a linear classifier, trained jointly with the feature heads via weighted BCE\. At inference, non\-applicable certifications are excluded from the surfaced output\.
## 5Training Procedure
### 5\.1Cross\-Encoder Teacher
Hard categorical labels discard relative mass among adjacent classes, which limits the signal available for knowledge distillation\. We therefore train a Qwen3\-4B reranker\([Zhang et al\., 2025](https://arxiv.org/html/2610.03112#bib.bib3)\)as an intermediate cross\-encoder on the LLM labels and store its per\-pair output logits𝐥kCE∈ℝ3\\mathbf\{l\}^\{\\mathrm\{CE\}\}\_\{k\}\\in\\mathbb\{R\}^\{3\}\(ordinal\) orℝ1\\mathbb\{R\}^\{1\}\(binary\) for use as a teacher during bi\-encoder training\. Because the cross\-encoder reads both documents jointly, it acts as an intermediate soft\-target teacher and produces a richer training signal — a per\-class distribution rather than a single chosen label\. On held\-out pairs it reproduces the LLM labels at0\.934accuracy /0\.897macro\-F1 — above the bi\-encoder student \(0\.886 / 0\.849, Table[2](https://arxiv.org/html/2610.03112#S7.T2)\) — so its soft outputs carry information beyond the hard labels\.
Vacancy\-resumepairsLLM\(offline labeling\)Cross\-encodertrained on LLM labelsHard labelsyk∈\{0,1,2\}y\_\{k\}\\in\\\{0,1,2\\\}Soft logits𝐥kCE∈ℝ3\\mathbf\{l\}^\{\\mathrm\{CE\}\}\_\{k\}\\in\\mathbb\{R\}^\{3\}Hybrid lossαℒKD\+\(1−α\)ℒCE\\alpha\\,\\mathcal\{L\}\_\{\\mathrm\{KD\}\}\+\(1\{\-\}\\alpha\)\\,\\mathcal\{L\}\_\{\\mathrm\{CE\}\}\+λmℒmono\+λaℒaux\+\\;\\lambda\_\{m\}\\mathcal\{L\}\_\{\\mathrm\{mono\}\}\+\\lambda\_\{a\}\\mathcal\{L\}\_\{\\mathrm\{aux\}\}Featurebi\-encoder\(Qwen \+ LoRA\)trainsStage 0: offline labelingStage 1: frozen encoder→\\toStage 2: LoRA fine\-tune
Figure 2:Full training pipeline\. Production\-refined LLM prompts annotate vacancy\-resume pairs offline with hard ordinal labels\. A cross\-encoder trained on these labels provides soft per\-class targets for knowledge distillation\. The feature bi\-encoder is trained with a hybrid loss \(Eq\.[3](https://arxiv.org/html/2610.03112#S5.E3)\) combining KD, direct supervision, monotonicity, and margin regularization, in two stages \(frozen encoder, then LoRA fine\-tuning\)\. The deployed student removes every online LLM call\.The cross\-encoder is not used in production: it reads both documents jointly and, at typical vacancy and resume lengths, requires a context window of about 8,192 tokens with no cacheable representations, which forces a GPU to stay online and does not meet our serving\-cost targets\. The cross\-encoder therefore serves only as an offline teacher, while online requests are served by the distilled bi\-encoder, which encodes each document independently up to 4,096 tokens \(the 4,096\-token limit covers\>99%\{\>\}99\\%of vacancies and≈94%\{\\approx\}94\\%of resumes; Table[1](https://arxiv.org/html/2610.03112#S5.T1)\)\.
Table 1:Document length in tokens \(training corpus\)\.
### 5\.2Two\-Stage Training
Training proceeds in two stages: Stage 1 freezes the encoder and trains only the MLP heads \(stable initialization\); Stage 2 unfreezes LoRA and jointly fine\-tunes encoder and heads, adapting the representation space to the matching\-signal distribution\.
### 5\.3Hybrid Loss
For each pair and taskkk, the total loss combines four terms:
ℒ=αℒKD\+\(1−α\)ℒCE\+λmℒmono\+λaℒaux\\mathcal\{L\}=\\alpha\\,\\mathcal\{L\}\_\{\\text\{KD\}\}\+\(1\{\-\}\\alpha\)\\,\\mathcal\{L\}\_\{\\text\{CE\}\}\+\\lambda\_\{m\}\\,\\mathcal\{L\}\_\{\\text\{mono\}\}\+\\lambda\_\{a\}\\,\\mathcal\{L\}\_\{\\text\{aux\}\}\(3\)ℒKD\\mathcal\{L\}\_\{\\text\{KD\}\}matches student cumulative probabilities against teacher cumulative probabilities \(derived from the cross\-encoder logits\) via BCE with temperatureTT\.ℒCE\\mathcal\{L\}\_\{\\text\{CE\}\}supervises against label\-smoothed LLM hard labels\.ℒmono\\mathcal\{L\}\_\{\\text\{mono\}\}softly penalizes violations of the non\-decreasing constraint on cumulative probabilities \(keeping the ordinal predictions consistent\)\.ℒaux\\mathcal\{L\}\_\{\\text\{aux\}\}is a margin loss that pushes apart the representations of pairs with different labels, with the margin scaled by label distance\. Figure[2](https://arxiv.org/html/2610.03112#S5.F2)diagrams the full pipeline end to end\.
## 6Feature Extraction and Interpretability
A Qwen3\-Embedding\-0\.6B retriever selects∼150\{\\sim\}150candidates per vacancy via cosine similarity over cached embeddings \(geolocation and recency filters applied\)\. The feature bi\-encoder then scores each candidate against the vacancy on all eight dimensions\. Each candidate is returned with a per\-feature class \(e\.g\., title: match, skills: partial, certification: not required\), so the recruiter sees interpretable evidence for every candidate rather than an opaque similarity number\. The recruiter works directly with named feature values — the same dimensions they reason about manually — rather than only a fused similarity score\. These are directly supervised targets with fixed label spaces, not post\-hoc explanations of a global score: each dimension can be evaluated, corrected, retrained, or masked independently\. We focus evaluation on the∼50\{\\sim\}50candidates a recruiter typically reviews per vacancy\.
## 7Experiments
### 7\.1Evaluation Setup
We report three distinct evaluations\.*Student\-to\-teacher fidelity*measures how well distilled models reproduce LLM\-derived labels on held\-out, vacancy\-split corpus data \(accuracy and macro\-F1 over eight dimensions; Appendix[E](https://arxiv.org/html/2610.03112#A5)\)\.*Operational recruiter agreement*evaluates the deployed student and, separately, the original LLM labeler against recruiter\-recorded production decisions on the available feedback subset\. Recruiters saw the deployed system prediction before recording a value and could confirm or revise it; the original labeler was compared separately with those same recorded values\. Only selected cases and features were recorded, so this is non\-blinded operational agreement, not independent human accuracy\.*Efficiency*measures serving throughput and cost\.
### 7\.2Student\-to\-Teacher Fidelity and Ablations
The cross\-encoder provides the highest fidelity but requires joint long\-context GPU inference and cannot cache resume representations\. The bi\-encoder trades some fidelity for cacheable embeddings and CPU serving\. Compared with the original frozen encoder, adapting the representation and heads raises macro\-F1 from 0\.669 to 0\.849; the controlled ablations below isolate the pair representation and loss terms rather than attributing that combined gain to one component\. Seniority Alignment has the lowest F1 \(0\.795\), likely because seniority is recruiter\-specific \(one recruiter’s “senior” is another’s “mid\-level”\), making it a candidate for future decomposition\.
Table 2:Fidelity to LLM labels on the single held\-out, vacancy\-disjoint corpus split described in §[4\.1](https://arxiv.org/html/2610.03112#S4.SS1), averaged over eight dimensions; these are not human ground\-truth metrics\. The cross\-encoder is the offline teacher and the bi\-encoder is the production student\. Bold: best fidelity\.The absolute\-difference term contributes more individually than the element\-wise product, while the product adds complementary signal\. Knowledge distillation provides the largest individual gain over hard\-label cross\-entropy; ordinal consistency and margin regularization provide smaller complementary improvements\.
Table 3:Controlled macro\-F1 ablations\. The pairwise terms follow established sentence\-pair practice; the full representation and full objective perform best\.
### 7\.3Operational Agreement with Recruiter\-Recorded Decisions
The feedback is a by\-product of normal service use rather than a separate labeling task\. Recruiters saw the deployed system prediction before recording a value and could confirm or revise it\. Feedback was provided only for selected candidates and features; we therefore report exact agreement with recruiter\-recorded production decisions, not accuracy against an independent blinded reference\. Of 873 reviewed candidates, the correction form was opened for 144; 24 forms were empty and 120 recorded at least one value, corresponding to 114 unique candidates and 45 vacancies\. Among them, 87 included the later\-added Experience Recency dimension, yielding 927 recorded feature values\.
LLM\-to\-recruiter operational agreement\.The original OpenAI GPT\-5\.2 mini labeler, using the prompt version that constructed the corpus, agrees with the 927 recorded decisions on 924/927 values \(99\.7%; macro\-F1 99\.6%\)\. Seven dimensions have 100% observed agreement on this subset\. All three disagreements are in Seniority Alignment: recruiters selected aligned while the LLM selected the more conservative partial; that dimension has 97\.5% agreement and 97\.2% macro\-F1\. This checks operational consistency on the available selected feedback, not blinded human accuracy or calibrated uncertainty\.
Deployed\-student\-to\-recruiter operational agreement\.The deployed student exactly matches 888/927 recorded values \(95\.79%; Wilson 95% CI 94\.30–96\.91%\)\. Candidate\-cluster and vacancy\-cluster bootstraps \(10,000 iterations\) give 95% CIs of 94\.67–96\.89% and 94\.11–97\.37%, respectively \(Appendix[D](https://arxiv.org/html/2610.03112#A4)\)\. Seniority Alignment is the weak dimension at 86/120 \(71\.7%; Wilson CI 63\.03–78\.96%\); the other dimensions have much higher agreement\. The 39 disagreements comprise 34 Seniority Alignment, three Certifications, and two Job Title Match cases\.
Table 4:Agreement of the deployed student with recruiter\-recorded production decisions\. Recruiters saw the deployed system prediction before confirming or revising it; the analysis is non\-blinded and uses only explicitly recorded feedback\. Wilson intervals quantify uncertainty in the observed proportions; 100% is sample agreement, not perfect population accuracy\.The 0\.849 macro\-F1 and 95\.79% agreement use different datasets, targets, and metrics\. The former is student\-to\-LLM fidelity on the held\-out corpus and weights classes equally; the latter is exact agreement with recruiter\-recorded values on a small, selected feedback subset with a different class distribution\.
### 7\.4Efficiency
The deployed model has low operational cost\. Resume embeddings are precomputed offline \(on a T4\) and cached, so the only online cost is the lightweight MLP heads: about 5,500 resumes/s on a single CPU with no GPU or external API access, corresponding to roughly $4\.7×10−54\.7\\times 10^\{\-5\}per resume including the offline precompute\. Serving is fully async, and end\-to\-end latency is dominated by a fixed network round\-trip \(≤\\leq500 ms\); heavy online LLM inference is removed from the pipeline entirely\.
## 8Positioning Relative to Closest Work
The closest line distills LLM matching signals into smaller person–job\-fit scorers:[Jouanneau et al\. \(2026\)](https://arxiv.org/html/2610.03112#bib.bib18)use a generative LLM teacher with a calibrated distillation loss for interpretable skill\-fit scores;[Fu et al\. \(2025\)](https://arxiv.org/html/2610.03112#bib.bib19)distill LLMs for job–person fit with natural\-language explanations; and[Yu et al\. \(2026\)](https://arxiv.org/html/2610.03112#bib.bib20)improve resume–job matching with LLM re\-ranking\. Our setting differs in three ways \(summarized in Table[5](https://arxiv.org/html/2610.03112#A1.T5)\): \(i\) supervision is a*production\-refined*policy stabilized through recruiter feedback while the LLM served as the matching stage in an earlier deployment — the continued development of an already\-shipped approach, not a distillation built from scratch; \(ii\) the student exposes eight independently supervised, named ordinal dimensions, not a single skill\-fit score or free\-text rationale; \(iii\) it runs on CPU and is checked against available recruiter\-recorded feedback on surfaced per\-dimension outputs \(§[7\.3](https://arxiv.org/html/2610.03112#S7.SS3)\); the full comparison is given in Appendix[A](https://arxiv.org/html/2610.03112#A1)\(Table[5](https://arxiv.org/html/2610.03112#A1.T5)\)\. Table[5](https://arxiv.org/html/2610.03112#A1.T5)is qualitative rather than a direct quantitative benchmark\. The closest systems use different, mostly proprietary datasets and predict a single relevance/skill\-fit score or free\-text explanation rather than our eight categorical dimensions; their published F1/accuracy values are therefore not directly comparable\. We instead report controlled internal baselines on our corpus \(§[7\.2](https://arxiv.org/html/2610.03112#S7.SS2)\)\.
## 9Production Lessons
\(1\)LLMs bootstrap matching logic without manual labels, and recruiter feedback on the live system is used to refine the supervision signal\.\(2\)Per\-dimension outputs localize errors \(skills, seniority, recency, certification\) where a single fused score cannot\.\(3\)Within one approach the LLM is best used as an offline labeling engine that keeps adapting to feedback, while a distilled model serves requests online\.\(4\)Not every feature applies to every vacancy: a requirement like certification is relevant only if the vacancy states it\. Query\-activated applicability heads score such a feature only when the vacancy presents it, and do not penalize a candidate for failing a requirement the vacancy never raised\.
## 10Conclusion
We presented an approach for automated candidate–vacancy matching over named matching dimensions \(eight in the current deployment\)\. A feedback\-refined LLM labeler labels comparisons, and a distilled feature bi\-encoder serves those dimensions on CPU without per\-comparison API calls, so recruiters see named per\-dimension values rather than an opaque score\. On the available non\-blinded production\-feedback subset, the deployed student agrees with 888/927 recruiter\-recorded values \(95\.79%; Wilson 95% CI 94\.30–96\.91%\)\.
## Limitations
The LLM prompt policy was refined through recruiter feedback and operationally checked against recruiter\-recorded decisions, but this feedback is sparse, selected, and non\-blinded\. It may be delayed or mistaken, and each recorded value comes from one recruiter, so we cannot report inter\-annotator agreement; multiply judged values are future work\.
The dataset we use contains proprietary vacancy and resume data and cannot be publicly released, limiting external reproducibility\. Although the corpus covers multiple domains and document formats, further evaluation is needed on entirely new labor\-market segments\. We lack a directly comparable external quantitative benchmark because the closest published systems use different, largely proprietary data and different output targets\. We also did not measure screening time, shortlist quality, time\-to\-hire, or other downstream hiring outcomes, so we do not claim causal business impact; controlled measurement of these outcomes is future work\. Education level and language requirements were identified as relevant matching dimensions through recruiter feedback but are not included in the current system due to insufficient labeled data for reliable training; incorporating them is left for future work\. In addition, the system is trained and evaluated only on English\-language vacancies and resumes; transfer to other languages is left for future work\. The approach is intended to support recruiters, not to make autonomous hiring decisions\.
## Ethical Considerations
Recruitment matching systems can affect candidate opportunities\. We frame the proposed approach as decision support rather than an autonomous hiring mechanism\. The model should not use protected attributes as matching features, and organizations deploying such systems should monitor outputs for potential disparate impact\. The source\-platform owner anonymizes the data before it reaches our systems: names, contact details, identifiers, and explicitly stated protected attributes are removed, and we cannot access the original versions\. This does not guarantee the absence of bias: indirect textual proxies may remain, and bias in the foundation LLM used for labeling may be transferred through distillation\. We did not conduct a dedicated empirical bias audit in this study\. Counterfactual testing and group\-disparity analysis are necessary future work before stronger fairness claims can be made\. Feature\-level explanations should be interpreted as model predictions, not objective assessments of candidate ability; the system is intended for recruiter decision support rather than autonomous hiring, and human oversight is required before consequential decisions\.
## References
- Behdinet al\.\(2025\)K\. Behdin, A\. Fatahibaarzi, Q\. Song, Y\. Dai, A\. Gupta, Z\. Wang, H\. Sang, S\. Tang, G\. Dexter, S\. Zhu, S\. Zhu, T\. Dharamsi, V\. Kothapalli, Z\. Fu, Y\. Cao, P\. Hsu, F\. Borisyuk, N\. S\. Pillai, L\. Simon, and R\. MazumderScaling down, serving fast: compressing and deploying efficient LLMs for recommendation systems\.InProceedings of the 2025 Conference on Empirical Methods in Natural Language Processing: Industry Track,S\. Potdar, L\. Rojas\-Barahona, and S\. Montella \(Eds\.\),Suzhou \(China\),pp\. 1687–1702\.External Links:[Link](https://aclanthology.org/2025.emnlp-industry.119/),[Document](https://dx.doi.org/10.18653/v1/2025.emnlp-industry.119),ISBN 979\-8\-89176\-333\-3Cited by:[§2](https://arxiv.org/html/2610.03112#S2.SS0.SSS0.Px2.p1.1)\.
- Bianet al\.\(2020\)S\. Bian, X\. Chen, W\. X\. Zhao, K\. Zhou, Y\. Hou, Y\. Song, T\. Zhang, and J\. WenLearning to match jobs with resumes from sparse interaction data using multi\-view co\-teaching network\.InProceedings of the 29th ACM International Conference on Information & Knowledge Management,New York, NY, USA,pp\. 65–74\.Cited by:[§2](https://arxiv.org/html/2610.03112#S2.SS0.SSS0.Px1.p1.1)\.
- Chenet al\.\(2017\)Q\. Chen, X\. Zhu, Z\. Ling, S\. Wei, H\. Jiang, and D\. InkpenEnhanced LSTM for natural language inference\.InProceedings of the 55th Annual Meeting of the Association for Computational Linguistics \(Volume 1: Long Papers\),Vancouver, Canada,pp\. 1657–1668\.Cited by:[§4\.2](https://arxiv.org/html/2610.03112#S4.SS2.p1.2)\.
- Chenget al\.\(2008\)J\. Cheng, Z\. Wang, and G\. PollastriA neural network approach to ordinal regression\.In2008 IEEE International Joint Conference on Neural Networks \(IEEE World Congress on Computational Intelligence\),pp\. 1279–1284\.Cited by:[§2](https://arxiv.org/html/2610.03112#S2.SS0.SSS0.Px2.p1.1),[§4\.3](https://arxiv.org/html/2610.03112#S4.SS3.SSS0.Px1.p1.1)\.
- Conneauet al\.\(2017\)A\. Conneau, D\. Kiela, H\. Schwenk, L\. Barrault, and A\. BordesSupervised learning of universal sentence representations from natural language inference data\.InProceedings of the 2017 Conference on Empirical Methods in Natural Language Processing,Copenhagen, Denmark,pp\. 670–680\.Cited by:[§4\.2](https://arxiv.org/html/2610.03112#S4.SS2.p1.2)\.
- Fuet al\.\(2025\)Z\. Fu, Y\. Cao, Y\. Chen, A\. Lunia, L\. Dong, N\. Saraf, R\. Jiang, Y\. Dai, Q\. Song, T\. Wang, G\. Li, D\. Koh, H\. Wei, Z\. Wang, A\. Gupta, C\. Jiang, J\. Shen, L\. Hong, and W\. ZhangLANTERN: scalable distillation of large language models for job\-person fit and explanation\.External Links:2510\.05490,[Link](https://arxiv.org/abs/2510.05490)Cited by:[Table 5](https://arxiv.org/html/2610.03112#A1.T5.2.4.1),[§2](https://arxiv.org/html/2610.03112#S2.SS0.SSS0.Px1.p1.1),[§8](https://arxiv.org/html/2610.03112#S8.p1.1)\.
- Gilardiet al\.\(2023\)F\. Gilardi, M\. Alizadeh, and M\. KubliChatGPT outperforms crowd workers for text\-annotation tasks\.Proceedings of the National Academy of Sciences120\(30\)\.External Links:ISSN 1091\-6490,[Link](http://dx.doi.org/10.1073/pnas.2305016120),[Document](https://dx.doi.org/10.1073/pnas.2305016120)Cited by:[§2](https://arxiv.org/html/2610.03112#S2.SS0.SSS0.Px2.p1.1)\.
- Hintonet al\.\(2015\)G\. Hinton, O\. Vinyals, and J\. DeanDistilling the knowledge in a neural network\.External Links:1503\.02531,[Link](https://arxiv.org/abs/1503.02531)Cited by:[§2](https://arxiv.org/html/2610.03112#S2.SS0.SSS0.Px2.p1.1)\.
- Hofstätteret al\.\(2021\)S\. Hofstätter, S\. Althammer, M\. Schröder, M\. Sertkan, and A\. HanburyImproving efficient neural ranking models with cross\-architecture knowledge distillation\.External Links:2010\.02666,[Link](https://arxiv.org/abs/2010.02666)Cited by:[§2](https://arxiv.org/html/2610.03112#S2.SS0.SSS0.Px2.p1.1)\.
- Huet al\.\(2022\)E\. J\. Hu, Y\. Shen, P\. Wallis, Z\. Allen\-Zhu, Y\. Li, S\. Wang, L\. Wang, and W\. ChenLoRA: Low\-Rank adaptation of large language models\.InInternational Conference on Learning Representations,Cited by:[§4\.2](https://arxiv.org/html/2610.03112#S4.SS2.p1.1)\.
- Jouanneauet al\.\(2026\)W\. Jouanneau, E\. Jouffroy, and M\. PalyartAn efficient long\-context ranking architecture with calibrated llm distillation: application to person\-job fit\.External Links:2601\.10321,[Link](https://arxiv.org/abs/2601.10321)Cited by:[Table 5](https://arxiv.org/html/2610.03112#A1.T5.2.5.1),[§2](https://arxiv.org/html/2610.03112#S2.SS0.SSS0.Px1.p1.1),[§8](https://arxiv.org/html/2610.03112#S8.p1.1)\.
- Karpukhinet al\.\(2020\)V\. Karpukhin, B\. Oğuz, S\. Min, P\. Lewis, L\. Wu, S\. Edunov, D\. Chen, and W\. YihDense passage retrieval for open\-domain question answering\.InProceedings of the 2020 Conference on Empirical Methods in Natural Language Processing \(EMNLP\),Online,pp\. 6769–6781\.Cited by:[§2](https://arxiv.org/html/2610.03112#S2.SS0.SSS0.Px1.p1.1),[§2](https://arxiv.org/html/2610.03112#S2.SS0.SSS0.Px2.p1.1)\.
- Leet al\.\(2019\)R\. Le, W\. Hu, Y\. Song, T\. Zhang, D\. Zhao, and R\. YanTowards effective and interpretable person\-job fitting\.InProceedings of the 28th ACM International Conference on Information and Knowledge Management,CIKM ’19,New York, NY, USA,pp\. 1883–1892\.External Links:ISBN 9781450369763,[Link](https://doi.org/10.1145/3357384.3357949),[Document](https://dx.doi.org/10.1145/3357384.3357949)Cited by:[§1](https://arxiv.org/html/2610.03112#S1.p2.1),[§2](https://arxiv.org/html/2610.03112#S2.SS0.SSS0.Px1.p1.1)\.
- Liet al\.\(2025\)J\. Li, B\. Xu, Z\. Chen, C\. Xu, M\. Chen, S\. Liu, Y\. Zhou, and Z\. WenEnhancing talent search ranking with role\-aware expert mixtures and LLM\-based fine\-grained job descriptions\.InProceedings of the 2025 Conference on Empirical Methods in Natural Language Processing: Industry Track,S\. Potdar, L\. Rojas\-Barahona, and S\. Montella \(Eds\.\),Suzhou \(China\),pp\. 185–194\.External Links:[Link](https://aclanthology.org/2025.emnlp-industry.13/),[Document](https://dx.doi.org/10.18653/v1/2025.emnlp-industry.13),ISBN 979\-8\-89176\-333\-3Cited by:[Table 5](https://arxiv.org/html/2610.03112#A1.T5.2.2.1),[§2](https://arxiv.org/html/2610.03112#S2.SS0.SSS0.Px1.p1.1)\.
- McCullagh \(1980\)P\. McCullaghRegression models for ordinal data\.Journal of the Royal Statistical Society: Series B \(Methodological\)42\(2\),pp\. 109–127\.External Links:[Document](https://dx.doi.org/10.1111/j.2517-6161.1980.tb01109.x),[Link](https://doi.org/10.1111/j.2517-6161.1980.tb01109.x)Cited by:[§2](https://arxiv.org/html/2610.03112#S2.SS0.SSS0.Px2.p1.1),[§4\.3](https://arxiv.org/html/2610.03112#S4.SS3.SSS0.Px1.p1.1)\.
- Mouet al\.\(2016\)L\. Mou, R\. Men, G\. Li, Y\. Xu, L\. Zhang, R\. Yan, and Z\. JinNatural language inference by tree\-based convolution and heuristic matching\.InProceedings of the 54th Annual Meeting of the Association for Computational Linguistics \(Volume 2: Short Papers\),Berlin, Germany,pp\. 130–136\.Cited by:[§4\.2](https://arxiv.org/html/2610.03112#S4.SS2.p1.2)\.
- Nogueira and Cho \(2020\)R\. Nogueira and K\. ChoPassage re\-ranking with bert\.External Links:1901\.04085,[Link](https://arxiv.org/abs/1901.04085)Cited by:[§2](https://arxiv.org/html/2610.03112#S2.SS0.SSS0.Px2.p1.1)\.
- Qinet al\.\(2018\)C\. Qin, H\. Zhu, T\. Xu, C\. Zhu, L\. Jiang, E\. Chen, and H\. XiongEnhancing person\-job fit for talent recruitment: an ability\-aware neural network approach\.InThe 41st International ACM SIGIR Conference on Research & Development in Information Retrieval,SIGIR ’18,pp\. 25–34\.External Links:[Link](http://dx.doi.org/10.1145/3209978.3210025),[Document](https://dx.doi.org/10.1145/3209978.3210025)Cited by:[§1](https://arxiv.org/html/2610.03112#S1.p2.1),[§2](https://arxiv.org/html/2610.03112#S2.SS0.SSS0.Px1.p1.1)\.
- Reimers and Gurevych \(2019\)N\. Reimers and I\. GurevychSentence\-BERT: sentence embeddings using Siamese BERT\-networks\.InProceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing \(EMNLP\-IJCNLP\),Hong Kong, China,pp\. 3982–3992\.Cited by:[§2](https://arxiv.org/html/2610.03112#S2.SS0.SSS0.Px1.p1.1),[§2](https://arxiv.org/html/2610.03112#S2.SS0.SSS0.Px2.p1.1),[§4\.2](https://arxiv.org/html/2610.03112#S4.SS2.p1.2)\.
- Renet al\.\(2021\)R\. Ren, Y\. Qu, J\. Liu, W\. X\. Zhao, Q\. She, H\. Wu, H\. Wang, and J\. WenRocketQAv2: a joint training method for dense passage retrieval and passage re\-ranking\.InProceedings of the 2021 Conference on Empirical Methods in Natural Language Processing,Online and Punta Cana, Dominican Republic,pp\. 2825–2835\.Cited by:[§2](https://arxiv.org/html/2610.03112#S2.SS0.SSS0.Px2.p1.1)\.
- Tanget al\.\(2019\)R\. Tang, Y\. Lu, L\. Liu, L\. Mou, O\. Vechtomova, and J\. LinDistilling task\-specific knowledge from bert into simple neural networks\.External Links:1903\.12136,[Link](https://arxiv.org/abs/1903.12136)Cited by:[§2](https://arxiv.org/html/2610.03112#S2.SS0.SSS0.Px2.p1.1)\.
- Thakuret al\.\(2021\)N\. Thakur, N\. Reimers, J\. Daxenberger, and I\. GurevychAugmented SBERT: data augmentation method for improving bi\-encoders for pairwise sentence scoring tasks\.InProceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies,Online,pp\. 296–310\.Cited by:[§2](https://arxiv.org/html/2610.03112#S2.SS0.SSS0.Px2.p1.1)\.
- Yuet al\.\(2026\)X\. Yu, R\. Xu, C\. Xue, J\. Chen, M\. So, S\. Ma, B\. Liu, X\. Liang, and Z\. YuConFit v3: improving resume\-job matching with llm\-based re\-ranking\.External Links:2605\.09760,[Link](https://arxiv.org/abs/2605.09760)Cited by:[Table 5](https://arxiv.org/html/2610.03112#A1.T5.2.3.1),[§2](https://arxiv.org/html/2610.03112#S2.SS0.SSS0.Px1.p1.1),[§8](https://arxiv.org/html/2610.03112#S8.p1.1)\.
- Zhanget al\.\(2025\)Y\. Zhang, M\. Li, D\. Long, X\. Zhang, H\. Lin, B\. Yang, P\. Xie, A\. Yang, D\. Liu, J\. Lin, F\. Huang, and J\. ZhouQwen3 embedding: advancing text embedding and reranking through foundation models\.External Links:2506\.05176,[Link](https://arxiv.org/abs/2506.05176)Cited by:[§4\.2](https://arxiv.org/html/2610.03112#S4.SS2.p1.1),[§5\.1](https://arxiv.org/html/2610.03112#S5.SS1.p1.1)\.
## Appendix AComparison with Closest Work
Table[5](https://arxiv.org/html/2610.03112#A1.T5)summarizes how our approach differs from the closest LLM\-for\-person–job\-fit systems discussed in §[8](https://arxiv.org/html/2610.03112#S8)\.
Table 5:Qualitative comparison with the closest LLM\-for\-person–job\-fit systems\. Prior systems distil or prompt an LLM into a single score \(or a free\-text rationale\); ours exposes eight independently supervised, named dimensions\.
## Appendix BFeature Definitions and Label Schemes
Table[6](https://arxiv.org/html/2610.03112#A2.T6)lists the eight matching dimensions predicted by the feature bi\-encoder\. Seven dimensions use ordinal modelling with three ordered classes \(score 0–2\); certifications uses binary prediction after the vacancy\-only applicability gate removes thenot\_requiredcase \(Section[4\.4](https://arxiv.org/html/2610.03112#S4.SS4)\)\.
Table 6:The eight matching dimensions predicted by the feature bi\-encoder\. Class 2 always represents the strongest match\. Certifications is treated as binary after applicability gating; the remaining seven dimensions use three\-class ordinal modelling via cumulative logits\.
## Appendix CLLM Prompt Templates
All eight features are evaluated with production\-refined prompts served from a YAML prompt registry\. A shared system context \(Figure[3](https://arxiv.org/html/2610.03112#A3.F3)\) injects the vacancy and resume into every call\. The four skill\-related features are evaluated jointly in a single LLM call \(Figure[4](https://arxiv.org/html/2610.03112#A3.F4)\) to ensure consistency across correlated dimensions; the remaining four features \(industry experience, seniority alignment, job\-title match, certifications\) use analogous single\-feature prompts with the same structured JSON output format\. A separate vacancy\-only prompt \(the*job requirement gate*\) determines whether education, certifications, and languages are meaningfully required by the vacancy before any pairwise evaluation is performed\.
Company and user identifiers are omitted; all templates were deployed verbatim in the production system and used for offline labelling of the 168,772 training pairs\.
### C\.1Prompt Refinement Protocol
For three weeks after pilot launch, the ML team manually inspected recruiter\-recorded corrections and grouped recurring errors into failure patterns; recruiters did not edit prompts directly\. The team translated each pattern into a generalizable rule and tested revisions against 55 new error cases and a fixed regression set of 192 human\-reviewed feature values \(247 values total\)\. Exactly three prompt updates were released, for Skill Context, Skill Proficiency, and Certifications\. A revision had to fix the target failure, generalize to related cases, produce an appropriate explanation, and cause no regression on the fixed set\. These values supported iterative prompt development and are not an independent test set\.
```
[SYSTEM — shared context, all evaluators]
You are an expert technical recruiter
and HR specialist. Your task is to
evaluate a candidate’s fit for a specific
job opening.
You will be provided with the JOB POSTING
and the CANDIDATE RESUME. Subsequently,
you will receive specific feature
evaluation instructions.
<job_posting>
{job_description}
</job_posting>
<resume>
{candidate_text}
</resume>
```
Figure 3:Shared system context prepended to every LLM call\. Vacancy and resume are filled at runtime\.```
[SYSTEM — combined skill evaluator]
You are a senior technical recruiter evaluating four related
hard-skill features for the same job-resume pair in one request.
Evaluate these four outputs together against the same main
overlapping required hard skill or required hard-skill cluster:
skill_context, experience_recency, skill_proficiency,
hard_skill_experience.
Core rules:
- First identify the main required hard skill or small required
skill cluster in the job.
- Decide whether the resume shows credible evidence for that same
skill or a very close equivalent.
- Weight the most recent / current role most heavily.
- Keep all four outputs aligned to the same overlap target, but
do not let one field mechanically determine the others.
- Prefer conservative labels when evidence is mixed or partial.
Feature definitions:
- skill_context: production | research | academic | no_overlap
production = skill used in live business/product workflows.
research = skill used in R&D / experimentation.
academic = coursework, thesis, or personal projects only.
no_overlap = insufficient credible overlap to assign a context.
- experience_recency: active | recent | old
active = current or <1 yr. recent = 1-3 yr. old = >3 yr.
- skill_proficiency: professional | practical | studied | no_overlap
professional = substantial ownership and repeated delivery.
practical = real applied use, lighter depth or scope.
studied = learned / assisted / lightly practiced.
no_overlap = insufficient credible overlap to assess.
- hard_skill_experience: match | close_match | mismatch
How well demonstrated hands-on experience meets the requirement.
Return valid JSON only. For each feature: score (exact label) +
reason (one sentence).
[USER]
Evaluate all four hard-skill features in one pass.
1. Identify the main required hard skill / skill cluster.
2. Check whether the resume shows real evidence for that skill
or a close equivalent.
3. Use the same overlap target for all four outputs.
4. Be evidence-based and conservative.
Output valid JSON matching exactly this schema:
{
"skill_context":
{"score": "<production|research|academic|no_overlap>",
"reason": "<1 sentence>"},
"experience_recency":
{"score": "<active|recent|old>",
"reason": "<1 sentence>"},
"skill_proficiency":
{"score": "<professional|practical|studied|no_overlap>",
"reason": "<1 sentence>"},
"hard_skill_experience":
{"score": "<match|close_match|mismatch>",
"reason": "<1 sentence>"}
}
```
Figure 4:Combined skill evaluator prompt \(anonymized\)\. This single LLM call evaluates four correlated skill dimensions jointly, anchoring all outputs to the same required skill cluster\. Separate single\-feature prompts with the same JSON format are used for industry experience, seniority alignment, job\-title match, and certifications\. In our experiments, theresearchandacademicclasses ofskill\_contextwere merged into a single class due to limited annotated examples and their close semantic meaning \(both reflect non\-production use of a skill\)\.
## Appendix DStability and Agreement Protocols
Repeated\-generation policy\.On a stratified sample of 5,000 pairs, each feature label was generated five times\. Unanimous five\-run agreement ranged from 86\.7% to 98\.7% across dimensions, while first\-run agreement with the five\-run majority ranged from 94\.8% to 99\.7%\. Job Title Match, Experience Recency, Skill Context, Skill Proficiency, Hard Skill Experience, and Certifications each reached at least 98% first\-run/majority agreement and use one run at scale\. Industry Experience \(95\.9%\) and Seniority Alignment \(94\.8%\) use two initial runs, a third after disagreement, and up to five for ambiguity\. Of three cases without a stable majority, two corrupted or nearly empty resumes were excluded and one genuinely ambiguous case was manually reviewed\. These measurements describe run\-to\-run stability, not calibrated probabilistic uncertainty\.
Agreement intervals\.Wilson score intervals in Table[4](https://arxiv.org/html/2610.03112#S7.T4)use the exact agreement count for each dimension\. To account for dependence among feature values from the same production entity, we additionally resampled the 114 unique candidates and, separately, the 45 vacancies with replacement for 10,000 iterations, recomputing pooled exact agreement each time\. The resulting candidate\-cluster and vacancy\-cluster percentile intervals are 94\.67–96\.89% and 94\.11–97\.37%, respectively\. These intervals address clustering in the selected feedback subset but do not make that subset representative of all surfaced candidates\.
## Appendix EPer\-Feature Evaluation Results
Table[7](https://arxiv.org/html/2610.03112#A5.T7)reports macro\-F1 per feature and per experimental condition, corresponding to the aggregated results in Table[2](https://arxiv.org/html/2610.03112#S7.T2)of the main paper\. Each cell reports performance on the same held\-out, vacancy\-disjoint validation split; the*Avg*row is the macro\-average across all eight features\.
Table 7:Macro\-F1 per feature on the held\-out, vacancy\-disjoint validation split\.Majority baseline: majority\-class prediction\.MLP, orig\. enc\.: MLP head on original \(non\-fine\-tuned\) encoder embeddings\.Full model: fine\-tuned encoder with knowledge distillation, monotonicity, and margin losses \(trained with the full hybrid loss\)\. Bold marks the best result per feature\.
## Appendix FTraining and Implementation Details
#### Encoder\.
We useQwen3\-Embedding\-0\.6Badapted with LoRA \(r=32r\{=\}32,α=64\\alpha\{=\}64, dropout 0\.1\) applied to all attention projection layers \(q,k,v,o\) and all MLP gate/up/down projections\. Input sequences are truncated to 4096 tokens; representations are taken from the last\-token position; BF16 mixed precision is used throughout\.
#### MLP heads\.
Each of the eight task\-specific heads processes the 4096\-dimensional pair representation𝝋\\boldsymbol\{\\varphi\}through three linear layers with intermediate dimensions 1024 and 512, each followed by LayerNorm and GELU; dropout 0\.1 is applied after each activation\. The certification applicability head uses a two\-layer trunk \(1024→768→3841024\{\\to\}768\{\\to\}384, LayerNorm \+ ReLU\) followed by a linear classifier\.
#### Training\.
We train with AdamW, learning rate10−410^\{\-4\}, weight decay0\.010\.01, linear warmup over 100 steps, and a linear decay schedule\. Effective batch size is 32 \(4 samples per device, gradient accumulation over 8 steps\), trained for 5 epochs\. Loss hyperparameters:α=0\.6\\alpha\{=\}0\.6\(KD weight\),T=3\.0T\{=\}3\.0\(KD temperature\), label smoothing0\.10\.1,λm=0\.05\\lambda\_\{m\}\{=\}0\.05\(monotonicity\),λa=0\.1\\lambda\_\{a\}\{=\}0\.1\(margin\)\. Stage 1 freezes the LoRA parameters and trains only the MLP heads; Stage 2 unfreezes all LoRA parameters and fine\-tunes jointly\.
#### Cross\-encoder teacher\.
The intermediate cross\-encoder \(Qwen3\-4Breranker\) is trained on the LLM hard labels with the same hybrid loss \(minus the KD term\)\. Its per\-pair logits are cached before bi\-encoder training begins\.
#### Hardware\.
All experiments were run on a single NVIDIA A100\-80GB GPU\. Stage 1 completes in approximately 1\.5 hours; Stage 2 in approximately 3 hours\. The deployed model runs inference on commodity x86 CPU instances \(4 vCPUs and 8 GiB RAM each, autoscaled\), with resume embeddings precomputed and cached\. Embedding precompute is performed offline on a single NVIDIA T4 instance \(not the A100\), and serving itself uses no GPU\.相似文章
我把一个 LLM 蒸馏成了两个 287M 编码器(GLiNER + 选择题模型)用于文档信息抽取,但始终比不上教师模型。我做错了什么吗?
一位从业者介绍了他将 LLM 的文档抽取标注(实体、动作、数值)蒸馏到两个 287M 参数编码器中的流程——一个 GLiNER 风格的片段标注器,外加一个用于实体消歧的选择题模型——以处理约 500 万份法院判决书,并请人反馈为什么效果不及教师模型。
无奖励的表征:JEPA对LLM微调的审计
本文对联合嵌入预测架构(JEPA)在自然语言到正则表达式任务上的LLM微调进行了审计,测试了二十二个辅助目标。结果表明,隐藏状态表征的改进与解码任务准确率之间仅存在弱耦合,没有辅助目标通过族系校正。
SkillEval:通过认知诊断模型学习大语言模型的可解释能力画像
该论文提出了 SkillEval,这是一个将大语言模型发现的可解释技能与认知诊断模型相结合的框架,用于生成大语言模型在不同基准测试中的细粒度能力画像,改进基于平均分的评估方式,并支持大语言模型路由和自适应测试。
超越姓名:去识别化简历中的人口统计泄露与LLM偏差审计中的评估假象
本研究探讨了从去识别化简历中移除语言字段是否能防止LLM偏差审计中的人口统计泄露,发现非语言文本仍允许推断,且评估设计对结果有显著影响。
基于位置选择性自蒸馏,从语言反馈中训练 LLM 评判模型
该论文提出了一种位置选择性自蒸馏方法,用于利用自然语言反馈训练 LLM 评判模型。该方法通过逐位置的熵变化来屏蔽容易记忆的词元,在主观任务上将分布外泛化能力提升了 2–9 个点,优于 GRPO 等结果监督强化学习方法。