将 Clover 从上层产品包旧仓库中独立出来,建立专属版本控制。 当前状态=纵切片端到端已打通(登录→选品→出文出图→审核→下载包), M1文案质量去套路化已验收。此提交作为后续按核销清单逐条修复的基线。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
15 KiB
俊达产品 → Clover 增量落地映射(对照代码版)
2026-06-15 落盘。来源:俊达万牛会分享(PPT 31页《电商XAI·一家小公司的探索》+ 现场演示视频2段 + 倩倩/俊达口述全文稿)。 目的:把俊达那套小红书电商全链路AI系统里值得借鉴的增量,逐条对照 Clover 现有代码拆到「动哪个文件、加哪张表、改哪个函数」,开工直接照做。 对齐基准:Clover 走 13环目标导向(见
plans/13环目标导向-修改验收总纲.md),当前 P0 修第5/6环、P2 等北哥给定义。本文增量全部挂到 13 环语言下,不另起炉灶。 代码事实底座:勘验于 2026-06-15,backend 迁移已到 011,6容器可跑通(task41 端到端 312s 成功)。
〇、一句话结论(先看这个)
俊达和 Clover 是同构但错位:俊达铺的是全链路广度(内容+客服+企微+ERP+投放闭环+AI做产品),Clover 扎的是内容生产单点深度(尤其生图工程化,比俊达展示的更细)。 所以借鉴 = 用俊达的广度,补 Clover 深度之外的空白,不是照抄。
经代码核实后,真正的增量只有 4 个(按 ROI 排序):
| 优先级 | 增量 | Clover 现状 | 落到 13 环 | 建议窗口 |
|---|---|---|---|---|
| ⭐P0-轻 | 改稿 diff 作飞轮最强信号 | 🔴 缺:飞轮缺这一路信号 | 增强第8环审核回路 | 一期 1B 可补 |
| ⭐P1 | 爆款拆解中心(产品化) | 🟡 表建了没接线 | 第11环裂变的「前置入口」 | 一期可补 |
| P2 | 素材资产化 + 效果评级库 | 🔴 完全没有 | 第12环归档的「升级版」 | 留二期 |
| P3 | 提示词版本化中台 + 投放数据闭环 | 🔴 没有 | 超出13环范围 | 留二/三期 |
⚠️ 两个伪增量(看着像缺、其实不缺,别浪费工时)见 §五。
一、Clover 代码现状基线(落盘锚点,后续每条增量对照这个)
增量要挂在已有代码上,先把"已经有什么"钉死,避免重复造或挂错地方。
飞轮(已跑通,是 Clover 的魂)
- 信号枚举:
backend/app/constants/enums.py→SignalType5个值(text_select/image_select/approve/reject_with_reason/regenerate)+SIGNAL_WEIGHTS权重表(选+3/审过+5/打回-3)。 - 信号写入:
app/services/flywheel_service.py:record_signal()— 业务接口内部调用,不暴露独立埋点端点(契约红线)。 - 信号采集入口:
app/api/v1/task_actions.py(选文案/选图)+app/api/v1/review.py(审核 approve/reject)。 - 聚合注入:
app/services/ai_engine/preference_aggregator.py:aggregate_preference_context()— 取最近50条 → 最常选角度 + 打回原因近3条原文 → 拼prompt_fragment。 - prompt 组装:
app/services/ai_engine/prompt_composer.py:compose_variants()— 飞轮片段追加到 user_prompt 末尾(不污染 system 红线)。 - 数据表:
app/models/flywheel.py→preference_events(迁移004)+ai_call_logs。 - 前端:
frontend/src/components/FlywheelBanner.tsx("本次已注入"提示)+stores/preferenceStore.ts。
爆款拆解(地基埋了,没接线)
- 表已建:
app/models/fission.py→fission_tasks(迁移010)+generation_tasks.source_fission_id(迁移011)。 - ❌ 缺:无 fission 的 service / api / worker / 前端(已 grep 确认
app/api app/services app/workers零引用)。 - 关联:13环里这是「第11环裂变」,总核销表 M7 状态 = ⏸️等北哥给档位定义。
标杆分析(第2环,等北哥给8维)
app/models/task.py:GenerationTask.benchmark_ids+ 迁移009features_json/analyze_status;总核销表 M6 = ⏸️等北哥给8维。
生图(比俊达展示的深)
app/services/ai_engine/storyboard.py(分镜+overlay_text压字)+image_gen.py:146-153(AI生图直接把字排图上)+image_postprocessor.py(去C2PA水印+转JPG+削像素水印,对应俊达"消水印")。- 关键:配图与压字已合一(生图即排字),不是两道工序。这点影响 §五 伪增量判断。
归档(第12环)
frontend/src/app/history/+delivery_packages表(交付包)。总核销表 M4 含日期/品类筛选+导出。
二、增量①:改稿 diff 飞轮信号 ⭐最该补
俊达怎么做的
俊达把三类反馈信号分了强弱:「改稿 diff」标为「强」,评级 A/B/C/D 和「采纳·重做」标为「中」。他原话:"运营把 AI 写的改了 —— 直接看人怎么改,最值钱。" 因为选/审是二选一的弱监督,而人动手改稿是带具体方向的强监督——AI 能学到的不只是"这条不好",而是"应该改成什么样"。
Clover 缺口(对照代码)
SignalType只有 5 个值,没有text_edit。TextCandidate(app/models/task.py:73)只有content(AI原文)+is_selected,没有"运营改后内容"字段,改稿这个动作根本没地方落。- 现状:运营在审核台看到文案,只能"选/打回写原因",不能直接改——改了也不入飞轮。
怎么落(概要,细化执行见配套文档)
⚠️ 完整可执行方案(含代码骨架+并发窗口避让)已拆到独立文档:
plans/俊达增量①-改稿diff-实施细案.md。 因为另一个窗口正在改 P0(第5/6/8环),改稿diff 恰好挂在审核回路+task_actions,是冲突高危区,细案里逐处标了避让策略。
五步骨架(详见细案):
- 加信号类型
text_edit(权重+4)——注意权重在两处定义,都要改。 - 存改后内容——
TextCandidate加edited_content/edited_at两字段,新迁移 012。 - 采集端点——
task_actions.py加POST .../text-candidates/{cid}/edit。 - 聚合注入——
preference_aggregator.py加"改稿示范"片段,置于 prompt_fragment 最前。 - 前端改稿框——
TextCandidateCard.tsx只读<p>改可编辑。
验收(沿用架构方案"飞轮四点可测")
events写入 text_edit ✓ / 聚合返回改稿片段 ✓ / 下次 prompt trace 含该片段 ✓ / UI 显示"已注入改稿示范" ✓。
风险与建议
- 工程量:1迁移 + 1端点 + 聚合~15行 + 前端1框,半天到一天。
- 窗口冲突:见细案§0,核心是"加字段/加端点用新增不改存量、enums两处权重等P0改完再合"。
- 窗口判断:KR2(飞轮1B)截止6/27,这条不大且价值最高,这次补。
三、增量②:爆款拆解中心(产品化)⭐
俊达怎么做的
独立的「拆解中心」功能(PPT第14页):粘一条小红书爆款链接 → AI 拆成「标题公式 / 句子类型 / 正文结构 / 卖点 / 配图节奏」可复用配方 → 一键存入素材库,变成 AI 下次生成时的样例。口号"72小时:竞品爆款 → 你的可复用配方"。本质是把"人肉总结套路"自动化。
Clover 缺口(对照代码)
- 地基已埋:
fission_tasks表(迁移010)+generation_tasks.source_fission_id(迁移011)都建好了。 - 但完全没接线:无 service/api/worker/前端(已确认零引用),总核销表 M7 = ⏸️等北哥给档位。
- 现状:Clover 已有
benchmark_notes(标杆笔记)+ 第2环标杆8特征分析(M6,等北哥给8维),但那是"录入参考",不是俊达式"粘链接→自动拆配方→反哺生成"的闭环。
关键对齐:俊达"拆解" vs Clover"裂变"是两件事,别混
- Clover 第11环裂变 = 1爆款 → N 套完整笔记包(输出成品)。
- 俊达拆解中心 = 1爆款 → 1 份可复用配方(输出方法,存库当样例)。
- 俊达的拆解,正好是 Clover 裂变的「前置入口」:先拆出配方,配方再喂给裂变/常规生成。两者串起来比单独做裂变更完整。
怎么落(复用现有 analyze 能力,不新造模型调用)
核心思路:Clover 第2环标杆分析(benchmark 8特征 analyze)和俊达"拆配方"是同一个 AI 能力,只是出口不同。不要新写一套 AI 调用,复用 analyze,加一个"拆解→存配方→反哺"的产品壳。
S1|配方落点:拆出的配方存哪?两个选项——
- 选A(轻,推荐一期):存进现成的
benchmark_notes.features_json(迁移009已有字段),拆解结果就是结构化特征,天然契合。前端加"拆解中心"入口,结果进标杆库。 - 选B(重):新建
recipe/配方表。一期不必,留到素材资产库(§四)一起做。
S2|拆解 service:新建 app/services/ai_engine/note_decompose.py,复用 gemini_factory + 标杆 analyze 的 prompt,输入笔记文本/截图,输出 {标题公式, 正文结构, 卖点, 配图节奏} JSON。
S3|采集入口:链接读取受小红书风控限制——对齐架构方案已拍板的洞1:对外主通道 = 截图+手填(零封号风险),登录态自动采集只作北哥内部插件。所以"拆解中心"输入框 = 粘文本/传截图,不做"系统自动抓链接"。
S4|反哺生成:拆出的配方进 benchmark_notes,生成任务选标杆时即可引用 → 已有链路(generation_tasks.benchmark_ids)自动打通,无需改生成侧。
S5|前端:新增"拆解中心"页(仿俊达PPT第14页左右分栏:左原笔记、右拆解结果+「一键存入标杆库」)。
风险与建议
- 依赖北哥:和 M6(标杆8维)、M7(裂变档位)都等北哥定义。建议把"拆解中心"和 M6 合并需求一起问北哥——既然拆解配方=标杆特征,让北哥一次性给"要拆哪几个维度"即可。
- 工程量:选A路径,service + api + 前端页,约 1-2 天,但前置依赖北哥给维度。
- 窗口:一期能做,但别和 P0 修bug 抢工。建议 M6 标杆分析做完后,顺势加拆解中心入口(复用同一 analyze)。
四、增量③④:素材资产库 / 提示词中台 / 投放闭环(留二三期)
这三块价值大、但工程量也大,明确不进一期,避免冲乱 6/20-6/27 节奏。先记下口子,二期接。
增量③ 素材资产化 + 效果评级库(→ 二期,第12环升级版)
- 俊达:图/视频/压字/评论/标题/文案结构/关键词各成一库,进库即 AI 打标 + 按真实互动评 S/A/B/C/D 级;素材积累 5/月 → 50+/月。
- Clover 现状:只有
delivery_packages(交付包)+history归档,没有"按类型分库 + 效果评级 + 向量搜图"。 - 落点:二期在
history/归档之上建素材库;评级依赖真实互动数据回填(架构方案三期"发布效果回填 outcome_score"),所以评级必须等投放闭环(增量④)先有数据,顺序上③依赖④。 - eval_score 已留 NULL 口子(
TextCandidate.eval_score/ImageCandidate.eval_score),架构方案明确"等真评分再装"——正好接俊达的评级,别用 banana 假评分(88分)污染飞轮,这条铁律不能破。
增量④ 投放数据闭环(→ 二/三期,超 13 环范围)
- 俊达:打通聚光/千川/乘风/专业号 + 电商后台,单条笔记能看"卖多少货/点击率",AI 出动作卡(评A/B/C+建议停/加投)。投手 6h → 自动。
- Clover 现状:13环里第10环复盘 = ❌不做(人工)。完全没有数据中心。
- 落点:这是独立大模块(要对接小红书各后台API+企业资质),架构方案三期才提。俊达验证了 ROI 极高(他DNT ROI 1:4→1:8),值得做,但是 Clover 二期对外 SaaS 之后的事。
- 提示词版本化中台(俊达:每提示词版本历史可回滚、标人工改/AI进化、记为什么改):Clover 有
loader.py PromptLoader 版本alias死代码可复活(架构方案§四🟡),但做成俊达那样的"UI可调中台"是二期。一期 prompt 改模板即可,不必上版本管理 UI。
五、两个伪增量(看着像缺、其实不缺,别做)
伪增量1:把"配图/压字"拆成两道独立工序 ❌
- 俊达PPT把"配图"和"压字"列成内容流水线里两个独立模块,看着像 Clover 少了一环。
- 但 Clover 已经合一实现:
storyboard.py出分镜带overlay_text,image_gen.py:146-153生图时直接把文字排到图上出成品。这是更先进的做法(一次成图 vs 先出图再压字两步)。 - 结论:不要为了"对齐俊达模块数"去把它拆开。俊达分两步可能正因为他没做到一次成图。Clover 这里是优势,保持。
伪增量2:爆款"逆向工程"当全新功能 ❌(部分)
- 看着 Clover 没有"爆款逆向",其实第2环标杆8特征分析 = 同一个 AI 能力(拆爆款)。
- 结论:增量②不是"新造逆向引擎",而是"给已有 analyze 加产品化入口+反哺出口"。别重复造 AI 拆解逻辑。
六、俊达最该抄的 5 条认知(非功能,是方法论)
这 5 条比任何功能都值钱,且和 Clover 设计哲学高度一致,可直接写进北哥项目的产品理念:
- AI 当组织成员/员工管,不当工具 —— 拆成"选题员工/标题员工/配图员工",每个都是 agent。对应 Clover 多步流水线。
- 生成 → 流水线 —— 不让 AI 一口气写完,拆工序、每步 AI 出活、人审一眼。Clover 已是这套。
- 定型 → 进化 —— AI 不该买来就定型,每天因真实反馈变聪明。= Clover 飞轮(魂)。
- 任务包模式 —— 人只处理 AI 搞不定的疑难,顺手把解法训练回 AI;任务包越来越少。可作为 Clover 飞轮+审核的长期叙事。
- 颗粒度无限细分 → 素材库索引 → 生成 —— 把经验拆到最细存库,生成时索引。对应增量③素材资产化。
- 诚实克制(俊达"冠军-挑战者+人审,绝不盲目自动上线")—— 和 Clover"eval_score留NULL不用假分""飞轮四点可测"完全同源。这是双方最该互相印证的设计底线。
附:俊达全产品模块地图(视频左侧导航补全,供北哥扩展参考)
视频里俊达系统左侧菜单(手机拍投影,已尽力辨认): 内容中台(选题/标题/正文/配图/评论/素材库/拆解中心)· 音乐创作 · 客户管理 · 岸署管理 · AI销售 · 机器人管理 · 微信Agent · Agent工具包 · 发布管理 · 全平台自动化 · 客户SOP · 群发SOP · SOP执行管理 · 数据复盘 · 乘风账户财务(投放数据)· 知识库。
这是"一个人开发的全链路"全貌。Clover 一期只对应其中"内容中台"一块,其余是北哥项目二期/三期或独立产品线的想象空间。