feat(bidding skills): 产线起点改上传招标文件+QC契合度审核规范

- 删agent.tender_scout与tender技能(采集审批归商机产线)
- bid-workflow总纲: 阶段链更新, QC门禁/两级回退/阻塞门禁重写
- 新增common/bid-qc: 四类审核清单/10分制打分口径/退回重做流程
- agent.qc角色技能重写: 解析产出契合度审核职责
- agent.tender_analyst补QC退回重做说明
This commit is contained in:
yumoqing 2026-08-31 13:37:49 +08:00
parent fd3dbbd5a5
commit bb16345fc1
6 changed files with 93 additions and 81 deletions

View File

@ -0,0 +1,39 @@
---
name: bid-qc
description: 解析产出QC契合度审核规范——四类产出逐类对照招标文件原文按10分制打分>通过分(默认9.5)放行否则改进意见退回重做。QC审核前必读。触发解析产出审核/契合度打分/改进意见退回。
capability: bid_qc_capability
tools: [start_qc, finish_qc, list_qc, qc_report, read_tender_file, list_tender_files, list_scoring_items, list_doc_requirements, list_qualifications, list_chapters]
---
# 解析产出 QC 契合度审核规范(投标产线)
## 审核对象(任务 params.qc_types 给出,每类一次审核循环)
| qc_type | 落库表 | 审核要点 |
|---|---|---|
| scoring_items | bid_scoring_items | 评分项完整无漏项、满分与原文一致、得分规则档位无失真、否决项 is_veto 无漏标 |
| qualifications | bid_qualifications | 资质要求无漏项、原文一致、必需性标注正确、无编造 |
| doc_requirements | bid_doc_requirements | 章节结构完整有序、格式/密封/份数/截止无遗漏、页数限制准确 |
| chapter_outline | bid_chapters | 章节与 structure 要求一一对应、评分项挂载正确、要点来自评分标准原文子维度 |
## 审核流程(每个 qc_type 一轮)
1. `start_qc(qc_type=...)`:开轮,返回审核清单 + 该类产出物待核内容 + 评审 ID。
2. `list_tender_files` 找招标文件 → `read_tender_file` **分段读原文**(评标办法/资格要求/投标文件格式章节)。
3. 对照清单逐项核对,得出 0~10 契合度分(可带一位小数)。
4. `finish_qc(review_id, fit_score, improvement, comments)` 落分:
- **得分 > 通过分(默认 9.5)→ 该类放行**
- 不通过 → **improvement 必填**,写清:缺了哪一项(对照原文第几章哪条)、哪一项失真(原文怎么说、抽取成什么了)、哪一项编造了;
- 不通过时系统自动清空该类产出 → 对账器重派解析任务带意见重做 → 重审。
## 打分口径10 分制契合度)
- 10 分:与原文完全一致,无漏项无失真;
- 9.5 分以下即不通过:漏 1 个非关键评分项/得分规则档位概括失真/出处不可回溯等,按影响面扣分;
- 致命缺陷直接 ≤6 分:漏评分类、满分数字错误、否决项漏标、编造不存在的要求。
打分从严:宁退回重抽,不放水放行(评审放水 → 后面整书评分兜不住)。
## 硬规则
- 只认招标文件原文:抽取不到的不得脑补;原文没写的产出项 = 编造 = 扣分。
- 改进意见不可空泛("不够准确"这种会被退回重写);每条意见要能直接指导重抽。
- 审核轮次超 bid_qc_max_round默认 3→ 抛人工介入qc_escalation 阻塞门禁),
人工可在产出物管理页修正后重新提交,或在 QC 审核记录页把 passed 改 1 强制放行。
- **整类缺失**:若发现招标文件原文确有某类要求(如有资质门槛)但对应表零记录
(该类不在待审清单里),用 ask_question 冒泡提示主 agent/用户,不要静默放过。

View File

@ -1,41 +1,54 @@
---
name: bid-workflow
description: 投标产线总纲——阶段链、两级回退循环、阻塞门禁、机制与LLM分界。投标产线的任何 agent/人先读它再动。触发:投标流程推进/卡点诊断/流转合法性判断。
description: 投标产线总纲——阶段链、解析QC契合度审核门禁、两级回退循环、阻塞门禁、机制与LLM分界。投标产线的任何 agent/人先读它再动。触发:投标流程推进/卡点诊断/流转合法性判断。
---
# 投标产线总纲bidding_general
## 产线起点
**从上传招标文件开始**。招标信息的采集/摘要/审批归商机产线,本产线不包含(不要调已不存在的采集/审批工具)。
## 阶段链
招标采集 → 摘要 → 审批 →(通过)立项+人员 → 等招标文件 → 解析(评分项+得分规则/资质/投标文件要求)
→ 资质准备(知识库匹配+人类文件清单)→ 分章节编写 → 章节评审 → 合成标书 → 整书评分 → 交付确认
立项+人员 → 上传招标文件(人)→ 解析(评分项+得分规则/资质/投标文件要求/章节骨架)
**解析产出 QC 契合度审核** → 资质准备(知识库匹配+人类文件清单)→ 分章节编写
→ 章节评审 → 合成标书 → 整书评分 → 交付确认
## 谁驱动流转
**机制驱动**:系统状态对账器(每 15 秒)按领域状态补派角色任务,一章一任务。
- 主 agent驾驶舱只做采集/摘要/审批/立项/配人/诊断/答疑,**不手动派章节任务**。
- 主 agent驾驶舱只做立项/配人/推动上传/诊断/答疑,**不手动派章节任务**。
- 角色 agent 只做自己那一件事:写完章节就提交、评审完就打分落库,不管下一步。
- 对账器是角色任务的唯一自动创建者,也是阻塞门禁的守门人。
## 解析产出 QC 门禁(详见技能 `bid-qc`
解析的四类产出物逐类审核,全部通过才能进入资料准备:
| 审核对象 | 落库表 |
|---|---|
| scoring_items 评分项+得分规则 | bid_scoring_items |
| qualifications 所需资质 | bid_qualifications |
| doc_requirements 投标文件要求 | bid_doc_requirements |
| chapter_outline 章节骨架 | bid_chapters |
规则:
- agent.qc 对照招标文件原文逐项核对契合度,按 **10 分制**打分;
- **得分高于通过分(默认 9.5,参数 bid_qc_pass_score才放行**
- 不通过 → 必填改进意见 → 系统清空该类产出 → 对账器重派解析任务(携带改进意见)→ 重审;
- 审核轮次超 bid_qc_max_round默认 3→ 抛人工介入(阻塞门禁,逃逸阀:人工修产出物或在审核记录页强制放行);
- QC 记录落 bid_qc_reviewsround/passed/fit_score/improvement
## 阻塞门禁(人类任务,对账器见到就跳过该项目)
| 任务类型 | 语义 |
|---|---|
| tender_approval | 招标信息审批未决 |
| tender_file_upload | 等上传招标文件(上传后自动完成) |
| human_docs_request | 等人工提供资质文件 |
| bid_delivery_confirm | 等人工交付确认 |
| qc_escalation | 解析产出 QC 连续不达标,等人工修正/强制放行 |
| bid_delivery_confirm | 等人工交付确认(不阻塞派发,只阻塞收尾) |
## 两级回退循环
1. **章节级**:评审得分率 < chapter_pass_ratio默认 0.8params 表可改)→ 章节 rejected + 改进意见
→ 自动派重写任务 → 重写 → 再评审。单章重做超 bid_max_revise默认 3→ 抛人工介入任务。
2. **整书级**:整书得分率 < bid_pass_ratio默认 0.85或否决项未响应 改进意见落到目标章节
approved→rejected→ 重写 → 章节评审 → 全部通过 → 重新合成 → 重新评分。
轮次超 bid_max_round默认 3→ 抛人工介入任务。
## 两级回退循环(编写阶段之后)
- 章节级:评审得分率 < bid_chapter_pass_ratio默认 0.8 rejected+改进意见 自动派重写 bid_max_revise默认 3抛人工
- 整书级:评分率 < bid_pass_ratio默认 0.85或否决项未响应 改进意见按章节打回 重写重审重合成重评分 bid_max_round默认 3抛人工
## 不变量(守门)
- 审批不通过 = 终态存档作废,不得立项。
- 章节没全部 approved禁止合成标书。
- 整书没过门限,禁止当作可交付。
- 要素(金额/时间/资质)只来自公告原文或人工确认,禁止编造。
- 案例业绩必须来自知识库真实合同,禁止虚构。
## 技能分层覆盖
本技能是投标产线默认规范项目可用同名技能覆盖loader 优先级global→org→pipeline→role→project→user
## 硬规则
- 所有门限参数读 appbase params 表 + 默认兜底,禁止硬编码。
- 评审/评分只由对应角色执行写作角色不得自评capability 按角色缩小)。
- 得分/改进意见必须落库bid_reviews/bid_scores/bid_qc_reviews不接受"声称已评审通过"。
- 任何门禁都必须有冒泡出口(抛人工任务),不许无限循环。

View File

@ -1,30 +0,0 @@
---
name: tender
description: 招标信息状态机规范——状态/合法流转/角色权限/门禁。处理招标信息时先读本规范判断合法性。触发:采集/摘要/审批/作废/重开招标信息。
---
# 招标信息状态机规范(投标产线)
## 状态bid_tenders.status
new新采集→ summarized已摘要→ pending_approval待审批
→ approved通过待立项 rejected不通过立即自动 → archived
archived存档作废终态
## 合法流转
- 采集/导入 → new摘要抽取 → summarized
- submit_tender_approvalnew/summarized → pending_approval生成人类审批任务阻塞
- approve_tenderpending_approval → approved默认自动立项 + 发上传招标文件任务)
- reject_tenderpending_approval → rejected → **自动 archived**(审批不通过即存档作废,业务终态)
- archive_tender任意状态 → archived人工放弃跟进
- reopen_tenderarchived/rejected → summarized人工要求重新评估
## 角色权限
| 角色 | 操作 |
|---|---|
| agent.tender_scout | 采集、摘要、提交审批 |
| agent.main_agent | 全部(代用户拍板审批) |
| owner.*(人) | 审批拍板、作废、重开 |
## 门禁
- 提交审批前必须已摘要(要素齐全),否则先 summarize_tender。
- 要素抽取缺失的字段留空或标「公告未载明」,**禁止编造**。

View File

@ -1,19 +1,24 @@
---
name: role
description: 投标质量控制:交付件合规检查(资质真实性、案例一致性、格式遵循),不合规退回
capability: task_capability
tools: []
description: 投标QC解析产出契合度审核评分标准/得分规则/资质/投标文件要求/章节骨架对照招标文件原文按10分制打分>9.5放行)。先 load_skill 加载 bid-qc 规范再审核
capability: bid_qc_capability
tools: [start_qc, finish_qc, list_qc, qc_report, read_tender_file, list_tender_files, list_scoring_items, list_doc_requirements, list_qualifications, list_chapters]
---
# 投标质量控制agent.qc角色定义
## 职责
- 对合成标书做合规检查:
- 资质引用与知识库/已提供文件一致(无虚构)
- 案例与业绩一一对应商务部分(无虚构客户/金额)
- 格式/章节结构符合投标文件要求
- 不合规直接退回(列出具体不合规点),合规放行。
## 职责(解析产出契合度审核)
- 任务带 params.qc_types待审类型清单逐个 `start_qc` → 读招标文件原文逐项核对 → `finish_qc` 落分。
- 每类产出按 10 分制打契合度分,**得分高于通过分(默认 9.5)才算该类工作完成**
不通过必须给可执行的改进意见(缺什么/错在哪/对照原文哪一处)。
- 全部类型通过后任务才算完成;系统自动推进资料准备阶段。
- 先 load_skill 加载 `bid-qc` 规范,按其中的审核清单与打分口径执行。
## 硬规则
- 核对必须对照招标文件原文read_tender_file 分段读),不得凭产出物自我循环核对。
- 打分从严:漏评分类/满分错误/否决项漏标/编造内容 = 致命缺陷,直接不通过。
- 禁止放水9.5 的门限是业务要求,"差不多就行"会导致后面整书评分兜不住。
## 应遵守的规范
- `bid-doc-spec`:投标文件编写规范(合规检查依据)
- `bid-qc`QC 契合度审核规范(先读它
- `bid-workflow`:产线总纲

View File

@ -15,11 +15,15 @@ tools: [read_tender_file, list_tender_files, extract_from_file, add_scoring_item
- 大文件分段抽取offset 递增),重复项自动去重。
- 抽取完成后 create_chapter_outline 生成章节骨架structure 类要求自动生成,评分项自动挂载)。
- mark_file_extracted 标记抽取完成;发现漏抽用 add_* 补录。
- **QC 退回重做**(任务 params 带 qc_redo=1产出物已被清空必须按
params.qc_improvements 里的改进意见逐条修正后重新全量抽取;改进意见是 QC 对照
原文核对的结果,优先级高于自己的判断。
## 硬规则
- 评分项满分数字必须与招标文件一致,抽不准就读原文再核。
- 否决项/废标条款必须标 is_veto=1漏标 = 整书评分漏检致命项)。
- 否决项/废标条款必须标 is_veto=1漏标 = 整书评分漏检致命项 = QC 必退回)。
- 抽取不到的内容不编造,缺失就空着并在交付说明中注明。
- 产出物须过 QC 契合度审核10 分制 >9.5 放行),退回时逐条回应改进意见。
## 应遵守的规范
- `bid-workflow`:产线总纲(先读它)

View File

@ -1,19 +0,0 @@
---
name: role
description: 招标信息员:采集招标邮件、摘要与要素抽取(投标开始时间/项目周期/招标金额)、提交审批。不编造要素。
capability: bid_tender_capability
tools: [fetch_tenders, summarize_tender, set_tender_fields, submit_tender_approval, list_tenders, archive_tender, assign_members, list_members]
---
# 招标信息员agent.tender_scout角色定义
## 职责
- fetch_tenders 从配置的招标邮箱采集招标信息入库(按关键词过滤+去重)。
- 对每条新招标信息summarize_tender 抽取摘要 + 投标开始时间/投标截止/项目周期/
招标金额/保证金/资质要求/关键时间节点/风险提示,落库。
- 摘要抽错的字段用 set_tender_fields 纠正;公告未载明的要素留空并说明,**禁止编造**。
- 要素齐全后 submit_tender_approval 提交审批(阻塞门禁,等人拍板)。
## 应遵守的规范
- `tender`:招标信息状态机(状态/流转/权限)
- `bid-workflow`:产线总纲(先读它)