From 10781e7a65f873a3843dc1b6288a02b063226bc9 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Tue, 15 Sep 2026 14:54:47 +0800 Subject: [PATCH] =?UTF-8?q?feat(skills):=20=E6=96=87=E6=A1=A3=E9=85=8D?= =?UTF-8?q?=E5=9B=BE=E7=A1=AC=E8=A7=84=E5=AE=9A=E2=80=94=E2=80=94=E9=9C=80?= =?UTF-8?q?=E6=B1=82/=E8=AE=BE=E8=AE=A1=E6=96=87=E6=A1=A3=E5=9B=9B?= =?UTF-8?q?=E5=BC=A0=E5=9B=BE=E4=B8=8E=E4=B8=80=E5=88=87SDLC=E4=BA=A4?= =?UTF-8?q?=E4=BB=98=E6=96=87=E6=A1=A3=E3=80=81=E6=A0=87=E4=B9=A6=E7=AB=A0?= =?UTF-8?q?=E8=8A=82=E7=9A=84=E5=9B=BE=E5=BF=85=E9=A1=BBinvoke=5Fmodel=20t?= =?UTF-8?q?2i/i2i=E7=94=9F=E6=88=90=E7=9C=9F=E5=9B=BE(2026-09-15=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E8=A6=81=E6=B1=82);=E7=A6=81mermaid/plantuml/ASCII?= =?UTF-8?q?=E5=AD=97=E7=AC=A6=E7=94=BB;module-partitioning=E5=9B=9B?= =?UTF-8?q?=E5=BC=A0=E5=9B=BE=E4=BA=A7=E5=87=BA=E5=BD=A2=E5=BC=8F=E6=94=B9?= =?UTF-8?q?=E7=9C=9F=E5=9B=BE+diagrams-guide=E8=B1=81=E5=85=8D=E8=AF=AD?= =?UTF-8?q?=E4=B9=89;requirement/design=E8=A7=92=E8=89=B2+QC=20review-requ?= =?UTF-8?q?irement/review-design=E6=A0=B8=E5=AF=B9=E9=A1=B9+bid-doc-spec/b?= =?UTF-8?q?id-review/bid=5Fwriter=E9=85=8D=E5=9B=BE=E8=A7=84=E8=8C=83;?= =?UTF-8?q?=E9=80=83=E9=80=B8=E9=98=80=3D=E5=A6=82=E5=AE=9E=E6=A0=87?= =?UTF-8?q?=E6=B3=A8=E3=80=8C=E9=85=8D=E5=9B=BE=E7=BC=BA=E5=A4=B1:?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E6=97=A0=E5=8F=AF=E7=94=A8=E6=96=87=E7=94=9F?= =?UTF-8?q?=E5=9B=BE=E6=A8=A1=E5=9E=8B=E3=80=8D;agent=5Fconfig=E4=BC=9A?= =?UTF-8?q?=E8=AF=9Dagent=E6=8F=90=E7=A4=BA=E8=AF=8D=E5=90=8C=E6=AD=A5;?= =?UTF-8?q?=E6=9C=BA=E5=88=B6=E5=B1=82=E9=97=A8=E7=A6=81=E5=9C=A8pipeline-?= =?UTF-8?q?service=20diagram=5Fgate(bidding=20write/review=5Fchapter?= =?UTF-8?q?=E5=A4=8D=E7=94=A8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pipeline_core/agent_config.py | 2 +- skills_library/all/module-partitioning/SKILL.md | 7 ++++++- .../module-partitioning/references/diagrams-guide.md | 10 +++++++++- skills_library/all/sdlc-repo-standard/SKILL.md | 8 ++++++++ .../bidding_general/common/bid-doc-spec/SKILL.md | 11 +++++++++++ .../bidding_general/common/bid-review/SKILL.md | 12 ++++++++---- .../roles/agent.bid_writer/role/SKILL.md | 2 +- .../sdlc_general/roles/agent.design/role/SKILL.md | 4 ++++ .../roles/agent.qc/review-design/SKILL.md | 1 + .../roles/agent.qc/review-requirement/SKILL.md | 1 + .../roles/agent.requirement/role/SKILL.md | 4 ++++ 11 files changed, 54 insertions(+), 8 deletions(-) diff --git a/pipeline_core/agent_config.py b/pipeline_core/agent_config.py index a69463f..62ac889 100644 --- a/pipeline_core/agent_config.py +++ b/pipeline_core/agent_config.py @@ -481,7 +481,7 @@ DEFAULT_AGENT_CONFIG = AgentConfig( ## 平台模型调用(生成图/视频/语音) 平台配有多种能力模型(文生图/图生视频/语音合成等,范围=本机构+平台owner机构),通过 invoke_model 工具调用,list_platform_models 可查清单: - 用户要「画图/生成图片/做个视频/转语音」→ invoke_model(model 留空即按任务自动匹配最合适模型;task 写清画面/内容要求;媒体输入走 params 的 image_files/audio_files/video_files 数组)。 -- 产出文档/方案需要配图(架构图/效果图/封面)→ 同样用 invoke_model 生成真实图片,把返回的产物 URL 原样嵌入(markdown 图片语法)。**禁止用 ASCII 字符画拼示意图凑数**;平台无可用生成模型时如实说明,不伪造。 +- 产出文档/方案需要配图(架构图/效果图/封面)→ 同样用 invoke_model 生成真实图片,把返回的产物 URL 原样嵌入(markdown 图片语法)。**禁止用 ASCII 字符画拼示意图凑数**;需求/设计文档、技术方案/标书中的图(架构图/四张图/拓扑图/流程图)**必须**是 t2i/i2i 生成的真实图片,**禁止 mermaid/plantuml 代码块代替**(平台会硬门禁拦截)。平台无可用生成模型时如实说明,不伪造。 - 对话/写作/分析类任务由你自己完成,不要用 invoke_model。 ## 工具集 diff --git a/skills_library/all/module-partitioning/SKILL.md b/skills_library/all/module-partitioning/SKILL.md index 0206609..76fec4a 100644 --- a/skills_library/all/module-partitioning/SKILL.md +++ b/skills_library/all/module-partitioning/SKILL.md @@ -37,6 +37,11 @@ related_skills: [function-point-counting, feature-granularity-and-testing, modul ### 第 2 步:画四张图(判边界的唯一客观依据,详见 references/diagrams-guide.md) +**产出形式(硬规定)**:四张图必须用 invoke_model 调 t2i/i2i 模型生成**真实图片**嵌入文档 +(`![图名](URL)`);禁止 mermaid/ASCII/文本框线图代替。先按 diagrams-guide 的文字模板整理 +对象/关系/状态/归属要点(= 边界信号分析底稿 + t2i 提示词素材),再逐张生成真图。 +平台无图像模型(invoke_model FAIL)时按文字模板产出并如实标注「配图缺失」,不伪造。 + | 图 | 画什么 | 读出什么边界信号 | |---|---|---| | ① 业务对象图 | 核心业务对象 + 对象间关系(1:1/1:N/聚合/引用) | 强聚合(组合/父子)的对象**同模块**;仅引用(外键/ID)的对象**可分属不同模块** | @@ -125,7 +130,7 @@ related_skills: [function-point-counting, feature-granularity-and-testing, modul ## 输出模板(architecture.md 模块划分章节 + modules/{模块名}.md) architecture.md 写: -1. 四张图(业务对象/生命周期/数据所有权/业务依赖,文字或 mermaid)。 +1. 四张图(业务对象/生命周期/数据所有权/业务依赖)——**必须是 invoke_model t2i/i2i 生成的真实图片**(`![图名](URL)`),禁止 mermaid/ASCII/文本图代替(平台无图像模型时按文字模板产出并如实标注配图缺失)。 2. 模块清单表:模块名 | 业务能力(A) | 唯一责任(F) | 核心对象 | 依赖模块 | 开发顺序 | 复用/新建。 3. 复用判定:哪些能力复用已有模块、如何挂载。 4. 模块依赖图 + 拓扑开发顺序。 diff --git a/skills_library/all/module-partitioning/references/diagrams-guide.md b/skills_library/all/module-partitioning/references/diagrams-guide.md index a8d1cd9..33c5353 100644 --- a/skills_library/all/module-partitioning/references/diagrams-guide.md +++ b/skills_library/all/module-partitioning/references/diagrams-guide.md @@ -1,7 +1,15 @@ # 四张图绘制指南(模块边界判定的客观依据) 四张图是模块划分的**证据层**:任何「这两个功能该不该同模块」的争议,回到图上找信号, -不靠主观感觉。文字描述即可(必要时 mermaid),关键是**信号读法**。 +不靠主观感觉。关键是**信号读法**。 + +**产出形式硬规定(2026-09-15 用户要求)**:四张图必须用 invoke_model 调平台 **t2i(文生图)/ +i2i(图生图)模型生成真实图片**,以 `![图名](产物URL)` 嵌入文档正文。 +**禁止 mermaid/plantuml/ASCII 字符画/文本框线图代替真图**。 +本指南各图的「文字模板」有两个用途:① 边界信号的分析底稿(写进正文作图的补充说明); +② 生成 t2i task 提示词的素材(把对象/关系/状态/归属逐条写清,要求商务风、白底、含中文标注)。 +唯一逃逸阀:平台无任何图像生成模型(invoke_model 返回 FAIL)→ 按文字模板产出并在文档中 +如实标注「配图缺失:平台无可用文生图模型」,不伪造。 ## ① 业务对象图 diff --git a/skills_library/all/sdlc-repo-standard/SKILL.md b/skills_library/all/sdlc-repo-standard/SKILL.md index 2740218..5616de6 100644 --- a/skills_library/all/sdlc-repo-standard/SKILL.md +++ b/skills_library/all/sdlc-repo-standard/SKILL.md @@ -67,6 +67,14 @@ projects/{项目名}/docs/01-design/modules/{模块名}/ ## 各角色产出内容(落点路径见 project-directory-spec) +### 配图统一硬规定(2026-09-15 用户要求,全角色适用) +需求文档、设计文档(及一切 SDLC 交付文档)中出现的**各种图**——四张图(业务对象/生命周期/数据所有权/业务依赖)、系统架构图、模块依赖图、部署拓扑图、业务流程图、界面效果图等——**必须用 invoke_model 调平台 t2i(文生图)/i2i(图生图)模型生成真实图片**,以 `![图名](产物URL)` 嵌入正文: +- model 留空即自动选型;task 写清画面主体/层次/风格(商务风、白底、含中文标注)/图中文字要求;改造已有图带输入图 URL 走 i2i。 +- **禁止 mermaid/plantuml 代码块、ASCII 字符画、文本框线拼「示意图」代替真图**。 +- 文字版要点(对象关系清单/状态机描述/归属表格)可作为图的补充说明保留,但图本体必须是生成图片。 +- 唯一逃逸阀:平台无任何图像生成模型(invoke_model 返回 FAIL)→ 按文字模板产出并如实标注「配图缺失:平台无可用文生图模型」,不伪造、不因此阻塞交付。 +- QC/评审核对项:交付文档中的图若非真实生成图片(发现 mermaid/ASCII/文本图)= 不过,退回意见注明「图必须用 t2i/i2i 模型生成」。 + ### requirement(需求分析师) - **内容**: 项目概述、用户角色及权限、功能列表(含验收标准)、非功能需求、业务流程 - **功能清单 + IFPUG 功能点计算**: 按 `function-point-counting` 技能产出 `docs/00-requirement/fp-report.md`(功能明细/汇总 UFP/待确认/假设 四件套,fp_calc.py 规则引擎计算,禁 LLM 心算) diff --git a/skills_library/pipelines/bidding_general/common/bid-doc-spec/SKILL.md b/skills_library/pipelines/bidding_general/common/bid-doc-spec/SKILL.md index 79b6385..d58c694 100644 --- a/skills_library/pipelines/bidding_general/common/bid-doc-spec/SKILL.md +++ b/skills_library/pipelines/bidding_general/common/bid-doc-spec/SKILL.md @@ -34,3 +34,14 @@ description: 投标文件编写规范——章节子项来自评分标准原文 ## 格式遵循 - 章节号/标题/顺序严格按投标文件要求(bid_doc_requirements); - 页数限制、份数、密封要求写入合成说明,合成者按此执行。 + +## 配图硬规定(2026-09-15 用户要求,机制层 write_chapter 强制) +- 技术方案/标书中需要的图(架构图/部署拓扑/组织图/流程示意/效果图等)**必须用 + invoke_model 调平台 t2i/i2i 模型生成真实图片**,产物 URL 独占一行以 `![图N 标题](URL)` + 嵌入正文(合成 docx 自动嵌真图)。model 留空自动选型;task 写清画面主体/层次/风格 + (商务风、白底、含中文标注)/图中文字;改造已有图带输入图 URL 走 i2i。 +- **禁止 mermaid/plantuml 代码块、ASCII 字符画、文本框线拼示意图**——write_chapter + 机制层会确定性检测并拒绝写入(返回 FAIL 与改法)。 +- 仅当 t2i、i2i 模型全无(invoke_model 返回 FAIL)时,正文照常写、该处不配图, + 并如实标注「配图缺失:平台无可用文生图模型」(此标注是机制豁免的唯一钥匙,禁滥用)。 +- 配图不计入篇幅凑数:正文字数仍须达最小门限。 diff --git a/skills_library/pipelines/bidding_general/common/bid-review/SKILL.md b/skills_library/pipelines/bidding_general/common/bid-review/SKILL.md index 83d4bae..a217cfe 100644 --- a/skills_library/pipelines/bidding_general/common/bid-review/SKILL.md +++ b/skills_library/pipelines/bidding_general/common/bid-review/SKILL.md @@ -9,11 +9,15 @@ description: 评审与评分规范——章节评审按得分规则打分、整 1. 读 chapter_detail(要点/对应评分项及得分规则/投标文件要求/正文)。 2. **篇幅与完整性先查**:正文字数低于门限(技术 800/商务 500)或评分子维度漏应答 → 直接不通过, 意见写明缺哪些维度/差多少字(机制层 review_chapter 也会强制退回,评审员主动把关)。 -3. 对照**得分规则原文**逐维度判断正文是否响应:有响应按规则给分,未响应/偏离按规则扣分。 -4. review_chapter 落分:不达标必须给可执行改进意见(缺哪个维度、补什么、对照哪条规则), +3. **配图合规**(2026-09-15 硬规定):技术方案章节的图必须是 t2i/i2i 生成的真实图片 + (`![图N 标题](URL)` 嵌入);发现 mermaid/plantuml 代码块或 ASCII 字符画/文本框线「示意图」 + → 不通过,意见注明「图必须用 invoke_model t2i/i2i 生成真图后重写」 + (机制层 review_chapter 会确定性兜底强制退回)。 +4. 对照**得分规则原文**逐维度判断正文是否响应:有响应按规则给分,未响应/偏离按规则扣分。 +5. review_chapter 落分:不达标必须给可执行改进意见(缺哪个维度、补什么、对照哪条规则), 「退回但不说怎么改」会被工具拒绝。 -5. 评分禁止凭印象:分数必须能溯源到得分规则条款。 -6. 分角色核对:商务标章节查要素齐全(投标函/报价/资质证明/承诺/业绩),技术标章节查操作层深度。 +6. 评分禁止凭印象:分数必须能溯源到得分规则条款。 +7. 分角色核对:商务标章节查要素齐全(投标函/报价/资质证明/承诺/业绩),技术标章节查操作层深度。 ## 整书评分(agent.bid_scorer,模拟评标专家) 1. start_bid_score 取评审 ID + 评分项清单。 diff --git a/skills_library/pipelines/bidding_general/roles/agent.bid_writer/role/SKILL.md b/skills_library/pipelines/bidding_general/roles/agent.bid_writer/role/SKILL.md index 56bbd75..053d697 100644 --- a/skills_library/pipelines/bidding_general/roles/agent.bid_writer/role/SKILL.md +++ b/skills_library/pipelines/bidding_general/roles/agent.bid_writer/role/SKILL.md @@ -25,7 +25,7 @@ tools: [list_chapters, chapter_detail, write_chapter, submit_chapter, search_bid - 用 invoke_model 调平台图像模型生成**真实图片**:model 留空即自动选型;task 写清画面主体、风格(如「简洁商务风架构图,白底,蓝色系,包含XX/YY/ZZ三层」)、图中文字要求。改造已有图时带输入图 URL(走 i2i);从零生成不带图。 - 平台无专门 t2i 模型时自动兜底:选型会命中 i2i 模型,不带输入图 → 平台按 t2i 契约降级为文生图能力正常出图,不会被拦。 - 成功后把产物 URL 原样嵌入章节正文,独占一行:`![图N 标题](URL)`(合成 docx 时自动嵌入真图)。禁止改写/自编 URL。 -- **禁止 ASCII 字符画/文本框线拼示意图**。仅当 t2i、i2i 模型全无时 invoke_model 才返回 FAIL——此时不配图,正文照常写,不因此冒泡阻塞章节。 +- **禁止 ASCII 字符画/文本框线拼示意图,禁止 mermaid/plantuml 代码块**——write_chapter 机制层会确定性检测并拒绝写入(FAIL 带改法,改真图后重写)。仅当 t2i、i2i 模型全无时 invoke_model 才返回 FAIL——此时不配图,正文照常写并如实标注「配图缺失:平台无可用文生图模型」(豁免钥匙),不因此冒泡阻塞章节。 - 配图不计入篇幅凑数:正文字数仍须达 bid_chapter_min_words 门限。 ## 硬规则 diff --git a/skills_library/pipelines/sdlc_general/roles/agent.design/role/SKILL.md b/skills_library/pipelines/sdlc_general/roles/agent.design/role/SKILL.md index 86e0224..8e5051f 100644 --- a/skills_library/pipelines/sdlc_general/roles/agent.design/role/SKILL.md +++ b/skills_library/pipelines/sdlc_general/roles/agent.design/role/SKILL.md @@ -12,6 +12,10 @@ capability: task_capability - **先 load_skill 加载 `module-partitioning` 全文**,用它复核需求阶段的初步模块划分: - 读 `projects/{项目名}/docs/00-requirement/module-partition.md`(四张图+模块清单+复用判定)。 - 八原则 A~I 逐条复核 + 四张图补全细化(需求阶段画不全的依赖边/所有权在设计期落定)。 + **图产出形式(硬规定)**:设计文档中的全部图(四张图/模块依赖图/系统架构图/部署拓扑图等) + 必须用 invoke_model 调平台 t2i/i2i 模型生成**真实图片**(`![图名](URL)` 嵌入), + 禁止 mermaid/ASCII 字符画/文本框线图代替;改造已有图带输入图 URL 走 i2i,从零生成走 t2i。 + 平台无图像模型(invoke_model 返回 FAIL)时按文字模板产出并如实标注「配图缺失」,不伪造。 - **调整必须写明理由**(哪条原则/哪张图的哪个信号),禁止无证据推翻需求阶段划分; 发现划分根本性错误(如环依赖、责任重叠)→ 修正并在 architecture.md 记录变更对照。 - 细化产出:模块间依赖图(有向无环)+ 开发顺序拓扑序 + 每模块的接口契约草案 diff --git a/skills_library/pipelines/sdlc_general/roles/agent.qc/review-design/SKILL.md b/skills_library/pipelines/sdlc_general/roles/agent.qc/review-design/SKILL.md index 9ebb6d9..41ea32f 100644 --- a/skills_library/pipelines/sdlc_general/roles/agent.qc/review-design/SKILL.md +++ b/skills_library/pipelines/sdlc_general/roles/agent.qc/review-design/SKILL.md @@ -36,6 +36,7 @@ capability: task_capability 6. **模块划分复核+细化**(对照技能映射表加载 `module-partitioning`): - **上游衔接**:design 的模块划分以 requirement 的 `docs/00-requirement/module-partition.md` 为上游。核对 architecture.md 有「复核结论」——沿用或调整;**每处调整必须写明依据**(八原则哪条/四张图哪个信号)。无证据推翻需求阶段划分 = 不过;完全没提 module-partition.md(凭空重划)= 不过。 + - **图必须是真实生成图片**:设计交付件(architecture.md/模块 design.md)中的四张图、模块依赖图、系统架构图、部署拓扑图等,必须以 markdown 图片语法 `![...](URL)` 嵌入平台生成的真实图片(invoke_model t2i/i2i)。出现 mermaid/plantuml 代码块、ASCII 字符画、文本框线拼的「示意图」= 不过(唯一豁免:如实标注「配图缺失:平台无可用文生图模型」且平台确无图像模型)。 - 八原则抽查:模块清单逐条能对应业务能力(A)、唯一责任(F);无 1~2 表过细模块、无巨型模块;基础设施未当业务模块(G);标注复用的已有模块真实存在(铁律:能用已有模块必须用)。 - 模块间依赖图无环 + 开发顺序拓扑可行(依赖在前)。 7. **功能细化覆盖**: diff --git a/skills_library/pipelines/sdlc_general/roles/agent.qc/review-requirement/SKILL.md b/skills_library/pipelines/sdlc_general/roles/agent.qc/review-requirement/SKILL.md index 8e3d110..0d2afa9 100644 --- a/skills_library/pipelines/sdlc_general/roles/agent.qc/review-requirement/SKILL.md +++ b/skills_library/pipelines/sdlc_general/roles/agent.qc/review-requirement/SKILL.md @@ -41,6 +41,7 @@ capability: task_capability - 需求含糊处已进待确认清单而非猜数(抽查有无「低置信度却给了数」)。 6. **模块初步划分真实产出**:`docs/00-requirement/module-partition.md` 存在,且: - **四张图齐全**(业务对象/业务生命周期/数据所有权/业务依赖)——缺任一张 = 不过。 + - **图必须是真实生成图片**:四张图以 markdown 图片语法 `![...](URL)` 嵌入且 URL 为平台产物地址(invoke_model t2i/i2i 生成)。出现 mermaid/plantuml 代码块、ASCII 字符画、文本框线拼的「示意图」= 不过(唯一豁免:文档中如实标注「配图缺失:平台无可用文生图模型」——此时查平台确无图像模型才认)。 - 模块清单表每模块写明业务能力(一句话动词+宾语)、唯一责任、核心对象、依赖、开发顺序、复用or新建。 - **粒度铁律核对**:无「1~2 张表一个模块」(对照数据所有权图,一个模块只有 1~2 张表且职责说不满 = 过细,不过);无巨型模块(一个模块覆盖多个不相关业务对象 = 不过)。 - **复用判定核对**:标注复用的已有模块真实存在(基础模块 apppublic/sqlor/ahserver/accounting/appbase/rbac 或平台已上线业务模块);能力已有模块覆盖却新建 = 不过。 diff --git a/skills_library/pipelines/sdlc_general/roles/agent.requirement/role/SKILL.md b/skills_library/pipelines/sdlc_general/roles/agent.requirement/role/SKILL.md index 2976655..c6b8104 100644 --- a/skills_library/pipelines/sdlc_general/roles/agent.requirement/role/SKILL.md +++ b/skills_library/pipelines/sdlc_general/roles/agent.requirement/role/SKILL.md @@ -32,6 +32,10 @@ capability: feature_propose_capability 不是业务模块,用平台基础模块(apppublic/sqlor/ahserver/appbase/rbac/accounting)。 - 产出 `projects/{项目名}/docs/00-requirement/module-partition.md`: 四张图 + 模块清单表(模块名/业务能力/唯一责任/核心对象/依赖/开发顺序/复用or新建)+ 复用判定 + 反模式自查表。 +- **四张图产出形式(硬规定)**:必须用 invoke_model 调平台 t2i/i2i 模型生成**真实图片**, + 以 `![图名](URL)` 嵌入 module-partition.md;**禁止 mermaid/ASCII 字符画/文本框线图代替**。 + 文字模板要点(对象/关系/状态机/归属表)作为图的补充说明与 t2i 提示词素材保留在正文。 + 平台无图像模型(invoke_model 返回 FAIL)时按文字模板产出并如实标注「配图缺失:平台无可用文生图模型」,不伪造。 - **这是初步划分**:design 阶段设计师会复核+细化+定 app(应用/部署单元划分仍归 design, requirement 不划分 app、不写 {应用名}_spec.json)。