招标文件解读助手|脚本扫描·结构提取·决策参考
约八成的废标与无效投标,不是标书写得不好,而是没读懂规则——资格差一条、盖章少一处、装订不合要求,几百页心血直接出局。本技能引入确定性脚本自动扫描环节:拿到文件后先跑 scripts/clause_extract.py,正则匹配否决废标条款、关键词定位资格条件五维度、自动识别评分办法与时间节点,输出带原文上下文的结构化命中清单;然后由 Agent 补充语义解读与决策要点,把几百页文件读薄成一页决策摘要——能不能投、要备什么、坑在哪。
适用场景
- 新拿到一份招标或采购文件,需要在短时间内摸清整体要求与规则
- 评估这个标值不值得投:门槛够不够、资料来不来得及、风险大不大
- 提取资格条件逐条对照本公司情况,判断满足 / 不满足 / 待核
- 拆解评分办法与分值分布,明确客观分保底项与主观分竞争项
- 排查否决/废标条款与格式签章要求,提前规避硬伤
- 投标前自查:拿招标文件和自己的投标文件做符合性比对,找出疑似缺失项
触发词:招标文件解读、招标文件分析、资格条件、评分办法、能不能投、废标条款、采购文件解读、招标要求、符合性检查、投标自查
不适用场景
- 预测中标概率或中标结果:本技能不做任何形式的胜出预测
- 判断招标程序是否违法违规:涉及法律定性,请咨询法律专业人士
- 代替用户做投或不投的决策:只输出决策要点,决策权在用户
- 对澄清或补遗文件做权威解读:一律以采购人或代理机构的官方答疑为准
先确认文件与版本
开始解读前,先与用户确认:
- 招标文件全称与编号(避免同名项目混淆)
- 是否有澄清、补遗、答疑纪要等后发文件
- 采购方式(公开招标、邀请招标、竞争性磋商、竞争性谈判等)
文件为 PDF 时,脚本自动提取文字层;PDF 不可读或扫描件缺失 pdfplumber 依赖时,会提示安装指令。
工作流程
- [ ] 1. 确认文件版本与采购方式,核对是否有补遗
- [ ] 2. 跑脚本自动扫描:
python scripts/clause_extract.py <文件路径>,脚本输出否决废标条款命中、资格条件五维度关键词、时间节点关联日期、评分办法分值分布四项清单 - [ ] 3. 脚本结果复核:检查是否有 WARN(如否决条款未检出、时间节点未检出),有则人工全文搜索补充
- [ ] 4. 语义整合与补充:区分实质性要求 vs 加分型要求、标注模糊条款与前后矛盾处、转换时间节点为距今剩余天数
- [ ] 5. 输出决策摘要、资格与要求清单、待确认事项三份交付物
- [ ] 6. 双文件符合性核查(可选):用户同时提供投标文件时触发,
python scripts/compliance_matrix.py <招标文件> <投标文件>生成符合性矩阵,逐项检索投标响应证据并三态判定,所有「待人工核」「疑似未响应」项人工复核原文 - [ ] 7. 按审核口径自查
自动扫描脚本
python scripts/clause_extract.py <招标文件.txt或.pdf>
python scripts/clause_extract.py <文件> --json # 输出结构化 JSON
python scripts/clause_extract.py "<直接粘贴的文本>" --text # 直接传文字
脚本扫描四类关键信息:
| 类别 | 命中方式 | 输出示例 |
|---|---|---|
| 否决/废标条款 | 18 种强否定句式正则(视为无效投标、投标无效、否决其投标、不予受理、按废标处理等) | [视为无效投标] ...未递交投标保证金的,视为无效投标... |
| 资格条件 | 五维度关键词定位(资质、业绩、财务、人员、信用,各 10+ 关键词) | 资质: 1条 - 营业执照、市政公用工程施工总承包资质 |
| 时间节点 | 10 种节点类型 + 日期正则(YYYY年MM月DD日 / YYYY-MM-DD) | [投标截止] ...10月15日投标截止... 关联日期 2026-10-15 |
| 评分办法 | 分值正则 + 评分关键词邻近命中 | 技术标40分、商务标30分、价格标30分 |
脚本输出不含页码定位(PDF 页码提取需外部依赖),Agent 需结合文件上下文标注来源页码。否决条款未检出时脚本会给出 WARN 提示,人工应全文搜索「视为」「视同」「作无效」等隐性条款。
符合性矩阵脚本(双文件核查)
python scripts/compliance_matrix.py <招标文件> <投标文件>
python scripts/compliance_matrix.py <招标文件> <投标文件> --json # 结构化输出
python scripts/compliance_matrix.py "<招标文本>" "<投标文本>" --text
直接复用 clause_extract 的提取结果作为要求项来源(废标条款→致命级、资格条件→资格级、时间节点→时限级、评分办法→参考级),并自动兜底补入招标文件中提及的通用硬性要求(盖章、密封、保证金等)。在投标文件中逐项检索响应证据,三态保守判定:
| 判定 | 条件 | 后续动作 |
|---|---|---|
| ✅ 响应 | 检出证据且紧邻无否定词 | 无需处理 |
| ⚠️ 待人工核 | 证据带否定语境(如「后补」「未提供」)/ 未检出但非硬性项 / 疑似扫描件 | 必须人工复核原文 |
| ❌ 疑似未响应 | 未检出且属于硬性要求(盖章/签字/报价/保证金/密封等) | 立即人工核实,优先补齐 |
矩阵列为:# / 类别 / 严重级别 / 招标文件原文节选 / 判定 / 投标文件证据 / 位置(PDF 按页码标记反推,纯文本给字符偏移)。矩阵是筛查工具而非评标结论——零 API 依赖、同输入同输出可审计,但所有非「响应」项都必须回到原文人工确认,认定权在评标委员会。投标文件疑似扫描件(页均字符 < 50)时全表置待人工核并提示先 OCR。
交付物
| 文件 | 内容 |
|---|---|
| 招标解读摘要.md | 一页决策摘要:能不能投、要备什么、风险点在哪 |
| 资格与要求清单.xlsx | 分类清单:资格、否决、评分、时间、格式,每条带来源页码与原文 |
| 待确认事项.md | 模糊条款、前后矛盾处、建议提交答疑的问题 |
| 符合性矩阵.md(可选) | 双文件核查结果:要求项 × 投标证据 × 三态判定,附响应率统计与免责声明 |
使用示例
示例 1:新拿到招标文件,完整解读
用户:「这是 XX 项目的招标文件,帮我解读一下。」确认版本 → 跑脚本命中否决条款 2 条、资格条件 3/5 维度、时间节点 5 个 → 脚本未检出财务和人员维度 → 人工补充 → 输出三份交付物。
示例 2:脚本未检出否决条款
脚本输出「WARN 否决条款未检出」。处理:用 PDF 阅读器 Ctrl+F 全文搜「视为」「无效」「否决」「废标」「不予受理」逐一排查,补充进清单。
示例 3:评分办法分值分散
脚本输出评分命中 5 条,分值分布为技术 40、商务 30、价格 30。Agent 补充:客观分(价格 30 + 资质业绩)占比 XX,主观分(技术方案、商务方案)占比 XX,指出「得客观分者得底盘,拼主观分者定名次」。
审核口径
- 脚本命中项必须回到原文确认,不得直接使用正则上下文做最终结论
- 模糊条款或前后矛盾处,一律标注「建议答疑」,不替文件圆场
- 澄清或补遗改变了原文件要求的,明确说明「旧要求已被补遗覆盖」
- 引用条款时保留原文关键表述,不做可能改变含义的转述
- 符合性矩阵仅供投标自查与证据定位,不构成符合性结论,不得对外表述为「评标结果」
参考资料
条款提取框架与决策摘要模板见 条款提取方法;决策摘要的结构、要素框架、答疑提问格式与后续环节衔接见 决策摘要与衔接。
限制与注意事项
- 脚本做关键词命中,不做语义判断,实际资格条件可能需要人工复核是否属于实质性要求
- PDF 扫描件需要用户先做 OCR,脚本无法自动处理
- 解读结果标注解读日期与依据文件版本,招标文件后续发布补遗的,旧解读即告过期
- 政策与法规适用以现行有效版本为准,文件条款与法规冲突时如实指出,不做法律定性