Appearance
Brief → Prompt 编排字段
状态:字段已在 schema 里,自动编排未实现。 自动注入(Brand Kit / 尺寸 / 面板 / 禁用项)与"禁用项命中即阻断"属 P1-07(规划文件 workers/ai/src/prompt-composer.ts,尚不存在)与 P3-03。 今天验证工作台里的提示词是人在页面上写的(docs/demo/app.mjs 的 #prompt),再随选区一起导出成任务。
编排输入:这些字段就是 prompt 的槽位
| 槽位 | 来源字段 | 用法 |
|---|---|---|
| 产品 / 品牌 / 风格 | projectSchema.brief.product / .brand / .style | 一句话定位 + 调性;referenceAssetIds[] 指向参考图素材 |
| 主色 / 专色 | brandTokens.colors[].color(可为 spot) | 写进 prompt 时用色名 + CMYK 值,不要贴预览 RGB 让客户验收 |
| 字体 | brandTokens.fontIds[] | prompt 里只描述"字体气质";真实文字之后重建为 TextLayer(见 硬规则) |
| Logo | brandTokens.logoAssetIds[] | 只作构图参考,禁止让模型重画品牌字 |
| 禁用项 | brandTokens.forbidden[](kind: word | color | asset | claim) | 生成前应当阻断;阻断逻辑未实现,所以现在靠人工核对 + 事后 review |
| 固定文案 | brandTokens.fixedCopy[] | 法规字段/净含量等,AI 不得改写;最终必须是真实文字层 |
| 盒型与尺寸 | dieline.paramsMm(W/H/D/glueMm) | prompt 必须写 mm 与盒型名 |
| 面板与可用区 | mappings[].dielineRectMm、图层的 panelId | 说清"只改 front 主视觉区",配合选区/遮罩 |
| 出血与安全区 | bleed、safeAreaInsetMm | 提示"重要元素不进出安全区",实际约束靠排版阶段 |
| 可复现性 | provenance.promptVersion、provenance.mode、aiEdits[].prompt | 记录用了哪版 prompt、是整图还是局部;check.mjs 会盯住示例结构 |
手工模板(当前唯一可用流程)
text
【任务】只修改 <面板名>(<宽>×<高> mm)中的 <对象>,其余像素保持不变。
【产品】<brief.product>
【品牌】<brief.brand>;调性 <brief.style>
【盒型】rectangular 四摇盖胶封盒,内空 <W>×<H>×<D> mm,胶舌 <G> mm
【主色】<color name>(CMYK c/m/y/k),<专色名 或 "无专色">
【参考】编号 <as_xxx>,已圈选:<选区 bounds 或 "全图">
【禁用】词:<forbidden word...>;色:<...>;宣称:<...>(命中即停止,交人工)
【不得改动】品牌字 / 条码 / 法规文案 / 净含量 —— 这些之后由人工重建为真实图层
【输出】PNG,<宽>×<高> px,正视角,无附加水印
【验收】选区外像素必须为 0 改动;目标区域目视确认;品牌笔画不保证逐像素一致模板本身不在代码里,是团队约定;等 P1-07 落地后由 composer 从 Design JSON 自动生成并做黄金 prompt 快照测试。
提示词写法(这个仓库踩过的经验)
- 只写一个改动点。两次实测通过的指令都是"只把 X 改成 Y,保留 A/B/C"这种单目标句式:
仅将右侧酒瓶瓶身改为钴蓝色,保留金色瓶盖、标签、左侧礼盒和背景、仅将右上方主图礼盒的深棕底材改成午夜蓝,保留金色浮雕、文字和其他区域。 - 保留清单要具体到材质("金色浮雕""标签""左侧礼盒"),不要写"其他不变"四个字了事。
- 不要要求文字。图内文字最终必须重建(红线 4);要改文案就先让模型"保留原文字区域",之后用文字层覆盖。
- 给面板与 mm 语境,避免模型按 1:1 方形构图(展开图是 435×350 这类非方形比例)。
- 禁用项写进任务文件,让人和后续自动化都能看到;
claim(功效宣称)一类要连原因一起写note。 - 一次一个方向。ADR-0004 的节奏是探索期并行 4–8 个方向、定稿后切高质量模型做品牌细节与局部编辑; 本机并发先按 1–2 路串行错峰设计(
PE-10未做常驻优化前,每次约 10 s 模型载入是主要浪费)。
成本与时延口径(写报告必须遵守)
- 验收口径是"60 秒内拿到多方向",度量方式是从提交到首张可用的 p50/p95(墙钟,含排队), 见
workers/ai/src/providers.py的BenchmarkReport(first_usable_p50_s/wall_to_count_p50_s)。 - 每条
GenResult必须带provider;stub 的数字禁止写进体验验收,本地与 API 数字必须标 provider。 - 金额未知就写未知:内置 image-gen 未返回计费 →
costUsd: null+ 备注,不填 0; OpenAI 适配器保留原始usage/request_id,金额待账单核对。 - 生成式 AI 的合规标识落在
provenance.aiGenerated/provenance.labeled(P3-07), 对外发布前必须显式标注 AI 参与,这一条在docs/ROADMAP.md被列为国内硬门槛。