历史快照:v4.14,基线63a6532。仅追溯,不作为当前研发要求;现行规格见交付首页。
AI 视觉生产中心 Prompt 工程管理方案
版本:2.0
状态:当前交付包v4.14;普通套图规划与模特直接生成分支分开,候选不等于已切生产或真实效果验收。模特固定Prompt阅读页由canonical规则JSON直接生成,见交付目录“模特直接生成与编辑固定Prompt(候选)”。
产品基线:CR-20260821-001 / CR-20260824-003 / CR-20260825-001 / CR-20260825-002
工程治理变更:ENG-20260817-001 / ENG-20260818-001 / ENG-20260818-002 / ENG-20260819-001 / ENG-20260819-002 / ENG-20260821-001 / ENG-20260824-001 / ENG-20260825-001
适用范围:图片工坊套图生成、AI 模特商品图及后续复用同一图片生成编译链路的模块
CR-20260921-013 · 当前调用分支
普通套图仅在用户点击“生成”后调用既有 Planner;商品库卖点直载和左侧“下一步”预览不调用 Planner。普通单图编辑只走父图+参考图+可选选区。模特商品图使用 prompts/model-product-direct.md 与 prompts/model-product-direct.rules.json 的 model-product-direct-v1-candidate@1.0.2-candidate 确定性装配,不调用模特 Planner、Gesture/PhysicalRelation Plan 或自动后检,也未切换生产运行时。以下 AI 整理、套图终止、单图重新生成旧条款只保留为历史/未覆盖模块,不可作为当前前台实现依据。
CR-20260921-003 · 已确认单图编辑规则整合
- 普通套图单张编辑只保留自定义修改、换场景、换风格;模特单图另有整图换模特;范围仅整张图片/框选局部。参考上传归入AI编辑,不要求用户另填用途分类;版本记录保留。
- 图1为当前父版本、图2为所选参考原图,调用图片编辑接口;Java按固定规则拼接,不调用前置AI、Planner或整套重生成。
- 预设换场景:将图1的背景换成图2所示场景,保持图1的商品和文字内容不变。
- 预设换风格:参考图2的视觉风格修改图1,可调整字体样式和排版,保持图1的商品和文字内容不变。
- 用户补充原样追加;无参考图的自定义场景直接使用用户原话。选区只追加必要范围说明;商品快照留服务端,不传locked_context。不支持组合时提示,不静默换模型或丢输入。
- 六风格同父图样本及已有换场景样本获得用户认可;不代表跨品类/跨模型稳定通过,不承诺未经验证的框外像素不变。当前产品原型为模拟,真实编辑后端尚未接入。
1. 文档目的与结论
本方案用于指导后端、算法、前端和测试共同实现 Prompt 的配置、编译、执行、版本、快照、回退和审计。它不是一份给运营直接编辑的 Prompt 文案,也不改变已确认的产品交互。V2 迁移开发契约的完整字段注册表、通用生成限制、平台政策、图片类型策略、三个规划策略 Prompt、输入输出 Schema 和最终编译模板统一见 visual-planner-prompt-spec.md v2.5-candidate;开发与测试不得回查历史 Prompt 文件补齐字段。当前实验编译器仍保持 v2.1-candidate,真实跨品类 A/B 与管理追踪完成前不得把 v2.5-candidate 切为生产有效版本。
开发必须遵守以下结论:
- 当前运行 Prompt 必须由自包含契约确定性编译;不得以“沿用旧版”“参考历史实现”等文字代替任何字段、规则或测试断言。
- 历史权威源只作为迁移完整性证据并带版本、SHA-256 内容指纹;它不是运行时字段来源,也不能与当前契约并行注入图片模型。
- 通用限制、平台政策、模板、图片类型、类目策略、用户输入与用户特殊要求分别拥有唯一来源,运行时生成不可变快照。
- 前端只提交结构化业务字段,不负责拼完整 Prompt;普通运营不查看完整系统 Prompt、Provider 参数或内部锁定指令。
- “槽位”只组织套图子任务、状态、版本和结果归类,不限制单图 Prompt 或单张构图能力。
- 静态检查只能证明编译结构正确,不能证明真实出图质量;本期延期项不得被包装成“已完成”或“已达到生产质量”。
- 新增统一“作图规划服务”,在不改变运营输入的前提下,把商品事实、规则解析结果和图片任务转为结构化画面计划;规划服务不能替代平台硬规则、商品事实、模板锁定项或最终确定性编译器。
- 普通套图维持“套图总导演 + 普通商品图规划师”;模特商品图由直接模型候选替代模特规划师,且不影响普通套图策略。
- 单图片类型一次生成 2–5 张时,必须拆成独立结果子执行;共同事实和规则保持一致,但每个子执行必须有可审计的差异化指令,禁止原样重复同一 Prompt。
- 第三方品牌视觉资产默认禁止。兼容 Apple、Windows 或浏览器等事实只允许用已核实的中性文字表达;只有后台授权快照明确列入白名单的官方 Logo/图标才可进入计划和最终 Prompt。
- 套图总导演固定策略、当前任务动态输入和结构化输出必须严格分层。Golden Case 只用于联调断言,不得作为运行模板、默认叙事或跨品类补值来源。
- 普通业务请求必须携带用户所选
selectedGenerationModelRef,不得携带plannerKey;编排服务内部计算 Planner 策略并在所选模型能力范围内解析 Provider,不得覆盖用户选择。 - 视觉突出与物理尺寸分开治理;当前任务的变体、尺度、场景和人物交互只能来自可追溯动态证据,Golden Case 的商品词、比例和场景不得进入固定策略。
- Gesture Plan 只定义结构化人物交互意图、fallback 候选与分项验收;PhysicalRelationPlan 定义安装、连接、朝向、作用起点、作用路径和作用对象。Compiler 必须完整传递这些结构化关系,不能压缩成泛化自然语言。
- 结果侧不建设 AI 视觉质量门禁、评分阈值、自动质量修复或近重复自动重跑;只保留确定性技术/OCR/授权/安全/已核验平台规则检查和完全相同内容指纹,近重复仅提示。
- 结果后检分别检查商品身份、比例、安装、朝向、效果起点、效果路径、人物解剖和遮挡;失败只返回具体问题,不自动重试、不静默换模型、不局部修复、不产生付费调用。
- 用户需要重新生成时必须主动发起新任务。Planner、校验和编译 Schema 禁止出现
retryPolicy、retryCount、fallbackProvider、autoRepair或同义字段。 - 模板比例用于表达目标视觉关系,不是普通布局的像素级硬裁切线。最终 Prompt 不默认使用“严格占比”“绝不跨越”等词卡死 85%、40/60 或 30/70;验收优先看图文方向、文字可读性、无明显遮挡和整体观感。平台硬规则与用户明确锁定边界不受此软口径影响。
- 第一性原理自主推导机制:规划模型不得对具体品类编写死逻辑,而必须从“物理介质与功能因果链条(Origin -> Path -> Target)”进行自主物理合理性推导(如潜水泵必须浸没在作业水体中,严禁在干燥地板空转;电锤作业必须作用于实心墙体/工件;美妆作用于皮肤等)。
- 多模态参考图与提示词解耦原则:生图模型 Vision Encoder 直接提取参考图的商品材质、纹理、丝印与包装盒原色(如包装盒纯正绿值)。规划师与 Prompt 严禁在文本中繁琐复述商品已有外观色彩,防止文本歧义反噬引发严重色差(如 dark green 误导模型渲染成橄榄色);Prompt 专注于作业物理介质、动态效果因果、空间槽位与通用红线。
- 历史店铺品牌外框与 15% 安全视口规范(新版待04确认,仅保留既有范围,不适用于本轮模特直接链路和单图编辑):针对官方品牌旗舰店(如 Shopee/Lazada 官方店)叠加透明 PNG 品牌外框(包含顶部 Logo、侧边装饰条、底部活动信息)的需求,规划师必须执行四边内缩 15% 的安全视口边距(Safe Inset Viewport),确保文字与核心主体绝不贴边,外框叠加后无遮挡或截断。
- 分层渲染与动态多语言架构:确立“AI 纯净底图层(In-Situ Clean Base) + 矢量排版文字层(Vector Typography) + 店铺外框层(Store Frame Overlay)”的三层解耦渲染流水线;彻底杜绝生图模型在小语种(泰文、印尼文、马来文、英文)的拼写残缺与排版乱码,支持跨境站点一键无缝热切换语言并提供分层分包导出。
- 几何结构与比例绝对刚性锁定原则(core.geometry-rigidity-lock):参考图是商品几何构造、长径比/高宽比、组件形态、进出风口/出水嘴朝向、支撑脚底座结构的唯一权威真值。严禁生图模型基于预训练扩散先验篡改、粗化、压扁、拉伸或将特定结构替换为行业通用形态(如严禁将细长圆柱篡改为粗矮圆筒,严禁将垂直立式喷嘴篡改为90°弯头,严禁将拱形底脚篡改为闭合网罩)。
- 提示词严禁越权描述商品外观细节(core.prompt-appearance-decoupling):生图 Prompt 严禁在文本中用自然语言描写商品已有的外观部件、颜色、结构细节(杜绝文本描述与参考图产生多模态冲突,防止模型被训练集常模覆盖而导致结构变形或色差反噬)。商品外观必须使用通用中立锚点指代(如 "the featured product exactly as shown in the reference image, strictly preserving its authentic geometry, aspect ratio, nozzle orientation, and base structure without alteration"),Prompt 仅描述工作物理介质、动态因果流向、空间槽位、人机交互与商用光影。绝对禁止针对单一产品编写定制 Hardcoding。
- 真实物理尺度与人机比例锚定原则(core.physical-scale-anchor):当画面中出现人物(模特)或环境对照物时,商品物理尺寸必须严格根据其客观物理尺度分类(手持/便携类 30–50cm、桌面/台面类、落地/大型设备类等)进行人机工学比例锚定。手持便携工具与人体同框时严格对应手部握持或膝盖小腿高度比例,绝不能膨胀为胸腹部大型机具;大型设备不得缩小为玩具。视觉焦点通过布光、焦点和景深营造,绝不可通过违背物理尺寸的人机比例放大。
- 零虚构配件与绝对禁止平台水印/角标(core.no-fabrication-and-badges):严禁凭空添加未提供的配件、管路接头、电源线、开关、工具箱或附加装置;绝对禁止生成任何平台自身 Logo(Shopee、Lazada、TikTok、Amazon 等)、免运/打折贴纸、平台水印或乱码文字。
2. 冻结事实、不改项与本期边界
| 类别 | 结论 | 开发约束 |
|---|---|---|
| V2 迁移开发契约 | visual-planner-prompt-spec.md v2.5-candidate | 自包含全部字段、规则和编译顺序;不得用“复用旧版”替代缺失定义;尚未切换生产 |
| 历史迁移证据 | prototype/ai-workspace-v2-prd/image-workshop-agent-prompt.html 与 knowledge-vault/modules/ai-workspace.md | 只用于内容指纹和语义迁移核对;不得运行时重复注入 |
| 通用生成限制 | generation_rules 版本 | 每次图片调用完整渲染一次;与平台差异分离,同一 rule_id 只渲染一次 |
| 平台政策 | PlatformRulePack 的 platform/site/purpose 命中项 | 主图专属规则只进入主图;候选政策不得伪装成已核验官方规则 |
| 用户输入 | 商品图片、商品资料、目标用户、核心卖点、特殊要求及其来源 | 按图片类型字段矩阵消费;特殊要求单独渲染;无可靠输入不得猜测 |
| 第三方品牌资产 | 后台 BrandAssetAuthorizationSnapshot;默认空 | 用户填写兼容性或上传含 Logo 的参考图不能自动获得授权;无授权时第三方 Logo、系统/应用/浏览器图标进入禁止实体 |
| 单图多结果 | 用户只设置生成数量 1–5;服务端形成逐结果变体 | 不与输入图片数量、套图数量或槽位数量共用字段;2–5 张不得重复同一最终 Prompt |
| 图片模型选择 | 用户在任务确认前选择 selectedGenerationModelRef | 普通前端不得提交 plannerKey 或 Provider;确认后模型随任务/批次冻结,执行中不静默替换 |
| 套图新增规则来源 | 模板快照、图片类型任务、类目策略、套图一致性与差异化 | 只向命中的执行单元注入;不得覆盖平台硬规则、商品事实和用户确认蓝图 |
| 套图蓝图 | 确认前可按模板边界增删、复制、排序;确认后冻结 | 确认后的执行单元不得被编排器静默改变 |
| 作图规划 | 单图按一个执行单元规划;套图先形成整套叙事与差异化计划,再逐执行单元规划 | 不增加普通用户输入字段或页面步骤;不允许规划师改写已确认商品事实和规则 |
| 前端范围 | 结构化输入、业务化预览、版本与测试结果 | 普通运营不展示完整 Prompt;Prompt 管理权限按既有角色权限执行 |
| 不改项 | 单图能力、现有运营输入、正式原型交互 | 本次规划层是服务端编排变化,不增加运营可见的“规划师”步骤或 Prompt 编辑入口 |
3. 总体架构与责任边界
flowchart LR
A["当前自包含 Prompt 契约\n版本 + 内容签名"] --> G["确定性规则解析器"]
B["平台规则包"] --> G
C["模板版本快照"] --> G
D["图片类型模块"] --> G
E["商品与任务快照"] --> G
F["类目策略包"] --> G
G --> H["套图总导演\n仅套图"]
G --> I["图片规划师\n普通商品 / 模特商品"]
H --> I
I --> J["计划 Schema 校验\n事实 / 规则 / 物理 / 容量"]
J --> K["确定性 Prompt 编译器"]
K --> L["不可变编译快照"]
L --> M["Provider 适配器"]
M --> N["图片子任务与结果"]
N --> O["确定性结果检查、用户主动新任务与发布版本回滚证据"]
| 层级 | 负责内容 | 不负责内容 |
|---|---|---|
| 前端业务层 | 收集商品、平台、站点、语言、模板、卖点、目标用户、特殊要求和用户所选图片模型;展示蓝图、状态与结果 | 不拼系统 Prompt,不选择 Provider/Planner,不绕过确定性规则阻断 |
| Prompt 配置层 | 保存当前契约、历史证据引用、规则包、模块 Prompt、类目策略及状态 | 不保存商品私有输入,不修改历史任务快照 |
| 规则解析器 | 按平台、站点、用途、图片类型、模板、类目和字段矩阵选择适用规则,输出确定性约束 | 不写创意场景,不把整段规则无差别塞给所有图片 |
| 作图规划服务 | 在已解析约束内设计套图叙事、单图场景、动作、构图、信息表达和差异化,输出结构化计划 | 不改商品事实,不裁决硬规则,不直接调用图片 Provider,不自由输出不可审计的最终 Prompt |
| 计划校验器 | 校验 Schema、事实引用、允许/禁止实体、平台与图片类型兼容、物理关系、套图容量和差异化 | 不用“看起来合理”替代可追溯事实,不静默删掉失败约束 |
| 编译器 | 把当前完整字段契约、规则快照、模块策略和已通过校验的画面计划按稳定顺序编译为最终 Prompt | 不调用规划模型或图片模型,不根据模型结果反向改写已冻结快照 |
| Provider 适配层 | 在用户所选图片模型能力范围内把统一请求转换为具体 Provider 所需图片、参数和请求格式 | 不改变业务语义或用户模型选择,不静默增删 Prompt 规则 |
| 执行层 | 管理图片子任务、用户主动重新生成、终止、结果和版本 | 不跨任务复用私有输入,不用新版本回写历史结果,不把主动操作包装成 Planner 自动重试 |
| 治理层 | 版本、指纹、测试、启停、回退、审计与延期清单 | 不替代真实图片质量评审 |
3.1 作图规划师拆分决策
当前普通套图保留总导演与普通商品图规划师。旧模特Planner仅供历史记录追溯,模特商品图生成/编辑转为确定性直接候选,不增加前置模型或普通用户菜单。
| 规划策略 | planner_key | 触发范围 | 核心输入 | 输出 | 拆分原因 |
|---|---|---|---|---|---|
| 套图总导演 | visual-planner.suite-director.v2-candidate | 仅套图;蓝图派生后、逐图规划前 | 全套执行单元、模板快照、确认卖点、规则解析摘要、套图数量 | SuiteVisualPlanSnapshot:叙事顺序、覆盖关系、一致性锚点、逐图差异化分配 | 需要全局视角,不能由每张图各自规划后再猜整套关系 |
| 普通商品图规划师 | visual-planner.product-image.v2-candidate | 单图和套图普通商品图片执行单元 | 当前图片类型策略、商品事实、规则快照、模板约束、套图分配(如有) | ImageVisualPlanSnapshot:主体、场景、PhysicalRelationPlan、相机可行性、比例/效果约束、构图、文字区和事实引用 | 图片类型共享商品身份与事实底线,差异由模块策略注入;逐类型复制 Agent 会导致版本碎片和规则漂移 |
| 历史模特商品图规划师(当前不调用) | visual-planner.model-product.v2-candidate | 仅旧快照追溯 | 历史输入 | 历史计划 | 当前模特链路见model-product-direct合同 |
不采用“一个超长万能规划 Prompt”的原因:平台/图片类型/类目/人物规则会互相污染,模型容易忽略中部约束,套图全局目标与单图局部目标会争夺注意力,且任何小改动都会迫使全部场景共同回归。不采用“每个图片类型一个 Agent”的原因:多个图片类型会复制通用限制、平台规则和 Schema,增加维护成本并产生版本不一致。该三策略论证属于历史;当前模特链路不采用规划策略。
3.2 第一性原理推理与分层生产架构
在经历真实跨品类模型走查与用户反馈收敛后,作图规划层与生图编译层必须全面遵循以下四大核心工程架构:
flowchart TD
subgraph FirstPrinciples["1. 作图规划师:第一性原理自主物理推导"]
A1["商品资料 / 基础参数 / 目标平台 / 槽位布局"] --> A2["作业物理介质识别\n(潜水泵->水体,电锤->混凝土,美妆->皮肤)"]
A2 --> A3["因果与流体传递链\n(动力源 -> 传输通道/管路 -> 目标受力面)"]
A3 --> A4["空间与 15% 安全视口映射\n(四边内缩 15%,预留品牌外框无损区)"]
end
subgraph ModalityDecoupling["2. 模态分工:参考图与提示词解耦"]
B1["商品参考原图"] -->|Vision Encoder 提取| B2["商品结构、微观纹理、包装盒真实色值 (#43B02A)"]
A4 -->|输出物理环境与红线 Prompt| B3["纯净作业环境、物理因果、构图比例、十大通用红线"]
B2 & B3 --> B4["生图模型 (gpt-image-2.5) 纯净底图输出"]
end
subgraph LayeredRendering["3. 交付层:三层解耦与多语言热切换"]
B4 --> C1["Layer 1: AI 纯净底图层 (Clean Base)"]
C2["矢量文字层 (Vector Typography)\n(支持泰文/印尼文/马来文/英文热切换)"] --> C4["最终合成图 / 分层分包"]
C3["店铺外框层 (Store Brand Frame)\n(1:1 透明 PNG 品牌专属模板)"] --> C4
C1 --> C4
end
3.2.1 第一性原理自主因果推导(拒绝品类 Hardcoding)
规划模型不应根据特定品类编写死逻辑,而是遵循通用第一性原理进行自主物理推导:
- 作业物理介质(Operational Medium):分析商品的核心工作环境。例如潜水泵必须浸没在水中,严禁在干燥坚硬地面空转作业;电锤必须作用于实心墙体或工件;口红必须贴合唇部肌肤。
- 因果与传递链(Effect Chain):明确作用起点(Origin)、动力与流体输送路径(Path)以及受体作用对象(Target),杜绝无源之水、悬空管路或反向排流。
- 人机工学无遮挡(Ergonomic No-Occlusion):手持工具或操作面板时,握持姿态必须符合生理结构,严禁遮挡调速旋钮、档位开关或品牌核心标识。
3.2.2 多模态参考图与提示词解耦(杜绝色差反噬)
在商用生图模型(如 gpt-image-2.5)中,视觉编码器(Vision Encoder)具备强大的跨模态感知能力,能够直接从参考图中高保真提取商品的微观材质、金属光泽、丝印 Logo 及包装盒原色(如抹茶盒鲜艳绿色 #43B02A)。
- 红线:规划师生成的 Prompt 严禁使用自然语言繁琐复述商品的颜色细节。若文本中出现“dark green”,极易引发模型的多模态认知冲突,导致生成出的包装盒呈现“橄榄暗绿 (Olive Drab)”的严重色差。
- 职责划分:参考图负责锁定商品的物理外观与颜色真值;Prompt 专注于指定作业环境介质、因果流向、构图槽位比例与红线守卫。
3.2.3 历史店铺品牌外框与 15% 安全视口规范
新版外框仍待定。下述旧规则不扩大应用到所有图或模特直接编辑,不作为本轮新增需求。
针对品牌出海旗舰店(如 Shopee / Lazada ZUUKOO 官方店)的统一视觉需求,主图通常需要叠加 1:1 透明 PNG 品牌模板(含顶部品牌 Logo 标、两侧装帧、底部卖点带):
- 15% 安全内缩边界(Safe Inset Viewport):规划师在将槽位映射为空间坐标时,必须强制要求所有关键商品主体、操作手势、动态流体以及预留文字区域,与画布四周边距保持至少 15% 的内缩距离。
- 防止遮挡:即使外部店铺外框包含宽边或顶部 Logo,也不会发生商品关键部位被裁切或卖点文字被覆盖的事故。
3.2.4 三层解耦渲染与动态多语言架构
为了彻底解决生图模型直接生成小语种(泰文、印尼文、马来文、越南文)时常见的字母残缺、拼写臆造、字体失真问题,系统确立三层解耦渲染架构:
- 底图层(AI Clean Base):由生图模型根据第一性原理 Prompt 输出无文字、无水印、无外框的高清商业实景底图。
- 文字层(Vector Typography):由前端排版引擎根据确认卖点进行矢量渲染,支持一键在泰文、印尼文、马来文、英文之间无缝热切换,免去重新调用生图模型的算力与时间成本。
- 外框层(Store Brand Frame):透明 PNG 独立图层叠加,支持针对不同活动或店铺随时替换。
- 导出能力:既支持一键导出 WebP/PNG 合成图,也支持分层分包导出,方便设计与运营二次精修。
3.2.5 通用生成底线体系(generation_rules)与严禁品类 Hardcoding
一期图片工坊的核心设计沉淀表明:所有不可突破的物理与电商真实性底线,必须作为通用生成底线(generation_rules)直接写入底层体系,而严禁对特定品类编写孤立补丁或 Hardcoding。 针对跨品类通用落地,系统全面固化四大不可违背的通用底层铁律:
- 几何结构与长径比绝对刚性锁定(core.geometry-rigidity-lock):参考图片是商品的唯一几何物理真值。扩散模型受其预训练权重影响,极易把非典型商品(如高长径比 3.5:1 的立式潜水泵)篡改为行业更常见的矮胖圆筒,或把直立出水嘴篡改为弯头。通用规则强制要求生图模型严格保留参考图的原生轮廓、长径比、组件朝向与底座构造,严禁擅自粗化、压缩、形变或以常模替换。
- 提示词严禁越权描述商品外观细节(core.prompt-appearance-decoupling):多模态图像模型具备 Vision Encoder 视觉提取能力。文本 Prompt 若用自然语言复述商品外观部件或颜色,必然因文本提示词权重争夺导致模型忽略参考图特征,或引发严重的色差反噬与结构异化。Prompt 必须使用通用中立锚点("the featured product exactly as shown in the reference image...")指代外观,将全部文本注意力聚焦在作业物理介质、动态流向因果、空间槽位与通用红线上。
- 真实物理尺度与人机比例锚定(core.physical-scale-anchor):解决商品与人物或环境同框时的“巨型化”或“微型化”失真。系统建立通用的三级物理尺度分类映射:
- 便携/手持级(约 30–50cm):与人体同框时严格锚定手部握持或膝盖/小腿高度比例,绝不能膨胀为胸腹部大型机具;
- 台面/桌面级(约 10–30cm):严格锚定于办公桌/操作台面尺度,与手掌或日常文具/餐具形成真实对照;
- 落地/大型工业级:锚定于地面空间与人机站姿比例。商品主视觉突出完全依靠构图、焦点与专业布光,严禁违背物理尺度违规放大。
- 零虚构配件与零平台符号(core.no-fabrication-and-badges):严禁凭空添加未提供的配件、电源线、开关盒、固定架;严禁生成任何平台自身 Logo(Shopee、Lazada、TikTok、Amazon)、免运/打折贴纸、水印或乱码文字。
4. 核心业务对象与建议数据契约
下表字段名是开发契约建议;若现有后端已有等价字段,可映射但不得降低语义。
| 对象 | 主键/稳定标识 | 必存字段 | 不可变规则 |
|---|---|---|---|
PromptContractVersion | prompt_contract_id + version | 完整字段注册表、规则定义、规划模板、编译模板、SHA-256、状态、变更说明 | 激活后不可原地改内容;变化必须升版本 |
HistoricalBaselineEvidence | evidence_id + version | 历史权威源路径、SHA-256、字节数、迁移说明 | 只做迁移和回归证据,禁止渲染到模型 Prompt |
PlatformRulePack | rule_pack_id + version | platform、site、purpose、maturity、verification_status、source_refs、rules | 历史任务继续引用原快照 |
TemplateVersionSnapshot | template_id + version | 有序图片类型、必需性、数量边界、比例、主图背景/外框、文案区、可调边界 | 任务创建后保存快照,不读取模板当前值 |
ModulePromptVersion | prompt_key + version | role、module_strategy、visual_strategy_extension、input_schema、status | 稳定 prompt_key 不依赖页面名或数据库自增 ID |
CategoryPolicyVersion | policy_id + version | 类目匹配条件、注入规则、排除规则、证据要求 | 仅可靠识别类目后注入;无匹配不注入 |
ProductInputSnapshot | input_snapshot_id | 商品图片引用、商品资料、目标用户、原始卖点、确认卖点、特殊要求、来源摘要、物理尺度证据和场景证据 | 任务创建后不可变;修改输入产生新快照;案例比例或场景不得成为全局默认 |
VariantResolutionSnapshot | variant_resolution_snapshot_id | 当前 SKU/颜色/套装、允许与排除实体、图文冲突、证据引用和内容签名 | 多变体任务先解析再规划;不得把不同颜色、规格或套装组件拼接 |
BrandAssetAuthorizationSnapshot | brand_auth_snapshot_id | 被授权第三方资产引用、权利范围、有效期、来源、授权主体 | 默认空;兼容性文字、参考图或模型识别结果不得自动写入白名单 |
BlueprintExecutionUnit | unit_id | suite_id、slot_instance_id、image_type、order、selling_point_ref、module_prompt_ref、template_constraints | 蓝图确认后不可静默增删改;重做产生新版本 |
ImageExecutionVariant | variant_id | parent_unit_id、variant_index、variant_count、variant_directive、状态、结果版本 | 单图生成 2–5 张时逐结果创建;不得以同一 Prompt 无差别循环调用 |
ResolvedRuleSnapshot | resolved_rule_id | prompt_contract/platform/template/module/category 版本引用、适用规则 ID、解析后的背景/文字/实体/构图/合规约束、跳过原因 | 同一输入与版本链必须得到确定性结果;规划师不得增删硬规则 |
SuiteVisualPlanSnapshot | suite_plan_id | suite_id、planner_key/version、叙事顺序、一致性锚点、覆盖矩阵、逐单元差异化任务、事实引用、计划签名 | 只在套图创建;确认后不可静默改写,修改蓝图产生新计划版本 |
ImageVisualPlanSnapshot | image_plan_id | unit_id、planner_key/version、image_task、subject/scene、physical_scale_plan、scene_context_plan、physical_relation_plans、gesture_plans、camera_feasibility_plan、scale_constraints、functional_effect_constraints、interaction_acceptance_checks、composition/text_plan、fact_refs、allowed/forbidden_entities、suite_directive_ref | 必须通过 Schema 与规则校验;不得只保存自然语言散文;具体尺度、场景、关系和动作只对当前任务有效;不得含自动重试、Provider fallback 或自动修复字段 |
PlanValidationRecord | plan_validation_id | 计划版本、Schema 结果、事实/规则/物理/容量/差异化检查、八维具体问题 | 失败计划不可进入编译;只返回问题,不自动修复或重规划 |
CompiledPromptSnapshot | compiled_prompt_id | 完整版本链、resolved_rule_id、suite/image plan 引用、最终 Prompt、结构化输入摘要、冲突结果、编译器版本、内容签名 | 成功调用 Provider 前必须落库;不可覆盖 |
ProviderRequestSnapshot | request_id | selected_generation_model_ref、provider、model、capability_registry_version、request_schema_version、参数、输入图片引用、compiled_prompt_id | 敏感凭据不得进入快照;Provider 不得覆盖用户所选模型;V2-01 不定义自动重试或 fallback 字段 |
EvaluationRecord | evaluation_id | 结果版本、人工反馈、失败标签、采用状态、评测方案版本 | 评价不改写历史 Prompt,只作为后续版本证据 |
5. 版本命名、状态与发布规则
5.1 版本命名
| 类型 | 示例 | 规则 |
|---|---|---|
| V2 迁移 Prompt 契约 | ai-visual-prompt-contract.v2.5-candidate | 自包含字段注册表、规则定义、规划策略、PhysicalRelationPlan、运行三层边界和编译模板;候选内容变化必须升版本,生产切换另行门禁 |
| 历史迁移基线 | image-workshop-phase1.v1.2 | 只作为历史内容指纹和迁移证据;知识库仅对“一期图片工坊 Prompt”片段取指纹,后续产品知识增量不再造成假漂移 |
| 平台规则包 | commerce-image-platform-rules.v1-candidate | 未完成官方核验必须保留 candidate 成熟度 |
| 模块 Prompt | image.product-main.v1 | 单一图片任务独立升级 |
| 规划策略 | visual-planner.product-image.v2-candidate | 规划 Schema、策略或职责变化时升级;未完成真实 A/B 前保留 candidate |
| 类目策略 | product.submersible-drainage-pump.v1 | 与通用模块隔离,防止污染其他类目 |
| 编译器 | ai-visual-prompt-compiler.v1 | 编译顺序、字段矩阵、冲突策略变化时升级 |
| Provider 请求格式 | openai-images.request.v1 | 模型接口字段或适配逻辑变化时升级 |
5.2 配置状态
沿用现有 Prompt 管理的启用/停用、版本、测试、恢复和受保护软删除,不新增复杂审批生命周期。测试结果与验证状态是版本元数据,不是新的业务审批状态。
| 当前状态 | 允许动作 | 下一状态 | 说明 |
|---|---|---|---|
DRAFT | 编辑、测试、软删除 | ACTIVE / SOFT_DELETED | 不可进入正式任务编译 |
ACTIVE | 被新任务引用、测试、停用 | INACTIVE | 内容只读;修改必须创建新版本 |
INACTIVE | 查看历史、测试、重新启用 | ACTIVE / SOFT_DELETED | 新任务不可引用;启用前重新执行门禁 |
SOFT_DELETED | 受权限控制的恢复、审计查看 | INACTIVE | 不物理删除历史任务引用 |
5.3 发布门禁
- 基线完整性检查通过。
- Schema、字段矩阵、平台隔离、类目隔离和硬规则静态检查通过。
- 测试证据与待发布版本完全一致,不允许拿旧版本证据激活新内容;验证结论记录为版本元数据。
- 激活操作写审计日志,并以事务方式更新当前
ACTIVE指针;失败时保持原版本可用。 - 任何回退都只能切换新任务的当前有效指针,历史任务继续读取原快照。
6. 当前契约与历史迁移证据的完整性
6.1 已实现的工程门禁
- 完整性清单:
project-governance/ai-visual-prompt-baseline-integrity.json - 检查命令:
npm run image-prompt-baseline:check - 显式更新命令:
npm run image-prompt-baseline:update - 算法:SHA-256,同时记录文件字节数。
- 当前已实现检查范围:历史 Prompt 展示真源、图片工坊知识契约、编译器声明的迁移基线版本。
- 当前契约的版本、配置内容签名和每次最终 Prompt 的 SHA-256 必须另行进入配置发布与运行快照;不得误称现有历史基线检查已经覆盖新契约。
6.2 变更流程
- 开发先运行检查;内容漂移时立即失败。
- 不得直接运行
update消除失败。 - 先评审权威源差异,确认是否属于合法的历史迁移证据升级。
- 若是合法升级:修改权威源、升级
HistoricalBaselineEvidence.version与对应检查常量、补变更说明和回归测试。 - 再显式更新指纹并提交权威源、清单、编译器和测试证据。
- 若不是合法升级:恢复误改内容,保持原版本和原指纹。
内容指纹只解决“版本号不变但内容被修改”的治理风险,不保证 Prompt 业务质量;业务质量仍由字段矩阵、静态断言和真实出图评测共同判断。
7. 编译输入、顺序与冲突优先级
7.1 最小规划与编译请求
{
"generationMode": "suite",
"platform": "Amazon",
"site": "美国",
"language": "English",
"purpose": "listing_image_suite",
"templateSnapshotId": "tpl-snapshot-xxx",
"productInputSnapshotId": "input-snapshot-xxx",
"brandAssetAuthorizationSnapshotId": "brand-auth-empty",
"suiteId": "suite-xxx",
"blueprintUnitId": "unit-xxx",
"generationCount": 1
}
请求只提交快照引用;服务端从被确认版本读取结构化字段。generationMode=single 时可不传 suiteId 并跳过套图总导演,generationCount 允许 1–5;套图执行单元默认按蓝图数量执行,不复用该字段。禁止前端提交一段自拼完整 Prompt 或规划散文替代服务端规则与计划 Schema。
7.1.1 套图总导演运行分层(开发必读)
禁止将完整 Golden Case 复制为套图总导演 Prompt。固定策略只定义职责与约束;商品专属内容必须来自当前任务动态快照;商品专属叙事必须作为本次模型输出保存。
| 层级 | 组成 | 快照/版本要求 |
|---|---|---|
| 固定策略 | shared_planner_base_prompt + generic_suite_director_strategy | 关联 planner_key + planner_version;不得含具体商品、参数、平台、场景或案例叙事 |
| 动态任务输入 | 商品事实、类目、确认卖点、冻结蓝图、图片类型决策目标、解析后平台规则、用户特殊要求、当前可用证据 | 关联 ProductInputSnapshot + SuiteBlueprintSnapshot + ResolvedRuleSnapshot;不得从 Golden Case 或历史任务补值 |
| 结构化输出 | narrativeObjective + consistencyAnchors + unitDirectives + missingEvidence/status | 保存 SuiteVisualPlanSnapshot;只绑定当前套图,不得回写为全局默认 |
套图总导演负责从动态输入推导当前商品叙事,不接收预写死的“施工力量感”“上身效果”“成分功效”等类目专属默认目标。高层购买说服框架可以通用,但实际证据类型和表达顺序必须受冻结蓝图与图片类型目标约束。
7.2 普通套图生成流水线
本节不适用于单图编辑或模特直接生成/编辑;这两类由本文件开头合同及model-product-direct装配。
- 冻结
ProductInputSnapshot、品牌资产授权快照与当前蓝图/单图执行单元引用;普通用户输入方式不变。单图生成数量大于 1 时创建对应数量的ImageExecutionVariant。 - 确定性规则解析器读取当前完整字段契约、通用生成限制、平台规则包、模板、图片类型模块、类目策略和字段矩阵,输出
ResolvedRuleSnapshot。 - 套图任务以固定通用策略加当前任务动态快照调用套图总导演,动态输出整套叙事、覆盖、一致性和差异化分配;不得从 Golden Case 继承具体商品叙事。单图任务跳过本步。
- 普通套图按执行单元路由普通商品图规划师,输出结构化
ImageVisualPlanSnapshot;图片类型模块决定任务,不由规划师自行改类型。多结果共享事实和规则快照,但必须分别生成非空且互不相同的variant_directive。 - 计划校验器验证 Schema、事实引用、允许/禁止实体、平台和图片类型兼容、物理/使用关系、模板容量及套图差异化。失败时不进入 Provider。
- 确定性 Prompt 编译器按第 7.3 节优先级,把当前字段契约、已解析规则、模块策略、通过校验的画面计划、类目约束、套图约束和用户特殊要求编译为最终 Prompt。
- 先保存
CompiledPromptSnapshot,再由 Provider 适配器发起真实生图;图片 URL/二进制结果按任务版本保存。 - 结果侧执行确定性文件/OCR/授权/安全/已核验平台规则检查和完全相同内容指纹;视觉近重复只提示。只有用户显式操作才重生成受影响执行单元,不自动重跑任何成功图片。
7.2.1 规划输出最小 Schema
{
"imageTask": "usage_scene",
"subject": {
"productRef": "product-subject-1",
"identityAnchors": ["结构", "颜色", "材质", "关键接口"]
},
"scene": {
"environment": "与商品事实相符的专业使用环境",
"actor": "可选;仅在规则允许且任务需要时出现",
"action": "商品与环境发生可验证的使用关系",
"productRelation": "主体、工具、接触面和结果之间的空间关系"
},
"composition": {
"layout": "读取模板结构并补足主体位置与信息层级",
"camera": "景别、机位、透视和焦点",
"textPlan": []
},
"factRefs": ["fact-1", "selling-point-1"],
"allowedEntities": ["被商品资料或任务证明的商品、配件、人物和环境道具"],
"forbiddenEntities": ["未提供配件", "未证实参数", "无关 Logo", "水印"],
"ruleRefs": ["resolved-rule-xxx"],
"suiteDirectiveRef": "suite-plan-xxx/unit-directive-xxx"
}
规划模型只能输出 Schema 允许的字段。factRefs 为空的参数、配件、认证、功效、比较或数字不得进入画面计划;自由文本即使看似合理也不能绕过该规则。
7.3 冲突优先级
品牌/肖像/内容授权与法律合规 > 平台硬规则 > 商品事实/身份 > 模板锁定项 > 图片类型任务 > 目标用户/卖点 > 用户特殊要求
| 冲突类型 | 处理方式 | 是否调用模型 |
|---|---|---|
| 用户要求、参考图或兼容性事实包含未授权第三方 Logo/图标 | 保留已核实的中性兼容文字,移除官方视觉资产并记录命中规则;若用户强制要求则阻止 | 否 |
| 用户要求与平台硬规则冲突 | 返回结构化冲突,说明不可执行项 | 否 |
| 卖点与商品资料矛盾 | 阻止编译,要求重新确认事实/卖点 | 否 |
| 模板锁定项与图片类型不兼容 | 阻止蓝图确认或要求更换模板 | 否 |
| 规划输出缺字段、越过规则或引用不存在事实 | 当前计划失败并返回具体字段/规则/事实问题;用户修正或主动重新生成时创建新任务 | 否 |
| 套图总导演与用户确认蓝图的类型、数量或顺序不一致 | 拒绝计划;总导演只能分配表达任务,不能改蓝图结构 | 否 |
| 特殊要求缺失 | 注入“未提供额外要求,不自行推断” | 是 |
| 目标用户缺失 | 相关字段留空,不猜测 | 是 |
| 类目无法可靠识别 | 不注入类目策略,并记录 category_policy_skipped | 是 |
| 平台规则仅为候选 | 记录成熟度;不得伪装成官方硬阻断 | 视当前产品配置 |
7.4 平台规则包契约
当前验证规则包为 commerce-image-platform-rules.v1-candidate。每个规则项必须保存 platform、site、purpose、version、maturity、verification_status 和 source_refs。未完成官方核验的内容必须保持候选标识,不能在界面或日志中显示为“官方规则已确认”。
商品主图背景由模板保存以下模式之一:
| 模式 | 含义 | 编译行为 |
|---|---|---|
white | 模板明确要求白底 | 注入白底约束,但仍需校验平台/用途是否允许 |
template | 使用模板定义的背景和版式 | 注入模板背景,不读取其他平台默认值 |
platform | 按平台规则包解析 | Amazon 美国站可解析为白底;其他平台读取自己的规则,严禁注入 Amazon 默认纯白 |
规则包升级形成新版本;历史任务只读取当次 PlatformRulePack 快照,不读取当前有效规则。
7.5 最终 Prompt 输出骨架
编译器输出顺序必须稳定,便于快照比较和自动断言:
本节只定义治理层骨架。开发所需变量定义、三个规划策略 Prompt、JSON Schema、去重算法和 Shopee/Amazon/套图完整示例见 visual-planner-prompt-spec.md。
role_context:当前图片规划角色与职责边界
task_context:平台、站点、语言、用途、图片类型与当前执行单元任务
platform_strategy:仅当前 platform / site / purpose 命中的平台政策
image_specification:模板比例、尺寸、背景模式、外框、文字区和 Provider 已验证能力
module_strategy:当前 image_type 的唯一信息任务、必需事实和禁止消费字段
product_truth:当前图片类型允许消费的商品图片角色、商品事实、卖点、受众、尺寸、比较和包装事实
suite_directive:当前套图一致性锚点与该执行单元差异化任务;单图省略
model_directive:模特身份、姿势、授权和商品关系;非模特图省略
visual_strategy:通过校验的主体、场景、动作、构图、镜头、空间关系和允许/禁止实体
category_policy:可靠匹配且当前图片任务需要的类目片段;否则省略
text_plan:只含已确认事实和指定语言;无文字任务省略
user_requirement:用户本次特殊输入原意;空值省略,不推断新要求
generation_rules:商品一致性、防编造、完整清晰、物理真实、文字、内容洁净与电商可用限制,完整渲染一次
完整变量定义、空值处理、字段消费和示例以 visual-planner-prompt-spec.md v2.5-candidate 为准。版本链、Provider、模型参数、规则来源和指纹只写入 CompiledPromptSnapshot,不占用发送给图片模型的自然语言 Prompt。
图片来源入口名称(本地上传、Listing 图片、产品系统图片)不进入 Prompt;只将被确认的商品图片作为模型输入引用。图片质量、格式、模型质量档位等优先使用 Provider 参数控制,Prompt 保留人类可读的业务约束,不重复堆叠接口参数。
8. 字段消费矩阵
| 图片类型 | 商品图 | 商品资料 | 全部确认卖点 | 当前唯一卖点 | 目标用户 | 特殊要求 | 说明 |
|---|---|---|---|---|---|---|---|
| 商品主图 | 是 | 是 | 是 | 否 | 是(有可靠来源时) | 是 | 背景读取模板/平台模式;不得跨平台强制白底 |
| 尺寸/容量/尺码图 | 是 | 仅明确规格 | 否 | 否 | 否 | 是 | 不用营销卖点污染规格信息 |
| 核心卖点图 | 是 | 是 | 否 | 是 | 是(相关时) | 是 | 一张图只负责一个确认卖点 |
| 商品细节图/特写图 | 是 | 是 | 是 | 否 | 否 | 是 | 只消费已确认材质、结构、工艺或功能细节 |
| 效果对比图 | 是 | 是 | 是 | 可选 | 是(有可靠来源时) | 是 | 无事实依据不生成数字对比 |
| 使用场景图 | 是 | 是 | 是 | 可选 | 是(有可靠来源时) | 是 | 场景必须解释真实使用关系 |
| 多角度图 | 是 | 是 | 否 | 否 | 否 | 是 | 不补造参考图未展示的结构 |
| 场景氛围图 | 是 | 是 | 是 | 可选 | 是(有可靠来源时) | 是 | 氛围不能替代商品识别 |
| 详细规格/参数表 | 是 | 仅明确参数 | 否 | 否 | 否 | 是 | 不补齐常见参数或认证 |
字段矩阵是回归契约。新增图片类型必须先定义消费矩阵,不得默认把全部字段机械塞入所有模块。
9. 套图编排与槽位边界
“套图内容编排”把多张独立图片组织成购买叙事,而不是生成一张“总详情图”:识别商品 → 解释价值 → 展示使用关系/证据 → 补充尺寸和规格。
| 阶段 | 系统允许行为 | 用户允许行为 | 冻结规则 |
|---|---|---|---|
| 商品库卖点 | 原文逐条载入 | 增删改、左侧下一步 | 不调用 Planner |
| 蓝图派生 | 按模板与确认卖点展开图片类型;一卖点一图 | 预览 | 只生成候选蓝图 |
| 蓝图确认前 | 只按模板、图片类型和确认卖点确定性派生业务预览;不调用套图总导演或逐图 Planner | 在模板开放边界复制、删除、排序、换版式 | 结构变化只重新派生当前未提交预览,不存在计划失效或 Planner 历史 |
| 用户点击右侧“生成” | 冻结商品、模板、预览和用户所选图片模型;解析规则后调用总导演与逐图规划师 | 一次提交生成 | 冻结执行单元、ResolvedRuleSnapshot、SuiteVisualPlanSnapshot 与逐图计划 |
| P-VIS-WORKSHOP 生成中 | 启动、失败结果展示、渐进展示 | 查看状态 | 当前页无终止入口,不自动重试 |
| 结果编辑 | 生成结果新版本 | 编辑、换场景/风格、采用版本 | 单图编辑无重新生成工具;原图和旧版本保留 |
单图没有槽位限制。套图槽位是多图执行容器,不是画面构图限制;模板可约束该执行单元的图片类型、数量边界、比例和可调范围,但不能删除当前图片类型需要的业务字段。
套图与单图共用普通商品图规划师和最终编译器,但调用上下文不同:单图只读取当前任务与图片类型;套图必须额外读取套图总导演对当前执行单元的分配。一个任务生成 1–5 套时,每套形成独立 SuiteVisualPlanSnapshot;跨套差异化检查可比较签名,但不得让一套的商品、卖点或人工调整污染另一套。
卖点删除的即时联动继续遵守 BF-069:未提交预览中删除对应卖点执行单元,不重新整理卖点,也不调用 Planner。补充或修改卖点、变更模板/图片类型/顺序时只重新确定性派生受影响预览。已提交批次和历史计划快照不回写。
10. 编译结果与运行快照
编译成功必须先持久化再调用模型,至少包含:
{
"compiledPromptId": "cp-xxx",
"compilerVersion": "ai-visual-prompt-compiler.v1",
"promptContract": {
"version": "ai-visual-prompt-contract.v2.5-candidate",
"contentSha256": "..."
},
"historicalMigrationEvidence": {
"version": "image-workshop-phase1.v1.2",
"fingerprintManifest": "ai-visual-prompt-baseline-integrity.json",
"renderedToModel": false
},
"platformRulePack": "commerce-image-platform-rules.v1-candidate",
"templateVersion": "template-id@v3",
"modulePrompt": "image.product-main.v1",
"planner": {
"plannerKey": "visual-planner.product-image.v2-candidate",
"resolvedRuleId": "resolved-rule-xxx",
"suitePlanId": "suite-plan-xxx",
"imagePlanId": "image-plan-xxx",
"planValidationId": "plan-validation-xxx"
},
"categoryPolicy": null,
"inputSnapshotId": "input-snapshot-xxx",
"blueprintUnitId": "unit-xxx",
"finalPrompt": "...",
"promptSha256": "...",
"conflicts": [],
"compiledAt": "ISO-8601"
}
安全要求:API Key、访问令牌、原始二进制图片和无需审计的个人敏感信息不得写入 Prompt 快照或日志。图片只保存受控对象引用和必要摘要;访问按店铺/工作空间数据权限校验。
11. Provider 适配、幂等与异常处理
| 场景 | 处理规则 | 用户结果 | 审计要求 |
|---|---|---|---|
| 正常调用 | 由适配器转换模型参数并绑定编译快照 | 渐进展示处理中与完成结果 | 记录 provider/model/request schema/request id |
| Provider 不支持参数 | 适配器返回 UNSUPPORTED_PARAMETER,不得静默删除影响语义的参数 | 显示具体不支持项和输入调整入口 | 记录不支持字段与模型版本;不自动换模型或创建调用 |
| 请求超时且结果未知 | 标记 OUTCOME_UNKNOWN,先查询/对账再重提 | 显示“结果确认中”,禁止连续重复点击 | 保留 provider request id |
| 明确失败 | 返回具体错误类别和受影响单元 | 提供输入修改或用户主动重新生成入口 | 当前任务不自动创建新请求或付费调用 |
| 部分套图成功 | 成功图片保留,失败单元返回具体问题 | 显示完成/失败范围,可下载已有合格结果;用户可主动新生成失败单元 | 不自动重跑任何单元 |
| 用户终止 | 终止未提交或 Provider 支持取消的任务;无法取消时标记待对账 | 明确哪些已终止、哪些仍可能返回 | 记录操作者、时间和 Provider 能力 |
| 当前 Prompt 失效 | 新任务回退最后验证的当前契约版本,再回退受保护的内置当前版本 | 显示使用了回退版本;不可空 Prompt 调用 | 记录回退链和原因 |
| 规划模型超时/格式错误 | 保留规则与输入快照;当前调用失败,不创建图片调用 | 显示“方案生成失败”和具体错误;用户可主动重新生成 | 记录 planner_key/version、错误码和原始响应摘要;无重试计数器 |
| 规划结果违反硬规则 | 校验器阻止编译;不允许编译器为了成功而静默删除规则 | 返回可操作的商品事实、模板或规则冲突 | 保存违反的 rule_id、fact_ref 和计划版本 |
| 规划服务不可用 | 当前新任务返回服务不可用;生产版本回滚只能由治理流程执行 | 显示暂不可生成 | 禁止单任务静默切旧 Planner、空计划或临时自由 Prompt 调用 Provider |
幂等键建议:task_id + unit_id + compiled_prompt_id + request_id。同一请求不得重复扣费调用;OUTCOME_UNKNOWN 未对账前不得创建新请求。用户主动重新生成必须创建新任务/新快照,而不是递增 Planner 内部重试计数。
12. 权限与审计
| 角色 | 查看 | 编辑/测试 | 激活/停用 | 回退 | 查看完整 Prompt |
|---|---|---|---|---|---|
| 运营 | 自己有权限的业务输入、蓝图、结果和业务异常 | 修改模板开放字段、发起生成 | 否 | 否 | 否 |
| 管理者/Prompt 管理权限 | Prompt 版本、Schema、测试结果、回退关系 | 新建草稿、编辑、测试 | 按既有功能权限 | 按既有功能权限 | 是 |
| 开发/算法 | 编译日志、结构化快照、适配错误 | 开发环境测试 | 不直接绕过业务权限激活 | 通过受控流程 | 按环境和数据权限 |
| 审计/管理员 | 版本链、操作日志、回退记录 | 否 | 否 | 否 | 只读且脱敏 |
审计日志至少记录:操作人、时间、对象类型/ID、旧状态、新状态、版本、变更说明、测试证据引用、激活/停用/回退原因。不得记录 API Key。
13. 测试体系与验收标准
13.1 当前必须完成的自动检查
| 检查项 | 输入 | 预期结果 |
|---|---|---|
| 基线完整性 | 当前权威源、清单、编译器版本 | SHA-256、字节数和版本一致 |
| 七层结构 | 每种图片类型编译结果 | 七层全部存在 |
| 完整字段矩阵 | 主图、卖点、特写、尺寸、对比、场景、多角度、氛围、参数、模特和编辑类任务 | 所需字段保留;不相关字段隔离;用户特殊输入有值时不丢失 |
| 最终稳定章节 | 每种图片类型编译结果 | 必需章节存在;条件章节只在命中时出现;generation_rules 完整且仅出现一次 |
| 平台隔离 | Amazon 与至少一个非 Amazon 平台 | 非 Amazon 不出现 Amazon 白底指令 |
| 规则解析确定性 | 同一版本链与输入重复解析 | ResolvedRuleSnapshot 内容签名一致;规划师不能增删适用规则 |
| 规划路由 | 单图、普通商品套图、模特商品图 | 单图跳过总导演;普通/模特执行单元分别命中对应 planner_key |
| 计划 Schema 与事实引用 | 有效/缺字段/虚构配件/无 factRef 参数 | 只有有效计划可编译;虚构实体和无依据数字被阻止 |
| 套图总导演边界 | 模板类型、数量、顺序与多套蓝图 | 只分配叙事和差异化,不修改蓝图结构;每套计划独立冻结 |
| 卖点展开 | 多条确认卖点 | 一卖点一图,不合并、不遗漏 |
| 类目隔离 | 水泵与非水泵商品 | 水泵策略不污染其他类目 |
| 防编造底线 | 全部模块 | 未提供的参数、认证、配件、效果不得进入 Prompt |
| 第三方品牌资产 | 无授权、部分授权、参考图含 Logo、仅声明兼容 | 默认禁止第三方 Logo/系统/应用/浏览器图标;兼容性仅用已核实中性文字;只放行白名单内指定资产 |
| 单图多结果 | 生成数量 1、2、5 及越界值 | 1–5 才可创建;2–5 个结果具有独立 variant_index 和差异化指令,共享事实与硬规则但最终 Prompt 不完全相同 |
| 用户特殊要求 | 有值/空值 | 有值保留;空值不自行推断业务目标 |
| 缺失事实门禁 | 尺寸缺失、比较事实缺失、未知配件外观 | 仅阻断受影响执行单元;不得猜测,也不得让整套无差别失败;多角度参考不足不增加专门阻断或人工核对门禁 |
| 变体解析 | 多颜色、多规格、多套装与图文冲突 | 当前任务只消费已确认/可靠解析的变体;其他变体进入排除集合 |
| 物理尺度 | 手持工具、桌面器皿、大件家居等异质商品 | 视觉突出与物理尺寸分开;精确关系必须引用当前证据,替换商品后不得残留 |
| 场景证据 | 用户场景参考、模板/类目场景与 Planner 默认建议 | 当前用户证据按作用域消费并优先于装饰性补全;不复制参考人物和其他商品,不污染下一任务 |
| Gesture Plan | 托示、握持、轻触与 point | 每只交互手分别输出目标、方向、接触、距离、遮挡、物理约束和 fallback;point 射线必须与目标相交 |
| PhysicalRelationPlan | 安装、连接、承重、运动、输出与功能作用图 | 主体、载体、连接点、朝向、作用起点、作用路径、作用对象和证据齐全;编译后不得丢失或泛化 |
| 相机/比例/效果约束 | 复杂关系商品图 | 镜头可见性、比例范围和功能效果起点/路径/目标分别可检验;不能用视觉突出替代尺度或遮挡错误关系 |
| 结果分项验收 | 生成结果 | 商品身份、比例、安装、朝向、效果起点、效果路径、人物解剖和遮挡独立记录;只返回实际不合格项,不自动重试、换模型、修复或付费调用 |
| 快照不可变 | 激活后修改配置 | 历史任务仍返回原版本链与最终 Prompt |
| 回退 | 当前版本不可用 | 新任务使用最后验证版本;不空调用 |
13.2 开发交付验收
npm run image-prompt-baseline:check成功。npm run image-prompt-lab:check成功。- 每次图片调用均可从结果追溯到
CompiledPromptSnapshot和完整版本链。 - 每次图片调用均可追溯到
ResolvedRuleSnapshot和ImageVisualPlanSnapshot;套图还必须追溯到SuiteVisualPlanSnapshot。 - 前端无法提交完整系统 Prompt 或自由规划散文覆盖服务端规则、计划和编译结果。
- 历史任务在规则、规划策略、模板或模型升级后仍展示原快照与原结果版本。
- 配置激活/停用/回退有权限校验和审计记录。
- 发生冲突、规划失败、超时、未知结果、部分失败、终止和发布版本回滚时符合第 11 节处理规则;当前任务失败只返回问题,用户主动重新生成创建新任务。
prompt-example-shopee-rotary-hammer-suite.md只作为exampleOnlyGolden Case,其字段、14 个执行单元、阻断状态和逐图编译断言全部通过;不得把该文件复制为套图总导演固定 Prompt,也不得把整套计划一次性作为一条图片模型 Prompt。- 无品牌授权的兼容性案例不得生成 Apple、Windows、Chrome、Edge、Opera 等官方 Logo/图标;只有授权快照中明确列出的资产可以放行且全程可追溯。
- 单图片类型生成 2–5 张时可追溯每个变体计划、最终 Prompt、状态和结果;失败不会自动重跑,用户主动重新生成只创建所选范围的新任务。
- 固定套图总导演策略通过专属词污染检查,不包含电锤、施工、1400W、Shopee Malaysia 等当前 Golden Case 内容;工具、服饰、护肤/美妆、家居/家电至少各有一个结构化隔离样例,真实效果结论另走 A/B。
prompt-example-model-product-cross-category-validation.md只作为exampleOnly / interactiveCandidate:电磨和抹茶的商品词、比例、颜色、套装和场景不得进入固定策略;该 Session 证据不冒充指定 Provider A/B。
13.3 质量结论边界
当前方案满足“可管理、可审计、可回退、可验证”的工程管理要求,并可作为开发实现基线。但在延期事项完成前,只能标记为“开发交付版/效果候选”,不得标记为“生产质量已全面确认”。
14. 历史任务与迁移策略
| 数据情况 | 处理方式 |
|---|---|
| 一期历史单图只有 Prompt 文本 | 保留原记录;可标记 legacy_unversioned,不反推不存在的版本链 |
| 当前契约上线前测试任务 | 若缺完整快照,仅用于测试证据,不迁移成生产任务 |
| 新功能上线后任务 | 强制保存版本链、最终 Prompt 指纹和 Provider 请求快照 |
| 规划服务上线前历史任务 | 保留原 Prompt/模板/输入记录,标记 legacy_without_visual_plan;不得反推伪造画面计划 |
| 规则升级 | 不批量重写历史任务;新任务读取新的 ACTIVE 指针 |
| 回退 | 只切换新任务当前有效版本;历史任务保持原引用 |
不得通过脚本猜测历史任务当时使用的平台规则、模型参数或完整 Prompt。缺少证据就明确标为历史不可还原。
15. 本期延期待办
详细台账见 project-governance/ai-visual-prompt-backlog.md。以下事项已登记,但本期暂不处理,也不纳入本次开发交付验收:
| 待办 ID | 事项 | 本期处理 | 对当前交付的影响 |
|---|---|---|---|
PROMPT-TODO-001 | 逐平台官方来源、适用站点和生效日期核验 | 延期 | 候选规则不得宣称官方已确认 |
PROMPT-TODO-002 | 服饰、家具、美妆、汽配等跨类目标准测试集 | 延期;已有微型工具与抹茶套装 Session 交互候选证据 | 不得用电锤、水泵、电磨或抹茶任一样本代表全部类目;现有证据不是受控 A/B |
PROMPT-TODO-003 | GPT Image 2、Seedream 等同输入遵循率对照 | 延期 | 不得宣称某模型普遍最优 |
PROMPT-TODO-004 | 复杂空间/物理关系自动结果检测 | 延期 | 当前只输出分项验收条件并接受用户反馈;不建立自动质量门禁,不因多角度参考不足增加人工交付门禁 |
PROMPT-TODO-005 | 图片文字检查与近重复提示实现验证 | 延期 | 不设 AI 质量阈值,不建设自动质量修复或近重复自动重试 |
16. 开发实施顺序
| 顺序 | 任务 | 完成定义 |
|---|---|---|
| 1 | 接入当前契约签名与历史迁移证据指纹检查 | 本地与 CI 均能阻止内容漂移,且两类证据不混为运行输入 |
| 2 | 建立配置对象与版本状态 | 当前契约、规则包、模块、类目策略可独立版本化 |
| 3 | 实现规则解析器与 ResolvedRuleSnapshot | 图片类型 × 平台 × 模板 × 类目 × 品牌资产授权规则显式选择且可复现 |
| 4 | 实现三类规划策略与 Schema | 套图总导演、普通商品图、模特商品图可独立版本和测试 |
| 5 | 实现计划校验与具体问题返回 | 虚构事实、规则冲突、物理关系和套图容量问题在 Provider 前阻断;不自动重规划 |
| 6 | 实现服务端编译器 | 按顺序合并、字段隔离、冲突检测,输出不可变快照;单图多结果逐变体编译且不重复同一 Prompt |
| 7 | 接入模板与商品快照 | 任务不读取可变当前值 |
| 8 | 实现 Provider 适配边界 | 统一错误、幂等和未知结果对账;V2-01 不定义自动调用、重试或 fallback |
| 9 | 接入任务/结果版本 | 单元级生成、终止、用户主动重新生成、编辑版本和部分成功 |
| 10 | 完成权限审计 | Prompt 管理、规划版本、激活、停用和回退可追溯 |
| 11 | 自动测试、真实 A/B 与开发验收 | 第 13 节当前门禁全部通过;规划版真实出图不劣于当前生产基线后才替换 |
17. 开发交付清单
- 数据表/配置 Schema 与迁移脚本。
- Prompt 编译服务及字段矩阵测试。
- 确定性规则解析服务、三类规划策略、规划 Schema 与计划校验服务。
visual-planner-prompt-spec.mdv2.5-candidate 中完整字段注册表、通用限制、平台政策、图片类型矩阵、变体/尺度/场景证据、PhysicalRelationPlan、Gesture Plan、相机可行性、比例/功能效果约束、第三方品牌授权与单图多结果契约、三个planner_key、布局软约束口径、运行三层边界、共享基础 Prompt 和最终编译模板。prompt-example-shopee-rotary-hammer-suite.md中仅用于联调的电锤 Golden Case、14 单元蓝图、动态请求快照、逐图指令、缺失事实阻断和测试断言;不得复制为运行时固定策略。prompt-example-model-product-cross-category-validation.md中仅用于回归的微型工具/抹茶交互候选、失败标签、修订计划和污染断言;不得复制为固定模特商品图 Prompt,也不得冒充指定 Provider A/B。- 套图/逐图计划快照、规划失败具体问题、用户主动重新生成的新任务关联和历史无计划标记。
- 基线指纹检查并纳入 CI。
- 平台、模板、模块、类目、输入和运行快照读取接口。
- Provider 适配、幂等、终止、未知结果对账、用户主动重新生成和发布版本回滚的具体实现(由下游专题决定,不得改写 V2-01 无自动重试边界)。
- Prompt 管理既有权限下的版本、测试、启停、恢复能力。
- 审计日志与脱敏策略。
- 自动检查报告、已知限制和延期待办引用。
- 不包含:延期项的实现、正式生产质量结论、对历史迁移证据的未经确认改写。