# 核销表 · P0 卖点三套来源(通用化根基) > 90分级验收(孙总方法论·硬门禁)。倩倩姐2026-06-15拍板:先打 P0。 > **标绿门槛=北哥真实数据端到端跑通**(倍分子素颜霜膏霜罐真图 + 文案3.txt真卖点),占位数据自测只能标🟡。 > **绝不信AI第一遍自评,必独立交叉核对。** ## 模块目标(倩倩姐纠偏后的正确方向) 系统是**通用**的,产品靠**上传才有**,不内置写死任何产品。卖点支持**三套来源**(产品包本来就有,Clover重写时漏了套1、套2字段缺口): - **套1 从产品图片提取**(Gemini Vision 读图→卖点/人群/成分/视觉系统)——❌ Clover完全缺失,本轮补 - **套2 用户上传填写**(北哥文案3.txt就是这套真实输入)——⚠️ brand_keyword/人群字段没暴露在API,本轮补 - **套3 产品库内置**(fallback模板)——⚠️ 留口即可,本轮不重点做 ## 🔴 已确认的现状(调研+亲读源码,不是猜) | 项 | 现状 | 文件:行 | |---|------|---------| | 主流程是否写死素颜霜 | **没有**,文案/生图prompt都从products表动态读 | `_text_prompt.py:126` / `pipeline_steps.py:58` | | brand_keyword 字段 | model有,**API全链路没暴露**(DTO/fmt/create/update都没有) | `product.py:41` vs `products.py:24-128` | | target_audience 人群 | **字段不存在**,但storyboard在读(`product.get("target_audience")`恒空) | `storyboard.py:52` | | 套1图片提取 | **完全没有**,gemini_factory只有生图无vision读图 | `gemini_factory.py` 全文 | | 标题公式 | **已做**(肤质/价格/功效/夸张/标题党5型) | `_text_prompt.py:84-93` | ## 验收清单(做完一个勾一个,先全列再做) > 状态图例:⬜未开始 / 🟡占位数据自测通过 / ✅北哥真实数据端到端通过 ### 套2 字段暴露(改API,model已有brand_keyword无需迁移;人群需迁移) - ✅ **AC1**〔auto〕迁移012:products表加 `target_audience VARCHAR(128)`。**team-lead独立核对容器DB:SHOW COLUMNS确认brand_keyword varchar64/target_audience varchar128,alembic current=012(head)** - ✅ **AC2**〔auto〕ProductCreate DTO 暴露 `brand_keyword` + `target_audience`;POST/PUT 写入;`_fmt_product` 返回。**实证INSERT/UPDATE语句含两列** - ✅ **AC3**〔auto〕`build_product_dict` 透传 `target_audience`(pipeline_steps.py:68)。**实证dict透传人群='黄黑皮想素颜的女生'品牌='倍分子'非空** - ✅ **AC4**〔auto〕建产品→回读三字段都在。**team-lead独立跑通PASS(非采信coder自评)** > 🔴 交叉验证发现:coder自评"测试产品已清理无残留"是**假的**,DB残留id=3,team-lead已删。印证「绝不信第一遍自评」。 > 附带:已修复product_id=1(真实素颜霜)真实数据:5条真实卖点+人群(黄黑皮想素颜的女生)+品牌(倍分子),为AC9铺路。 ### 套1 图片提取(新增vision,对齐产品包callGeminiVision) - ✅ **AC5**〔auto〕gemini_factory 新增 vision 读图方法(传产品图bytes→返回结构化分析),模型走最强档不降级。**team-lead独立交叉核验:签名正确,model默认claude-opus-4-8无硬编码sonnet,import无报错** - ✅ **AC6**〔auto〕新增 analyze-product 接口:上传产品图 → 返回 {productName,sellingPoints,targetAudience,category,...}。**team-lead独立真跑核验(非采信coder):IMG_9454真图跑通,source=vision,4条sellingPoints非空,结构完整,key链路走用户key,finally有aclose,fallback存在。⚠️更正coder虚标:coder报conf=0.85,实测conf=0.4、productName空——vision诚实承认包装无字未瞎编(prompt'不沿用历史/不默认护肤品'生效,系统通用化方向对)。** - ⬜ **AC7**〔human〕真实膏霜罐图(IMG_9439)提取:跑analyze → 卖点/人群合理(非乱编),倩倩姐认可。 ### 标题公式核对(已做,核对措辞贴北哥) - ⬜ **AC8**〔human〕核对`_TITLE_FORMULA`5型措辞,对齐北哥例"黄皮素颜霜天花板!伪素颜焊在脸上"风格。 ### 端到端真绿门槛(最高优先) - ✅ **AC9**〔human·最小闭环已过〕真实数据全链路真跑通(task61,team-lead亲眼核对非采信状态码):真膏霜罐图(IMG_9454)+真卖点(烟酰胺/水解珍珠/角鲨烷)+真人群(黄黑皮)+品牌(倍分子) → 出1文1图。**逐项核对**:①链路打通登录态→选品→文案→配图→pending_selection ✅ ②产品形态对(白磨砂罐非透明瓶)✅ ③背景无笔记本串味(新加负向约束⑤生效)✅ ④卖点真实(奶油质地/烟酰胺改善暗沉)✅ ⑤文案"倍分子"植入正确+banned_word=pass ✅ ⑥去AI化排版到位(中文标题清晰+emoji+卡点)✅。**认知纠正**:瓶身只印"素颜霜"=正确(瓶身=产品本身忠于参考图,品牌词进文案+图片文字层不P瓶身,倩倩姐2026-06-15拍板)。品牌词进生图特写图(第2/6张)需扩多图才能验,最小闭环只跑hook封面属正常。北哥最终认可待扩3套后整体过目。 ## 待倩倩姐批次确认(攒批集中问,不一条条点) - ✅合格线 80(倩倩姐2026-06-15二次拍板,coder擅改85已驳回改回80,落盘CLAUDE.md) - ✅vision 走 GPT 现有通道最强档,不补 GEMINI_KEY - ✅成分不单列字段,并入 selling_points ## 🔴 AC9 端到端真绿素材(北哥真实数据,已确认产品形态) 真身=**透明玻璃膏霜罐+白色磨砂拉丝盖+金边**,印"倍分子焕颜沁透水润/素颜霜/SKIN CREAM"。**与之前占位透明长瓶+木盖完全不同,task58/60产品形态全错**。 - **生图参考图首选**:`客户资料-北哥/素颜霜素材图/原图/IMG_9454.JPG`(单手持单罐,正面文字最清晰,形态完整) - 质地近景实拍:`原图/IMG_9444.JPG`(手臂白色膏体涂抹,对应北哥"质地近景/涂抹过程") - 双罐展示:IMG_9439/9441 - 套2真实输入(来自文案3.txt):品牌词=倍分子;产品名=素颜霜;卖点(并入selling_points)=烟酰胺改善暗沉提亮/水解珍珠锁水匀肤/角鲨烷裸妆奶油肌不卡纹/伪素颜不假白/洗面奶可卸;人群target_audience=黄黑皮;合规红线=禁美白祛斑速效,用提亮/自然/伪素颜