AI Checker 交互体验改造 · Demo数据全虚构 · 仅供内部讨论

把 Checker 从「拦截」改造为「助力」:判不通过给建议、报错不卡人、原因说人话。左右对照 = 改造前 / 改造后。

① 判不通过 → 建议修改
② 报错后备注继续
③ 错误分级透传
④ 模型回复报错处置
⑤ 映射表全量
⑥ Admin 配置改动

判不通过时,附「建议修改」

现状 checker 只说"哪不对",不说"怎么改"。改造后,三段式模板系统固定输出新增 suggested_edit 字段,专家在判不通过卡片里直接看到可执行的修改指引。

改造前现状

6. 答案唯一性检查 检测不通过
答案唯一性检查用于验证题目答案的唯一性。系统会对比四个模型的回复与参考答案。
检查不通过未通过
Prompt 中「最优方案」未定义比较维度,模型可从耗时、成本两个角度得出不同但均合理的答案,答案不唯一。
AI 检测仅供参考,不代表最终结论。如您认为判定有误,填写不同意原因即可继续作业
专家内心:所以我该改哪里??(只能猜,或干脆备注硬提 / 弃题)

改造后新增 suggested_edit

6. 答案唯一性检查 检测不通过
答案唯一性检查用于验证题目答案的唯一性。系统会对比四个模型的回复与参考答案。
检查不通过未通过
Prompt 中「最优方案」未定义比较维度,模型可从耗时、成本两个角度得出不同但均合理的答案,答案不唯一。
💡 建议修改
  1. 在题面明确唯一的比较维度,例如改为「总耗时最短的方案」;
  2. 若需保留多维度,在约束中说明优先级(如「耗时优先,其次成本」);
  3. 相应更新参考答案的判定口径,保证与题面一致。
AI 检测仅供参考,不代表最终结论。如您认为判定有误,填写不同意原因即可继续作业
建议仅在判不通过时生成;不代写答案,只指方向。质量由 prompt 长期调优,本期先搭管道。

报错后,允许备注说明并继续提交(统一组件)

报错(error)≠ 判不通过(fail)。fail 是业务判断,该拦;error 是系统没跑出结果,不能让系统故障变成专家的死路。改造后所有模板复用同一个「报错卡」组件:分级文案 + 备注 + 继续提交,该题带「报错放行」标记进人工质检。

改造前部分模板:报错即死路

2. Task 内容检测 检测请求失败
检测请求失败未通过
请求失败,请稍后重试
没有备注框,没有别的路——报错正文只有兜底一句话(或后端异常串),专家不知道原因、不知道找谁,重试多少次都一样,题卡死。

改造后同一张卡,加上备注通道

2. Task 内容检测 检测请求失败
检测请求失败(非您的问题)报错
附件读取失败(平台侧问题),已自动上报。请点击「重试检测」再试一次;仍失败可在下方备注说明后继续提交,本题将由人工质检兜底。
填写备注后可继续提交
数据留痕:报错备注写入与判 fail 备注相同的字段,自然进入备注率 / 质检认可率统计,不另开数据结构。

错误原因分级透传:文案三要素

每条透传文案必须回答:①发生了什么(说人话) ②是谁的问题 ③专家现在能做什么。永远给下一步,绝不出现没有渠道的「请联系管理员」。下面是四个典型场景,改造前全部显示同一句「请稍后重试或联系管理员」。

文件超页数专家可解决

平台侧配套
提交前置校验直接拦下,不再送去白烧 token(近一周此类报错 201 次)。

输入过长专家可解决

平台侧配套
前置估算 token,接近上限时提前提示。

平台侧故障(附件链路/服务异常)报研发

平台侧配套
自动聚合上报研发;专家永远有「备注继续」逃生口。

兜底(未识别错误)重试或备注

平台侧配套
未识别 pattern 进人工编目,每周回收进映射表。

模型回复报错:统一处置定义(四分类)

现状:模型回复(答题环节)报错一律显示「模型请求失败视为答题错误,无需重试」——把平台故障也记成了模型答错。统一定义四类处置,现状文案只保留给 B 类

A · 平台故障报研发,专家不动

判据
基础设施/配置问题,重试也没用,与题目无关
典型错误
代理 500 · 上游 5xx · 模型配置不存在 · 401 · 欠费 · agent 沙箱 · 空响应
专家看到
记账
不计模型对错,平台修复后补跑

B · 题太难默认视为模型答错

判据
错误由题目复杂度触发,重试大概率同样失败,「模型答不出」本身就是有效信号
典型错误
超时 / 心跳中断(长文、复杂推理题)
专家看到
记账
计为模型答错,该槽位通过。防误判:首次超时先自动重试一次,再超时才归 B

C · 瞬时错误专家重试

判据
瞬时性错误,重试大概率成功
典型错误
限流 429/529 · 网络抖动 · 偶发单次 5xx
专家看到
记账
重试后按实际结果记;平台自动退避重试为主,手动为兜底

D · 题面触发专家改题

判据
题面/文件本身触发,不改必然复现
典型错误
输入超模型上限 · 内容被安全策略拒绝 · 文件超页数
专家看到
记账
不计对错,等修改。内容误伤留「备注继续」逃生口
现状对照:「模型请求失败视为答题错误,无需重试」对所有报错一刀切 → 平台故障(A 类,约占近一周模型回复报错的六成)也被记成模型答错,既冤枉模型也污染数据。

报错 → 前端显示 映射表(v1)

基于全平台报错编目(7/13 全量 + 8/19 周度)。匹配只认主错误头(去重试 history / traceback);映射表配置化,admin 可维护;未命中吃兜底,每周编目回收。

#原始报错特征(pattern)类别专家看到的文案专家动作平台动作
1exceeds the supported page limit文件超页数您上传的文件共 N 页,超过系统可处理上限(1000 页),请拆分或压缩后重新上传。改文件提交前置校验直接拦
2ContextWindowExceededError / input token 超限输入过长题目与文件内容合计超过模型可处理长度,请精简题面或压缩文件后重试。改题面前置 token 估算提示
3usage policy / inappropriate content内容被拒内容被模型安全策略拒绝,请检查题面/文件是否含敏感内容并修改;确认无误可备注说明后继续。改题或备注误伤率监控
4429 / rate limit / 529限流系统繁忙,请约 1 分钟后点击重试。稍后重试自动退避重试
5timed out / heartbeat(checker 场景)检测超时检测超时,可能因文件较大。请重试一次;仍失败可备注说明后继续提交。重试→备注长文项目放宽阈值
6Cannot fetch content from the provided url附件读取失败附件读取失败(平台侧问题),已自动上报。请稍后重试一次;仍失败可备注继续。重试→备注报研发(OSS 链路)
7The document has no pages.文件转换失败文件解析结果为空(平台侧问题),已自动上报;您可备注说明后继续。备注继续报研发(转换链路)
8mimetype parameter / invalid_file格式处理异常文件格式处理异常(平台侧问题),已自动上报;您可备注说明后继续。备注继续报研发(传参 bug)
9上游 5xx / 代理 500 / 空响应AI 服务故障AI 服务临时故障,已自动上报。请稍后重试;连续失败可备注继续。重试→备注报研发
10may not exist or you may not have access / 401 / Insufficient credits配置/账号异常平台服务配置异常,已自动上报,无需您处理;可备注说明后继续提交。备注继续报研发 · P0 告警(不自愈)
11runtime_bootstrap_failed / agent_crashed评测环境异常评测环境异常(平台侧问题),已自动上报;您可备注继续。备注继续报研发
12其余未识别兜底检测服务出现异常,已自动上报。您可重试一次,或备注说明后继续提交。重试或备注每周编目回收进映射表

Admin · PE 配置「Output 配置」块的改动

三段式模板的输出契约现为系统固定 status + reason。改造 = 在「Output 配置」块新增「输出修改建议」开关(下图红点标注),开启后系统在 Output 约束中追加 suggested_edit 要求。legacy 模板"有则显示",不强制改造。

Output 配置
固定字段 status、reason 由系统生成,这里配置判断模式、Pass 标准和额外返回示例。
*是否判断 Pass
判断 Pass/Fail不判断
AI 只会在 pass / fail 中选择,满足 Pass 判定标准时返回 pass。
*Pass判定标准
输出修改建议新增
开启后:status=fail 时,AI 须同时返回 suggested_edit(具体可执行的修改建议);pass 时返回空。专家端在判不通过卡片中展示。
建议口径说明(选填,拼入 Output 约束)
{
  "status": "fail",
  "reason": "说明判断依据",
  "suggested_edit": "具体修改建议(新增,fail 时必填)",
  "failed_dimension": "…(既有额外字段不受影响)"
}
研发注意:解析层需容错——LLM 漏输出 suggested_edit 时降级为"无建议",不得让整条判定失败或触发重跑。