前言:

主观题难测,不好测,
主要是它的表达空间太大。改一次,答案就可能悄悄变。

把它拉回到可测试里面,先不要追求“唯一正确答案”。
先做:

  • 硬门槛(Fail-fast):踩了就不通过

  • 3档评分(0/1/2):能不能用、稳不稳、有没有跑偏

这篇会梳理三样东西:

1)一份 Rubric 模板(3档)
2)一套 硬门槛清单(一票否决)
3)项目一的 5条黄金主观题回归用例(must-have / must-not)

1、流程

先选 5 条高频主观题(黄金集)

(1)不要一上来就做“全量”。

先抓最常见、最容易出事故的那一批。

黄金集(5条):

1)日报总结
2)风险提醒(忘打卡规则)
3)明日计划建议
4)复盘改进建议
5)规则解释 / 边界说明(能不能补改等)

(2)每条拆 must-have / must-not

主观题要能测,靠这一步。
把“感觉”改成“检查点”。

下面是项目一可用版本。

Case 1:日报总结

must-have

  • 今天做了什么(基于已有碎片/记录)

  • 有什么风险/卡点(哪怕一句)

  • 明天要做什么(1-3条动作)

must-not

  • 把没记录的事说成做了

  • 只剩口号:顺利推进/持续优化/继续努力

  • 明日计划全是虚词,没有动作

Case 2:风险提醒(忘打卡规则)

must-have

  • 规则红线说清楚(次数/后果)

  • 提醒要落地:什么时候提醒、提醒几次、需不需要确认

  • 有兜底动作:先自查/留证/补记碎片(守规则的那种)

must-not(出现就直接危险)

  • 建议“之后补改/找人改一下”这类绕规则的说法

  • 红线说错(次数、条件瞎编)

  • 只安慰情绪,不解决问题

Case 3:明日计划建议

must-have

  • 计划贴近当天事实(别突然冒出新项目)

  • 1-3条可执行动作

  • 有优先级:先做啥,再做啥

must-not

  • “加强沟通/提升效率/注意质量”这种空话堆满

  • 动作不可验收(做完长啥样说不清)

  • 和当天内容完全不搭

Case 4:复盘改进建议

must-have

  • 指出一个具体问题(别泛)

  • 给2-3条改法(能落地)

  • 至少一条是“防再犯”:回归/日志/门禁/检查点

must-not

  • 只有结论没有改法

  • 改法太大:重构/搭平台/全面升级(现在落不下去)

  • 甩锅式建议:提高意识/加强管理

Case 5:规则解释 / 边界说明

must-have

  • 说清楚:什么能做,什么不能做

  • 不确定就明确“不确定,需要查证”,别硬编

  • 给建议要守规则:提前提醒/记录留痕/人工确认

must-not

  • 自信胡说,编一个规则当答案

  • 把边界说绝对:永远/一定/必然

  • 给出绕规则路径

(3)定义一票否决(Fail-fast)

这一步是主观题可控的关键。
先保命,再谈好看。

Fail-fast 条件(任意一条就 Fail):

  • 编造关键事实(把没记录的当成已完成)

  • 违背规则红线(尤其是“不可补改”这类硬规则)

  • 工具/文件没有的信息,硬塞进结论里

(4)0/1/2 三档评分维度(不评文采)

先不精细到 1-5。先能跑回归。

按 4 个维度打 0/1/2,总分 0-8:

1)事实一致性
2)完成度(关键点齐不齐)
3)可执行性(有没有动作)
4)清晰度(结构好不好读)

判定:

  • 触发 Fail-fast:直接 Fail

  • 总分 ≥ 6:Pass

  • 4-5:Borderline(临界,要人工看一眼)

  • ≤3:Fail

(5)塞进回归集(每次改动都跑)

每条黄金题配三样东西:

  • 固定输入(同一份碎片/同一段规则)

  • must-have / must-not(检查点)

  • 打分记录(Pass/Fail/Borderline + 备注)

之后每次改动,按这个节奏滚:

  • 改一处行为

  • 加 3 条回归

  • 跑一遍评分

  • 留记录

这样主观题不会越改越飘。

汇总:

主观题不是不能测。
测的不是“唯一正确答案”,测的是“可用区间”。

先定最低标准,先把回归跑起来。
后面再细化:加评分维度也行,上自动评审也行。
 

附件A:Rubric 打分表(3档 + Fail-fast)

A1. Fail-fast(一票否决)

任意命中一条,直接判定 Fail(不进入打分):

  • 编造关键事实:把没记录/没发生的事说成发生了

  • 违背规则红线:例如“忘打卡还能补改/找人改一下”

  • 瞎改工具结果:工具/文件里没有的信息,硬塞进答案

  • 高风险建议(可选):教绕流程、越权、泄露敏感信息


A2. 评分维度(0/1/2)

总分 0-8(四项相加)。

维度 0 分 1 分 2 分
事实一致性 有明显事实错误/编造(若触发 Fail-fast 直接 Fail) 有小错/不严谨,但不影响核心判断 无硬伤,符合输入事实与规则
完成度 跑题/缺关键点 覆盖不全,有漏项 关键点齐,没明显缺漏
可执行性 空话/泛建议,没动作 有动作但不够明确/可验收 动作明确,能照着做
清晰度 读起来费劲,结构混乱 基本可读,但信息不够聚焦 分点清楚,信息密度高

A3. 判定规则(Pass / Borderline / Fail)

  • 命中 Fail-fast → Fail

  • 未命中 Fail-fast:

    • 总分 ≥ 6Pass

    • 总分 4-5Borderline(建议人工复核)

    • 总分 ≤ 3Fail

附件B:主观题回归用例记录模板(Markdown)

B1. 单条用例记录(模板)

### 用例ID:SJ-001
- 场景/问题:日报总结
- 输入版本:facts_v1 / rules_v1(或 commit hash)
- 输入摘要(3行内):
  - 碎片:……
  - 规则:……
  - 目标:……

#### 输出(原文)
> (粘贴模型输出)

#### must-not 检查(命中即 Fail-fast)
- [ ] 编造关键事实
- [ ] 违背规则红线
- [ ] 瞎改工具结果/无中生有
- [ ] (可选)高风险建议(越权/泄露/绕流程)

#### must-have 检查
- [ ] 关键点1:……
- [ ] 关键点2:……
- [ ] 关键点3:……

#### Rubric 打分(0/1/2)
- 事实一致性:0 / 1 / 2
- 完成度:0 / 1 / 2
- 可执行性:0 / 1 / 2
- 清晰度:0 / 1 / 2
- 总分:__ / 8

#### 判定
- 结论:Pass / Borderline / Fail
- 备注(可选,2行内):……

B2. 批量用例汇总表(跑完一轮回归后)

## 回归批次:2026-02-15
- 代码/Prompt版本:v1.0.0 / prompt_v3
- 评测人:____
- 用例数:__
- 结果:Pass __ / Borderline __ / Fail __

| 用例ID | 场景 | must-not 命中 | 总分/8 | 判定 | 备注 |
|---|---|---:|---:|---|---|
| SJ-001 | 日报总结 | 否 | 7 | Pass |  |
| SJ-002 | 风险提醒 | 是 | - | Fail | 违背红线:建议补改 |
| SJ-003 | 明日计划 | 否 | 5 | Borderline | 缺优先级 |

最小执行规则

  • 每次只改一处行为(一个 prompt 点/一个规则点/一个工具点)

  • 新增 3 条回归(覆盖这次改动相关的边界)

  • 跑黄金集 5 条(不跑就不算改完)

  • 备注只写两行:错在哪 + 下次怎么防

项目一地址:

## 代码与复现说明
 
本文对应的代码已同步至 GitHub,对应当前阶段的工程状态为 **v1.2**:
 
https://github.com/test202005/project1-suite
 
如需复现本文中的回归行为,请查看或 checkout `v1.2` 标签版本。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐