You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

4.8 KiB

AI-003 项目经历与自我评价 AI 优化前端对接方案

日期:2026-10-27。状态:本地实现候选,首轮验证完成;两处测试设施修复待v1.2审批,尚未推送、未部署、未开展前端联调或真实模型质量评测。

接口与鉴权

基础地址使用团队联调后端,路径带 /api/v1;全部请求用现有 Authorization: Bearer <access-token>,仅 STUDENT 本人。不要传userId。同步JSON,无分页或流式输出。

方法 地址 用途
GET /api/v1/profile/me/project-experience-optimization/notice 项目经历当次告知
POST /api/v1/profile/me/project-experience-optimization 项目描述优化
GET /api/v1/profile/me/self-evaluation-optimization/notice 自评当次告知
POST /api/v1/profile/me/self-evaluation-optimization 自评优化

先GET对应notice;展示message、provider、purpose、dataFields和版本;enabled=false时提示暂不可用。只有用户明确同意本次调用才POST;不要默认勾选或复用历史同意。提交 externalProcessingConsent 为原生JSON布尔true;字符串true、false、null、缺失均400。consentNoticeVersion 使用本场景当前返回值;版本过期重新获取告知并让用户确认。

请求字段

项目:projectName可选≤150;role可选≤120;description必填非空≤5000;targetPosition可选≤120。当前告知版本 project-experience-external-processing-v1。 自评:description必填非空≤5000;targetPosition可选≤120。当前告知版本 self-evaluation-external-processing-v1。 不自动提取或提交整份简历。项目名称使用公开名称或脱敏代称,不提交手机号、邮箱、证件、密码、密钥、商业秘密或其他人资料。长度以服务端Java字符串校验为准。

合成项目示例:

{"projectName":"课程商城","role":"参与开发","description":"使用Java实现订单查询接口,协助编写测试,尚未上线。","targetPosition":"Java后端开发","externalProcessingConsent":true,"consentNoticeVersion":"project-experience-external-processing-v1"}

合成自评示例:

{"description":"学习Java和SQL,在课程项目中编写接口测试,遇到问题查阅文档并记录排查过程。","targetPosition":"Java后端开发","externalProcessingConsent":true,"consentNoticeVersion":"self-evaluation-external-processing-v1"}

响应与采用

沿用ApiResponse:code、message、data、requestId、timestamp。data字段:

字段 含义
status OPTIMIZED或NEED_MORE_INFO
optimizedDescription 建议正文≤5000;信息不足时null或省略,不回填
suggestions 提示数组
followUpQuestions 补充问题数组
promptVersion 场景提示词版本,与告知版本不同
simulated true表示模拟,仅返回原文;false不证明本次已经外呼

真实提示词版本为project-experience-deepseek-v1、自评self-evaluation-deepseek-v1;模拟分别project-experience-v1、self-evaluation-v1。界面明确模拟标签,不能宣称stub完成AI润色。

调用时保留原文,禁止重复点击;返回后展示原文与建议,由用户主动采用或取消。期间用户若已编辑原文或切换条目,不自动把旧响应覆盖当前字段。NEED_MORE_INFO展示问题,不将空正文当成优化结果。 采用项目建议只回填原条目description;采用自评只回填selfEvaluation。沿用原保存接口、条目id、其他字段及最近revision;409重新读取并提示用户处理冲突,不自动覆盖。AI接口不保存、不改评分或可见范围。

失败、超时与重试

400检查参数/同意版本/敏感内容;401按现有会话流程处理;403角色不符;404用户不存在;429共享配额或并发已满,响应Retry-After:60,不自动重试;502输出无效;503关闭/配置/Redis/上游不可用;504模型超时。模型默认超时20秒、可配置1–60秒,前端超时应与联调配置协调并留有网络余量。 所有失败保留原文,不自动保存或静默再次外呼;用户手动重试时重新确认本次处理同意。提示用安全错误文案与requestId,不收集原文或Token到普通前端日志。

联调及待确认

两项默认off;后端可分别开stub供契约联调。真实模式需负责人配置real-enabled及供应商凭据,且正式授权、供应商留存/训练规则核实完成后再决定开放。三项优化共享工作经历Redis配额,切换入口也会消耗相同预算。 已在本地H2及stub下验证完整JWT权限链、建议返回与在线简历revision/content不变;不代表真实MySQL、模型质量或前端流程已验收。前端按钮、实际保存调用与revision处理由前端负责人联调确认。