fix(check): 修国动真实投标文件暴露的 6 处(规则集 r5)
国动真实投标文件查标一次(check-eval §14):44 个问题里有用的 9 个, 致命、重要两级都是误报。按决策 E3 全部修(§15): - 响应错位:「完全满足,无偏离。」这类复合肯定写法整体算肯定 - 附加条件:「不以……另行收费」是承诺 - 扫描件:文字层 v5 记每页图片占比,带一行说明的扫描页也认;提示写明扫描页范围 - 不需要这家投标人回答的:无特定资格要求、总括性资格要求、中标后才做的事、 投标文件没声称适用的联合体和价格扣除 - 「方案应明确 A、B、C……」逐项再检索 - 同一批送出的片段都可引用(引文照样核对);出处没过校验的不沿用 国动重新检查 44 → 11(全是提示,有用的 9 个都在);开发集召回 112 → 111 (模型重跑波动),致命级 25/32 不变,规矩的投标文件问题 239 → 213。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -309,7 +309,66 @@
|
||||
|
||||
**局限**:资质情况表和词表是同一个人对着同一批样本写的,分数说明不了泛化;真实投标文件的资质表写法、扫描件比例都没测。国动真实投标文件到了以后,请用户按公司的真实证书录资质库再跑一次(`qualification-plan.md` §5)。
|
||||
|
||||
## 14. 下一步
|
||||
## 14. 国动真实投标文件(2026-11-05,跑一次)
|
||||
|
||||
用户提供的真实响应文件(南京长卿科技有限公司,183 页 PDF,WPS 导出;第 18–33 页里有 23 页是没有文字的扫描件,第 104–169 页是合同和劳动合同的扫描件,每页带一行文字页眉)。招标文件用当前代码重新读标(DOC 扩展名、实际是 DOCX,71 页,45 秒,299 条、待确认 3 条,响应方式技术 / 商务都认成「逐条响应」)。用户看过清单、没有改动,资质库空,直接查标。代码是 `5b77012`(规则集 `2026.11-r4`、提示词 `check.match` v2)。文件放在 `samples/tenders/GD/`,不进 git。
|
||||
|
||||
**结果**:26 秒,模型调用 31 次(输入 15.6 万 token、输出 2.1 万);249 条参与检查,203 条判「已响应」。报出 44 个问题:致命 1、重要 1、提示 42。没有金标准,下表是逐条对照投标文件原文的人工判断(Claude 判,用户未复核):
|
||||
|
||||
| 问题 | 个数 | 判断 |
|
||||
|---|---|---|
|
||||
| 响应错位(含唯一的致命) | 15 | **全部误报**。响应格写「完全满足,无偏离。」,`POSITIVE` 去掉「完全满足,」后剩下「无偏离。」,不在 `MARKER` 里,被当成「别的内容」。真实投标文件最常见的写法,开发集、留出集没有 |
|
||||
| 附加条件(重要) | 1 | 误报。原句是「……均包含在合同价中,**不**以正常接口对接和适配工作**另行收费**」,是承诺不是附加条件 |
|
||||
| 出处没能核对 | 4 | 误报。部署分区(第 72 页)、架构图(第 61–63 页)、人员经验和岗位(第 132–133 页)原文都有 |
|
||||
| 未找到响应 | 10 | 5 条有用:平台费用三条(商务表里确实没有逐条回应)、没有承诺延长质保(评分项)、没有声明演示系统是自主研发;5 条误报:售后、实施、数据治理三条「方案应明确……」对应的章节都有,响应时限承诺第 100 页写了 15 分钟 / 1 小时,「合同签订后细化进度计划」不是投标时要回答的 |
|
||||
| 疑似不满足 | 1 | 误报。团队配置第 132–133 页列了 3 名核心人员和分工,模型的说明「只写了满足」不对 |
|
||||
| 扫描件兜底「请人工核对」 | 12 | 4 条有用:第二十二条的证明材料(确实在扫描页上),以及软件自主研发、团队专业能力、国产化适配三个评分项(投标文件里确实没有材料,人员证书一栏都写「无」,但提示说「可能在扫描件里」,说法不对);8 条是噪音:不接受联合体、无特定资格要求、须具备资格要求、联合体协议、特定资格证明,以及残疾人福利单位、监狱企业、本国产品三种价格扣除,都不需要这家投标人回答 |
|
||||
|
||||
合计有用 9 个、误报或噪音 35 个;**致命、重要级 2 个全是误报**。报价规则(大小写、分项合计 43.2 万、低于限价 45 万)、落款日期、有效期都没有报问题,原文核对也确实没有问题。
|
||||
|
||||
**产品没查、人工看到的真问题**:第 3 页「评分索引表」写的页码和实际页码对不上(表上写到第 209 页,文件只有 183 页,「履约能力」写的是第 124–194 页,实际是第 102–169 页),总目录也一样。评委按索引翻页会找不到。这属于「目录页码和实际页码一致」,覆盖范围里还没有这一项。
|
||||
|
||||
**暴露的问题**(按规矩只记录,修不修由用户定):
|
||||
|
||||
1. **响应错位的肯定写法**:「完全满足,无偏离」「满足,无偏离;」这类复合写法要整体当成肯定回答。影响最大,唯一的致命就是它。
|
||||
2. **附加条件的否定句**:「不……另行收费」「不以……为由另行……」是承诺,不算附加条件。
|
||||
3. **扫描件判断只看整页有没有字**:第 104–169 页的扫描件因为有一行页眉,不算扫描页,所以提示写「23 页扫描件」,实际有 80 多页。另外,评分项要的材料文字部分没有时,提示一律说「可能在扫描件里」,即使扫描页全是别的材料也这么说。
|
||||
4. **「要不要投标人回答」漏判**:联合体、特定资格「无」、价格扣除这些条目(投标人没有声称适用的),以及合同签订后才做的事,不该出问题。
|
||||
5. **评分细则的「方案应明确……」**:投标文件有整章对应时,模型在候选句里没找到。这类条目要整章去对,不是逐句去找。
|
||||
6. **出处核对**:4 条模型找对了页,引文没能核对上,降成了「未找到」。
|
||||
|
||||
**读法**:真实文件上的问题数(44)不多,原因是这份投标文件很规矩:偏离表逐条照抄、全写「完全满足」。但最高两级全是误报,说明规则在没见过的写法上还很脆。召回测不出来,因为这份文件本身没有致命问题,第 1、2 条的误报正好落在最显眼的位置。
|
||||
|
||||
## 15. 修国动暴露的 6 处(2026-11-05,决策 E3)
|
||||
|
||||
规则集 `2026.11-r5`。每处都配了单元测试,例句不取自国动、开发集或留出集。
|
||||
|
||||
1. **响应错位的复合肯定写法**(`check/deviation.py`):响应格开头连着写的肯定回答(「完全满足,无偏离。」「符合,无负偏离;」)一起去掉,剩下有内容的才拿来和要求比;「完全满足,显示器升降行程:150mm」照报。
|
||||
2. **附加条件的否定句**(`check/rules.py`):「不以……另行收费」「不以……为由另行计取」是承诺;「另行收取」「另行协商」照报。
|
||||
3. **扫描件判断**(`text_layer` v5,`check/match.py`、`findings.py`):每页记图片占比。字数不到 20,或图片占两成以上且不到 60 字,或占四成半以上且不到 120 字,都算扫描页(带插图的正文页字多,不算)。提示写明扫描件在哪几页,例如「投标文件第 16–23、26–33、104–131 页是扫描件(共 82 页)……材料如果附在这些页上,请人工核对,没有附就是缺了」,不再说「材料可能在扫描件里」。投标分册下次检查时按 v5 重新抽文字层,句子编号不变。
|
||||
4. **不需要这家投标人回答的条目**(`check/applicability.py`):写明没有的(「无特定资格要求」;有这条时,「特定资格要求的证明文件」也不查)、总括性的「须具备招标文件规定的资格要求」、标题以「合同签订后 / 中标后」开头的,都不找响应。条件性要求(标题里是联合体、残疾人福利性单位、监狱企业、本国产品的)要投标文件里出现了对应的文件才查。「不接受联合体」不算「没有要求」:投标人真是联合体时恰恰要报。这些都写进检查覆盖范围。
|
||||
5. **提纲式要求**(`check/match.py`):「方案应明确 / 包括 A、B、C……」里列出的每一项(至少 3 项)再各检索 1 句,候选句最多 10 句,模型能看到整章的内容。
|
||||
6. **同一批片段的出处核对**(`check/match.py`、`reuse.py`、`runner.py`):同一批送给模型的片段,任何一条都可以引用,引文照样要和原文核对;出处没过校验的结论不再沿用到下次检查(以前沿用回来会变成普通的「未找到」)。
|
||||
|
||||
**国动(看过结果才修的,只作参考)**:重新检查报出 11 个问题,全是提示级,用时 7 秒(大部分结论沿用上次,只调了 2 次模型)。§14 里判为有用的 9 个都还在,剩 2 个误报:团队配置的「只写了满足」、更优响应时限(这两条的结论是沿用上次的)。原来的 4 条出处核对失败、「方案应明确……」的 4 条都改判已响应,出处页码是对的(第 61–63、79–85、87、94–101、132 页)。
|
||||
|
||||
**开发集不退化**(17 份,运行 `r5` 对比 `r4`):
|
||||
|
||||
| 指标 | r4 | r5 |
|
||||
|---|---|---|
|
||||
| 查标召回 | 112 / 149(75%) | 111 / 149(74%) |
|
||||
| 致命级召回 | 25 / 32 | 25 / 32 |
|
||||
| 规矩的投标文件报出的问题 | 239 | 213 |
|
||||
| 其中落在不需要响应的要求上 | 79 | 53 |
|
||||
| 规则问题 | 57 / 57,误报 4 | 57 / 57,误报 4 |
|
||||
|
||||
召回少的 1 个是模型重跑的波动:跳过的条目变了以后,批次重新组合,大部分批次没命中缓存,模型重新判了一遍(各类此消彼长:D01 +1、D05 +1、D03 −1、D06 −2)。漏掉的 4 个,把第 6 处临时关掉(全部走缓存)结论一样,不是修复造成的。派生的报价、资质评测文件(8 份)的规则和资质问题和上次完全一样。
|
||||
|
||||
**留出集(看过,只作参考)**:召回 51 → 49 / 74,致命级 26 → 26 / 41,规矩的投标文件报出的问题 82 → 78,规则问题 19 / 20 不变。少的 2 个(S06-C 的 D09、S09-C 的 D01)关掉第 6 处后结论也一样,同样是重新组批后模型判法变了。
|
||||
|
||||
**局限**:这 6 处都是看着一份真实文件改的。第 4 处的「条件性要求」只认标题里的这几种主体;第 3 处的阈值是按国动这一份文件的扫描页定的,别的文件扫描页的版式(整页图片、多张小图)还没见过。
|
||||
|
||||
## 16. 下一步
|
||||
|
||||
1. 分项报价表和采购需求清单逐项对照(P13)**暂缓**:在开发集 7 份招标文件上试读「名称 + 数量」的采购清单表,S02、S08(服务类)没有这种表;S04 把「是否进口」一栏读成了名称;S10 采购包 2 的表跨页、第二页没有表头,漏了大半;S01 9 行里能和投标文件的分项对上名称的只有 7 行。P13 是致命级,按这个抽取质量在真实文件上会大量误报「缺项」,评测集里也没有注入过,先不上,覆盖范围里照写「还没有上线」。散文写法的单价上限同样暂缓。
|
||||
2. 第 3 步冻结前:确认各项改动的单元测试都有开发集以外的反例;冻结后跑留出集(S03、S06、S09,风格 B + C)和国动真实投标文件,各一次。
|
||||
|
||||
@@ -4,6 +4,12 @@
|
||||
|
||||
---
|
||||
|
||||
## E3 · 2026-11-05 · 国动真实投标文件暴露的 6 处全部修
|
||||
|
||||
- **决策**:国动真实投标文件跑完一次(`check-eval.md` §14)后,暴露的 6 处全部修:响应错位的复合肯定写法、附加条件的否定句、扫描件判断、不需要这家投标人回答的条目、提纲式的「方案应明确……」、同一批片段的出处核对。规则集 `2026.11-r5`。
|
||||
- **理由**:用户决定。致命、重要两级报出来的都是误报,而且都是真实投标文件最常见的写法。
|
||||
- **影响**:国动的正式成绩以 §14(修之前)为准,修后的数字只作参考(看过结果才修的)。真实文件仍然只有这一份,泛化要等更多真实投标文件。
|
||||
|
||||
## Q2(修订)· 2026-11-05 · ★ 一律按实质性条款处理
|
||||
|
||||
| # | 决策 | 理由 |
|
||||
|
||||
Reference in New Issue
Block a user