useAiWork开发者文档
AI 开发

AI 简历优化与模拟面试工作流

追踪结构化输出、原文证据校验、会话版本与面试状态转换。

输入与会话

工作流使用 kind: resume 或 kind: interview,输入包含岗位、简历文字、可选 JD 与来源名称。简历最长 30,000 字符,JD 最长 20,000 字符。附件在浏览器提取文字,提交前由用户核对。

会话通过 D1 保存,包含结果、对话和面试状态。与通用聊天的浏览器本地历史不同。

任务与状态

动作用途前置条件
optimize
岗位诊断与改写建议
简历工作流
import
生成可导入的结构化简历
简历工作流
questions
开始新的面试题轮次
面试工作流
feedback
分析回答与可选追问
已有问题且本轮未结束
report
生成本轮复盘
面试轮次已完成
chat
基于当前资料继续交流
当前会话输入有效

每轮题目要求 5 个不同 ID。主问题可产生一次追问;追问回答完成后进入下一题。新一轮清空旧轮次结果与对话。状态由 transitions.ts 控制,不能靠按钮是否可点作为唯一校验。

结构化生成与证据

generateText 配合 Output.object 和任务 Schema 生成对象。随后再执行领域校验:建议 before 必须出现在原文,岗位证据必须能对应简历文字,回答优势引用必须来自实际回答。

无 JD 时不能生成岗位需求分析。输出不完整或引用无法对应原文时返回 INVALID_AI_OUTPUT,不保存此次结果。优化建议只对用户选择且仍匹配原文的片段应用。

并发与保存

服务端预留会话版本,生成后按预留 token 写入;失败或取消走退款并释放预留。面试回答在生成反馈前保存为 pendingAnswer,便于错误后恢复。

当前生成最大输出 10,000 Token,超时 60 秒,关闭自动重试。对话与结果各保留最近 40 条,整个状态序列化大小有上限。

实现入口

  • contracts.ts:输入与结果 Schema。
  • service.ts:provider、提示词、计费与 AI SDK 组合。
  • service-core.ts:可注入生成与失败处理。
  • transitions.ts:业务状态与证据校验。
  • session-service.ts:所有权、版本、预留与保存。
  • resume-service.ts:结果转入简历。

以上文件均位于 src/features/career/api/。

本页目录