领域标准体系研究引擎(SSR)
> 架构:七阶段工作流 × 执行器铁律 + 流水线契约 | v2.3
> v2.3(官方核验通道接入):①新增 scripts/std_search.py 官方平台核验器——国标 std.samr / 行标 hbba / 地标 dbba 机器直查 + 国际 ISO 深链,采集命中与底册状态由官方一锤定音(Phase 2 三阶检索后 / Phase 3 底册落盘前各跑一次)②关键词采集直接喂官方通道 TOP-N(不依赖付费引擎也可核验状态)③随包零密钥零第三方依赖
> v2.2(B核审计修复版):①一阶知识库改为使用人指定(Phase 0 门1 问项确认,未指定用当前库,空库跳过不阻塞)②契约校验器随包(scripts/contract_checker.py,外部客户可用)③付费引擎密钥按使用人环境参数化(环境变量优先;SSR_KEYS_MEDIA_ID 可选启用使用人自己 KB 的密钥文件同步;skill 包零密钥零团队标识)④底册 JSON Schema 写入正文(grid 字段定义,Phase 3→4 不断链)⑤检索核验词表 import 复用 ssr_checker.STDNO_PAT 单一事实源(放行 ISO/IEC、ISO/TR、CEN/TS、GB/Z、DIN——修复对 ISO 系合法标准系统性误杀)⑥矩阵 --axes 完整体系清单防漏行 ⑦项目目录与降级矩阵成文
一、用户接入与降级矩阵(先读这段)
本 skill 服务两类用户,能力不可用时按下表降级,禁止因环境缺失卡死:
| 能力 | 团队用户 | 外部客户 | 不可用时降级 |
|---|---|---|---|
| 付费引擎(Serper/Tavily) | 环境变量或 KB 同步 | 自设环境变量 SERPER_API_KEY / TAVILY_API_KEY(见 SETUP.md) | 免费官方源+ima内置搜索;心跳行输出 ⚠️ API不可用,跳过付费引擎 |
| 一阶·知识库 | 使用人指定 | 使用人指定(Phase 0 门1 问项) | 标注 一阶KB:空,直接进二阶,不重试不阻塞 |
| 流水线面板 record/status | 共享 pipeline_state.py | 不适用(跳过,不影响主流程) | 交接校验用包内 scripts/contract_checker.py |
| 并行子代理 | subagent_spawn | 视环境 | 按路串行执行,任务书不变 |
| md2docx 双格式 | 可用 | 视环境 | 仅交付 MD 并声明 |
| 上传知识库 | 使用人指定库+文件夹 | 使用人指定;未指定/不支持文件夹→仅本地交付并声明 | 首次运行无旧版,无 rename 动作 |
项目目录(全文命令基准):/sandbox/workspace/标准流水线/{项目名}/ 下 01_体系研究/(底册/矩阵/四件套)、02_搜索缓存/(付费引擎结果)。包内脚本用相对路径(在 skill 根目录执行),包外共享脚本用绝对路径。
二、定位与任务本质
标准体系研究 ≠ 单个标准编制。单标准编制是"生成"任务;体系研究是"盘点+匹配+规划"混合任务——产出的是蓝图(体系表),不是文本。规则底座:起草依据 GB/T 1.1/20001,体系研究依据 GB/T 13016-2018(四原则:目标明确/全面成套/层次适当/划分清楚;五步法)。
方法论内核:轴系驱动穷尽搜索 + 反推式顶层设计——先建轴,每轴关键词穷尽搜索,把现行与在编标准放进轴系看分布,再从全球标准分布反推"体系应该长什么样"。禁止不建轴直接罗列标准的"直线性"做法。
三、三条铁律(不可违反)
- AI盘家底+人定方向。体系研究的核心价值在判断不在文本。本 skill 自动化率天然低于起草类 skill,向用户摆正预期。
- "应有标准"清单不得由 AI 擅自生成。AI 只给候选建议(带证据锚定),必须经用户确认门逐条确认后才算正式规划。
- 标准底册是数据底座。底册一旦建成,单标准起草的查新、立项查重、复审预警、国际对标全部受益。先修路,再跑车。
四、执行器铁律(代码优先,不可违反)
每步标注执行器:[CODE] 纯代码(校验/渲染/统计复算/契约检查,AI 不得手工替代)|[AI] 仅语义判断(撰写/归位/反推),产物落结构化文件供代码复核|[CODE+AI] 代码结构与校验+AI 语义|[USER] 用户确认门。
- 标 [CODE] 的步骤禁止 AI 手工做;发现"代码能做而没用代码"即 P1 缺陷当轮修复
- [AI] 产物未过代码校验器禁止交付
- 逐步登记(团队用户):
python3 /sandbox/workspace/scripts/pipeline_state.py record <项目名> ssr <Phase> <描述> [产物路径] --status done|wip|wait;外部客户跳过此步 - 上下游交接前必须契约校验(随包):
python3 scripts/contract_checker.py <文件> --type ssr_registry|ssr_gaps——exit(1) 禁止交接
每次回复顶端输出心跳行:[标准流水线] | 项目: X | skill: ssr | 阶段: N/7 | 👉 下一步
五、七阶段工作流
Phase 0 领域定义与边界【确认门1】[AI+USER]
- 明确领域名称、服务目标、范围边界(含什么/不含什么)
- 列出边界争议项,给推荐意见,必须经用户拍板
- 知识库接入问项(v2.2 固定问项):"研究结果是否需要参考您知识库中的已有资料?如有请指明知识库名称,或直接上传参考文件;如无则跳过一阶检索。"——用户答复写入边界确认记录一行:
知识库来源:指定:{kb名}/当前库/无 - 产出:边界确认记录(含知识库来源声明)
Phase 1 轴系框架与关键词表【确认门2】[AI+USER]
- 三轴+第四维:X轴(工艺段/生命周期)、Y轴(标准性质,11类)、Z轴(标准体系:ISO/IEC/CEN/ASTM/UL/日韩澳印东南亚/中国等)、第四维对象(树脂/材料/制品家族,下钻视图)
- Y 轴 11 类(grid 性质字母):A基础 B设计 C试验方法 D产品 E过程规范 F装备 G管理 H服务 I数据接口 J合格评定 K安全卫生环保
- 每轴中英文关键词表(搜索弹药);框架经用户确认后冻结
- 领域包:
references/casestudy-plastics.md仅为塑料循环实例;其他领域运行时按其结构即兴生成领域包并落盘 references/(轴系实例/纠错备忘录格式)
Phase 2 轴系驱动穷尽搜索 [AI+CODE]
- 按 Z 轴分路派发研究(有 subagent_spawn 工具则并行,无则按路串行,任务书不变):每路任务书含【三轴定义块+专属范围+搜索策略(≥10轮不同关键词)+统一输出格式+红线】
- 三阶搜索策略(缺一不可,顺序执行):
- 一阶·使用人知识库 [AI]:按 Phase 0 声明执行——用户指定了知识库名称 → 先按名称定位 kb_id(ima-knowledge 的 search_knowledge_base 按名检索;取不到则回退当前会话绑定库并声明)→
search(source="kb", kb_id=定位到的id)或直接读用户上传文件;未指定 → 当前会话绑定库search(source="kb");0 命中或无库 → 心跳行标注一阶KB:空,输出一行"知识库无往期资料,直接进入二阶",不重试不阻塞。目的:查使用人已有领域资料(自有底册/往期交付),禁止在 skill 或脚本中写死任何 kb_id - 二阶·付费引擎 [CODE]:权限门分别试两引擎(
python3 scripts/paid_search.py --engine serper --query "test" --num 1与--engine tavily ...),可用者启用;执行python3 scripts/paid_search.py --engine both --query "{轴关键词 EN+CN}" --num 10 --out /sandbox/workspace/标准流水线/{项目名}/02_搜索缓存/{轴名}.json;密钥两级(环境变量→SSR_KEYS_MEDIA_ID 指定的使用人 KB 文件),均无则输出⚠️ API不可用,跳过付费引擎降级。权限门判定依据:读返回 JSON 是否含 "error" 字段,勿以进程退出码为准(notice 行不参与成败判定) - 三阶·官方免费源 [AI]:ISO/IEC/各国标准平台、国家标准全文系统等 + ima 内置 search
- 官方核验通道(v2.3 新增——每路候选清单落盘后必跑,官方一锤定音) [CODE]:
python3 scripts/std_search.py --file <候选清单.json> --out <清单_官方核验.json>—— 清单内每个标准号由官方平台核验并回填 status/owner/pub_date/impl_date(现行/废止/在编官方判,不靠搜索引擎快照)。覆盖:国标=std.samr、行标=hbba、地标=dbba(机器直查 JSON/渲染页),ISO 等国际标准输出检索深链+待核实(人工点链确认)。官方判"废止/未查到"的候选 → 从底册候选剔除并记录剔除原因;平台不可达 → 该通道降级标注不阻塞。关键词采集免费替代(付费引擎不可用时的补强):python3 scripts/std_search.py "{轴关键词}" --num 10 --out <候选清单.json>直接取官方 TOP-N 作候选(免费、无需密钥、状态天然权威) - 格式转换:paid_search 输出(title/url/snippet)转核验输入用
--from-paid:python3 scripts/search_result_verifier.py --file <paid输出.json> --from-paid(std_no 从标题推断、status 置"待核实",AI 补全后二次核验) - 执行保证:每路清单先过
python3 scripts/search_result_verifier.py --file <清单.json>(词表与 ssr_checker 统一:GB/T、GB/Z、HJ、ISO/IEC、ISO/TR|DIS|CD|FDIS|AWI、EN ISO、CEN/TS、DIN、IEC、ASTM、UL、JIS、KS、AS、T/ 等;标准号格式/来源URL/状态词/查重),exit(1) 打回重采;子代理零返回→重发一次,再空则声明该路降级;红线:无来源不写入;绝不编造标准号;查不到标【未查到】
Phase 3 标准底册建立 [CODE+AI]
底册 JSON Schema(唯一规范,Phase 3 起按此落盘):
字段说明:std_no=标准号(必填)、title=名称(必填,中文优先)、level=级别(必填:国际/国家/行业/团体/地方)、status=状态(必填:现行/即将实施/在编/征求意见/编制中/废止/待核实)、owner=归口(选填)、pub_date/impl_date=发布/实施日期(选填)、grid=格位"体系:性质字母"如"ISO:J"(Phase 3 可空,Phase 4 归位后必填)、source_url=来源URL(必填,红线)、note=备注(选填)。
{
"project": "电池回收标准体系",
"records": [{
"std_no": "ISO/IEC 63330",
"title": "电池回收要求(中文译名)",
"level": "国际标准",
"status": "在编",
"owner": "ISO/TC 107",
"pub_date": "", "impl_date": "",
"grid": "",
"source_url": "https://www.iso.org/standard/63330",
"note": ""
}]
}
- 交叉核对(名称/前缀/状态/归口),纠错显式记录;统计数字必须可由明细复算
- 采集完成即跑
python3 scripts/contract_checker.py 底册.json --type ssr_registry(缺字段/重复标准号就地修,不等交付)
Phase 4 矩阵分析 [CODE+AI]
- AI 只做归位判断:把每条标准的 grid("体系:性质字母")写回底册
- 代码渲染(禁止 AI 手排矩阵):
python3 scripts/matrix_builder.py --registry 底册.json --out /sandbox/workspace/标准流水线/{项目名}/01_体系研究/矩阵.md --axes "ISO,IEC,CEN,ASTM,UL,中国国家标准"——--axes 传完整 Z 轴清单(未采集到标准的体系也渲染空行,防缺口失真);自动生成主矩阵+统计表+填充率+单腿诊断+整行空体系提示。exit 1=有未归位记录但矩阵已生成(补归位重跑即可,非失败) - Z轴单腿诊断(某体系仅 1 种性质有标准)与空格带诊断由渲染器输出
- 空格=缺口地图,但空格≠全部要填——按目标成套(13016"全面成套"),结构性缺口排序:影响面×政策窗口×国际参照
Phase 5 反推与本地定位 [AI]
- 从全球框架素材归纳共性轴与特色差异;反推通用结构,对照本地现状回答三问:领先格子/结构性空格/特色机制
- 顶层设计结论=差异化定位,不是补短板清单
Phase 6 体系表四件套交付【确认门3】[CODE+USER]
- 四件套(GB/T 13016 §5):①结构图 ②标准明细表(全量归位+唯一格位)③统计表(可复算,由 matrix_builder 统计表直接引用)④编制说明(a-j十项)
- 附加件:全球对标矩阵、"应有"候选清单(每条带证据锚定+级别建议+矩阵格位)
- 确认门3:框架结构+候选清单逐条请用户拍板;条目多时用户可声明"整体授权"(AI 按"影响面×政策窗口×国际参照"排序后整批确认,记录在案)
- 执行保证:
python3 scripts/ssr_checker.py <体系表.md>exit 0 才可交付(R01-R10;R07 要求"已确认"标记——仅"待确认"为警告;R10 要求边界确认含日期/确认人留痕)
Phase 7 动态维护 [CODE+AI]
- 新发布/复审/废止标准→底册增量更新→体系表版本升级;每次实质性修改:版本号+变更摘要写入文档头部
- 交付上传:上传到使用人指定的知识库/文件夹(用户未指定或环境不支持→仅本地交付并声明);新版上传后旧版 rename 加
[废弃]前缀(无旧版跳过)
六、硬校验:ssr_checker.py
交付前必跑:python3 scripts/ssr_checker.py <体系表.md>,退出码 0=通过(可有警告)、1=用法错误、2=存在错误。
| 规则 | 校验内容 |
|---|---|
| R01 | 同一标准号不重复列入明细表(归一化查重) |
| R02 | 统计表总数与明细表条目数一致(可复算性) |
| R03 | 每条明细有唯一格位(Sx 格位格式) |
| R04 | 必填字段完整(标准号/名称/性质或格位/状态) |
| R05 | 状态词合法(现行/在编/征求意见/废止/待核实等) |
| R06 | 空格标注规范 |
| R07 | "应有"候选须带"已确认"标记(仅"待确认"为警告) |
| R08 | 标准号格式抽查(词表与 search_result_verifier 统一) |
| R09 | 文档头部含版本标识块(系列/版本/日期/状态) |
| R10 | 边界确认记录(须含"边界确认"+日期或确认人留痕) |
七、产出物规范与接口
- 文件命名:
{领域}标准体系_{主题}v{版本}.md;输出到项目目录01_体系研究/ - 文档头部标识块:系列名|文档名|版本|日期|状态(🟡待审/🟢已确认/🔴废弃)+版本说明
- MD 与 DOCX 双格式(md2docx 不可用时仅 MD 并声明);输出契约:底册 ssr_registry(Schema 见 Phase 3)、缺口清单 ssr_gaps:
{"project":"...","gaps":[{"gap_id":"G01","axis":"所属轴","description":"缺口描述","evidence":"证据锚定(矩阵空格位+对标依据)","candidate_standards":[{"title":"...","level_suggestion":"..."}],"priority":"高/中/低"}]}(必填 gap_id/description/evidence);交接前python3 scripts/contract_checker.py <文件> --type ssr_registry|ssr_gaps校验 - 下游接口(可选生态依赖,未安装则跳过对应交接):底册/缺口 → national-standard-drafting(其 Phase 0b 接入查新);标准动态 → 行业日报类 skill 联动
八、领域知识包机制(通用引擎+规则包分离)
本 SKILL.md 是通用引擎,领域特有知识放 references/ 可插拔:methodology.md(方法论详解)【必读于 Phase 1-2】、casestudy-plastics.md(塑料循环领域包)【做塑料循环时必读】。新领域运行时按 casestudy 结构即兴生成领域包并落盘 references/,不动引擎。