docs(evals): S01–S10 标注集 v1、评测工具和评测报告

- evals/gold:1,887 个标注单元(AI 标注、逐条裁定,未经人工复核),规范见 GUIDELINES.md
- prepare / run_all / score / gold:导出文字层、批量抽取、打分、标注定位
- docs/architecture/extract-eval.md:修复前后的结果(三项目标全部达标)和剩余问题
- decisions.md 记 M1(只用 Flash)和 Q1–Q4;架构 §13 SK13;AGENTS.md 进度

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
YANG JIANKUAN
2026-11-03 23:19:30 +08:00
parent f98fd51128
commit 602703c47c
21 changed files with 29427 additions and 18 deletions

View File

@@ -4,6 +4,25 @@
---
## Q1–Q4 · 2026-11-03 · 实质性条款的四个口径:全部按建议
依据 `docs/architecture/extract-eval.md` §5(S01–S10 标注时遇到、规范里没定的情形)。
| # | 决策 | 理由 |
|---|---|---|
| Q1 | ★ 标在节标题上(「三、★商务要求」「★(一)技术要求」),节里的条款都是实质性要求 | 文件自己这样声明(S01 还写明商务条款负偏离即无效);节的范围到下一个同级编号为止 |
| Q2 | 文件把 ★ 定义成计分项(「加★为核心技术参数」、不满足只扣分),而且没有任何地方说 ★ 是实质性要求或写明无效后果,★ 降为「重要」,标注规则记 meaning = important | 否则用户会把扣分项当成废标项(S02)。条件从严:要有计分证据、全文没有带 ★ 的后果写法,拿不准就按实质性 |
| Q3 | 文件声明「必须」「应」字样的要求都是实质性要求时(S07),只在文件层面记一条标注规则(marker = keyword),不逐句抽 | 逐句抽会把几百条一般要求都标成致命,清单失去意义 |
| Q4 | 政府采购项目的资格条件一律带「无效」类别,重要性依据记 statute | 87 号令第六十三条:不具备招标文件规定的资格要求的,投标无效;磋商同理。这是现行规定,不是草案层 |
- **影响**:`extract.build_doc`、`structure.star_sections`;界面上 statute 来源的「无效」要和「文件写明」分开展示(查标阶段做)。
## M1 · 2026-11-03 · 抽取模型只用 Flash,靠规则和提示词优化
- **决策**:读标的全部抽取任务都用 DeepSeek Flash 不思考模式(`deepseek-chat`,接口返回 `deepseek-flash`),不再对比 Pro 和思考模式。提升效果只在规则(校验、兜底、文字层、结构识别)和提示词之间做。
- **理由**:SK11 在实质性条款任务上比较过 Flash 不思考、Flash 思考(`deepseek-reasoner`)和 `deepseek-v4-pro`,抽到的条款大体一致、互有多少,后两者慢 15~45 倍,输出 token 多 7~12 倍,看不出更准。
- **影响**:S01–S10 标注集评测只跑 Flash 基线,用来找规则和提示词的问题;按能力路由(`BD_AI_MODELS`)的机制保留,不配置。tech-validation §4.3 里「D2 定价前补测 Pro 或思考模式」不再做。
## API1–API5 · 2026-11-03 · 接口契约的取舍:全部按建议
依据 `docs/architecture/api-design.md` §9;契约文件 `openapi.yaml`。