docs: 查标评测试跑结果(开发集 S02、S04、S10)和发现

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
YANG JIANKUAN
2026-11-04 12:27:10 +08:00
parent 54534be0c1
commit d67ea8d017
3 changed files with 56 additions and 2 deletions

View File

@@ -0,0 +1,53 @@
# 查标评测(2026-11-04 起)
> 评测集规范:`evals/check/GUIDELINES.md`;工具:`evals/check/`;数据和输出在 `evals/out/check/`(不进 git)。
> **读数的前提**:金标准由 Fable 复核、用户抽查 20%(决策 E1),未经全部人工复核;本文的数字都是**开发集**上的,只用于找问题、调实现,不能当效果证据。头条效果以留出集(风格 C)和真实国动投标文件为准,第 3 步冻结代码后才跑。
## 1. 试跑(第 0 步,2026-11-04)
**范围**:开发集 S02、S04、S10 各两份投标文件(规矩 + 马虎),都是风格 A(风格 B 的改写还没做)。查标代码是第 1 步的版本:响应匹配只有「检索 + 模型判断」,规则检查还没有。模型 DeepSeek Flash,提示词 `check.match` v1。
**复核**:马虎的投标文件共注入 82 个要求项问题,Fable 复核通过 70 个、不通过 12 个(S02 10 个:默认接受的文件里注入了漏响应、「暂不支持」套在尺寸和费用这类参数上、要求本身是可选项等)。下面只算通过的。用户抽查表:`evals/out/check/review/spot-check.md`(17 条,待填)。
### 1.1 结果
| 投标文件 | 清单条数 | 报出问题 | 查标召回 | 致命级召回 | 规矩响应的要求上误报 | 不需要响应的条目上报了问题 |
|---|---|---|---|---|---|---|
| S02 规矩 | 248 | 104 | — | — | 21 / 56 | 39 |
| S02 马虎 | 248 | 117 | 8 / 16(50%) | 2 / 7 | | |
| S04 规矩 | 264 | 90 | — | — | 11 / 111 | 52 |
| S04 马虎 | 264 | 110 | 11 / 28(39%) | 1 / 4 | | |
| S10 规矩 | 305 | 122 | — | — | 6 / 39 | 75 |
| S10 马虎 | 305 | 142 | 5 / 20(25%) | — | | |
- 合计查标召回 24 / 64(38%)。只检索不调模型的基线召回 0:基线把检索到的第一句都当作已响应,说明现在查出的问题来自模型判断,不是检索。
- 按问题类型:漏响应(D01)9 / 14 较好;写明不支持(D05)5 / 20、负偏离未说明(D06)0 / 7、响应对象错位(D09)0 / 4 很差。
- 每次检查调用模型 31~39 次,输入约 9~11.5 万 token、输出约 1.5~1.7 万 token(约一两毛钱)。
### 1.2 问题出在哪里
1. **不需要投标人响应的条目也被报了「未找到响应」**:三份规矩的投标文件报了 316 个问题,166 个落在根本不需要响应的条目上(无效情形的列举、日期、采购人义务、别的采购包),这是误报的大头。→ C12 的响应方式抽取,加上「这条要不要投标人回答」的判断和按所投采购包过滤(第 2、3 步)。
2. **表格里的「暂不支持」「负偏离」看不见**:表格按单元格切句,检索命中的是投标人照抄要求原文的那一格,同一行里写着「暂不支持」「负偏离」的格子不在模型的输入里。→ 第 3 步把整行交给模型(偏离表直取也是这个思路)。
3. **证明材料和格式文件找不到**:规矩响应的要求上的误报,主要是证明材料(扫描件页没有文字层)和格式文件(声明函、承诺书)报了「未找到响应」,以及让投标人「见附件」的要求被报成「未给出具体值」。→ C10 扫描件兜底;文件要在(presence)的要求按文件在不在判断,不逐条找响应。
4. **级别口径**:S02 的 ★ 是「核心技术参数,负偏离扣分」,不是投标无效条款;标注集记成实质性条款,查标按致命报和真实评审不一致。→ 级别要跟着招标文件对 ★ 的定义走(读标口径 Q2 已有,查标沿用)。
### 1.3 评测集自身的问题(已修 / 待修)
| 问题 | 状态 |
|---|---|
| 分项报价平均摊,一项超过单价上限,规矩的投标文件自带致命问题(S10) | 已修:按分项上限比例分摊 |
| 偏离表有「设备名称」列,按固定列写会错位(S04) | 已修:按表头决定列 |
| 写死的落款日期晚于投标截止日(S04) | 已修:取截止日前 3 天 |
| 同一参数列在两张表里,只删一张表的行不算漏响应(S04) | 已修:漏响应在所有表里都删 |
| 符合性条件响应表的一格被算成 11 个问题 | 已修:按表级问题记一个 |
| 标注集同一要求有两个单元(两个类别、或表格一行拆成几条),一个问题算两次 | 已修:评分按句子重叠合并 |
| 「暂不支持」套在尺寸、费用、打印方式这类参数上,不像真实写法 | 待修:按参数类型选注入方式 |
| 默认接受的文件里注入漏响应(S02 另加了一张逐条的技术规格表,脚本推响应方式时被它带偏) | 待修:响应方式以档案的 modes 为准,不从表格推 |
| 「提供某文件」类要求被当成参数注入偏离 | 待修:推响应方式时识别 presence |
| 风格 B 的改写(截断、同义替换、只写值)还没做;所有数字都是风格 A 的 | 待做 |
## 2. 下一步
1. 修 §1.3 的待修项,做风格 B 的改写,再扩到开发集其余 4 份(S01、S05、S07、S08)。
2. 第 2 步(投标侧结构识别、规则、C12 响应方式抽取)和第 3 步(整行上下文、偏离表直取、presence 判断)按 §1.2 的方向改,每改一轮在开发集上重跑对比。
3. 留出集(S03、S06、S09,风格 B + C,封存的词库)和真实国动投标文件,在第 3 步冻结代码后只跑一次。

View File

@@ -8,7 +8,7 @@
| 步骤 | 状态 | 说明 |
|---|---|---|
| 第 0 步 评测集 | 进行中 | 规范 v0.2(`evals/check/GUIDELINES.md`,Fable 审查后修改)和留出集划分(`evals/check/split.json`)已定;渲染、离线查标脚本已写。下一步先做 S02、S04、S10 六份跑通 |
| 第 0 步 评测集 | 试跑完成,继续扩充 | 规范 v0.2、留出集划分已定,留出集词库和风格 C 已封存;生成、注入、渲染、离线查标、评分工具已写;开发集 S02、S04、S10 六份试跑完,结果和发现见 `check-eval.md` §1 |
| 第 1 步 链路打通 | ✅ 2026-11-04 | 见下方「第 1 步落地记录」 |
| 第 2~6 步 | 未开始 | |