简历评分结果如何结构化输出?

考查重点:输出契约与程序校验。约定总分、分项分数、依据和建议的 JSON Schema;程序校验字段与分值范围,解析失败反馈具体错误重试

本题目录

参考答案

核心回答

先定义评分维度和可校验的输出契约,再让模型按契约生成,最后由程序检查字段、分值与依据。合法 JSON、符合 Schema、评分合理是三层不同要求。 简历评价至少包含总分、分项分数、评价依据和改进建议;分析失败也要有明确状态,不能与有效的低分报告混在一起。

输出契约应包含什么

可以定义总分、分项评分、摘要、优点和建议。每个分项明确名称、上限与评分标准;建议包含问题位置或原句、问题说明和可执行的改法。评价应依据简历已有内容,材料缺失时标明缺少依据,不能为了补齐报告编造项目经历和量化结果。

接口还可以记录评分规则、Prompt、模型及简历版本,便于解释重新分析后的差异。若评分依赖目标岗位,应显式提供相应要求和版本,不能只因为字段叫“技能匹配”就认为模型已经知道目标岗位。

JSON Schema 约束必填字段、对象与数组类型、枚举和数值范围;在 Java 中可从 DTO 生成 Schema,再由服务端验证。分数是整数不代表自动位于合法区间,仍应明确 minimum/maximum 等约束。数值约束。

解析后还要校验什么

  • 结构与范围:必填项齐全、类型正确、列表和文本长度受控,分数位于各自范围内,建议优先级属于约定值。
  • 跨字段一致性:若分项已经是各自贡献分,总分应与分项之和一致;若分项统一按百分制打分,则由后端依据固定权重计算总分,避免两套规则混用。
  • 依据与建议:分项依据能对应简历内容,建议没有虚构履历,修改示例不改变用户真实职责。格式检查通过后,仍要用人工校准样本评估评分一致性和建议质量。

提示词、Schema 和程序中的分值标准应来自同一份配置或保持版本对应。否则模型按一套权重打分,页面或后端按另一套解释,结果即使能反序列化也不可靠。

失败怎样处理

格式或 Schema 校验失败时,可以反馈具体字段错误后有限重试;截断、拒答和服务异常要按实际原因处理,不能无限要求“再输出一次 JSON”。调用次数还应考虑框架与 SDK 的内部重试。

最终失败应返回失败状态与可查询错误,业务报告不应伪装成一份正常零分简历。重试也不能随意修改原始简历中的事实。Spring AI 的生成端结构约束与返回后 Schema 校验是可分别配置的能力,启用转换器不等于所有模型调用都采用了供应商原生约束。Spring AI 校验说明。

InterviewGuideJava

基于 InterviewGuide

核心回答

InterviewGuide 以 Java record 描述简历分析结果,用 BeanOutputConverter 生成格式要求,再通过统一的 StructuredOutputInvoker 调用与解析模型响应。结果包括总分、五项评分、摘要、优点及建议,最终保存为分析记录。

这一实现解决了结构交接和重试复用,但仍要单独看分值约束与失败语义:当前 DTO 没有表达评分区间,服务外层还可能把失败转换为零分报告,因此结构能保存不等于分析有效。

DTO 和 Prompt 怎样配合?

内部 DTO 定义 overallScore、scoreDetail、summary、strengths、suggestions;建议包含类别、优先级、问题和推荐修改。服务把 outputConverter.getFormat() 追加到系统提示词,再将简历正文填入用户模板。当前分析方法接收的是简历正文,没有显式目标岗位参数。DTO 与格式构造。

系统模板要求项目、技能、内容、结构、表达五项贡献分分别为 40/20/15/15/10,合计 100。对外响应类的部分注释仍是旧的分项上限,不能将注释直接当成当前执行规则;这些标准需要统一维护。实际评分模板、响应字段注释。

转换失败怎样重试?

统一调用器默认开启 Schema 校验,通过 call.entity(outputConverter, spec -> spec.validateSchema()) 获取对象。关闭校验的兼容分支才采用文本转换,并尝试修复字符串中的未转义引号;这不是任意 JSON 错误都能修好的通用修复器。两条解析分支。

外层调用器按配置重试,后续尝试可增加严格 JSON 要求和上一轮错误,默认外层最多尝试两次。Schema 校验和 SDK 自身可能还有内部调用,所以两次不能直接当成全部 HTTP 请求的上限。重试封装、默认配置。

为什么还需要业务校验和独立失败状态?

评分 DTO 的分数字段只有 int,没有最小值、最大值或分项合计约束;转换后也没有重新计算总分。生成的对象即使通过现有结构校验,仍可能分值越界或总分不一致。完善时应让分项标准进入可执行约束,再检查总分与评分依据。

此外,ResumeGradingService 外层捕获异常后返回一份零分错误报告。只要当前消费者仍拥有执行权,它就可以按普通分析结果保存,并随后完成任务。因此不能把任务 COMPLETED 或一条零分分析记录直接解释为评价成功。错误报告回退、结果保存入口。

执行代次校验能阻止旧消费者写入,却不会判断报告内容有效。进一步完善时,可把分析调用失败、报告校验失败与正常评分分开,避免用户将系统错误理解为自己的简历得了零分;再用缺字段、越界分数、总分冲突和服务不可用样例分别验证。

对应教程

  • 第 14 章:输出解析器:参考格式说明、解析、结构化生成和额外业务校验的分工;具体 Java 调用按上述源码说明。

参考资料

相关面经

1 篇

字节跳动

Agent 开发工程师
一面
查看原面经 →
项目追问
你的项目中说到了面试评分,那么简历评分的内容是如何进行结构化输出的?

收录题集

1 个来源,共1 份题集

相关题目

4 题