baseline: Clover 独立仓库首次基线提交
将 Clover 从上层产品包旧仓库中独立出来,建立专属版本控制。 当前状态=纵切片端到端已打通(登录→选品→出文出图→审核→下载包), M1文案质量去套路化已验收。此提交作为后续按核销清单逐条修复的基线。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
170
plans/俊达对标-增量落地映射.md
Normal file
170
plans/俊达对标-增量落地映射.md
Normal file
@@ -0,0 +1,170 @@
|
||||
# 俊达产品 → 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` → `SignalType` 5个值(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` + 迁移009 `features_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,是冲突高危区,细案里逐处标了避让策略。
|
||||
|
||||
五步骨架(详见细案):
|
||||
1. **加信号类型** `text_edit`(权重+4)——注意权重在**两处**定义,都要改。
|
||||
2. **存改后内容**——`TextCandidate` 加 `edited_content`/`edited_at` 两字段,新迁移 012。
|
||||
3. **采集端点**——`task_actions.py` 加 `POST .../text-candidates/{cid}/edit`。
|
||||
4. **聚合注入**——`preference_aggregator.py` 加"改稿示范"片段,置于 prompt_fragment 最前。
|
||||
5. **前端改稿框**——`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 设计哲学高度一致,可直接写进北哥项目的产品理念:
|
||||
|
||||
1. **AI 当组织成员/员工管,不当工具** —— 拆成"选题员工/标题员工/配图员工",每个都是 agent。对应 Clover 多步流水线。
|
||||
2. **生成 → 流水线** —— 不让 AI 一口气写完,拆工序、每步 AI 出活、人审一眼。Clover 已是这套。
|
||||
3. **定型 → 进化** —— AI 不该买来就定型,每天因真实反馈变聪明。= Clover 飞轮(魂)。
|
||||
4. **任务包模式** —— 人只处理 AI 搞不定的疑难,顺手把解法训练回 AI;任务包越来越少。可作为 Clover 飞轮+审核的长期叙事。
|
||||
5. **颗粒度无限细分 → 素材库索引 → 生成** —— 把经验拆到最细存库,生成时索引。对应增量③素材资产化。
|
||||
6. **诚实克制**(俊达"冠军-挑战者+人审,绝不盲目自动上线")—— 和 Clover"eval_score留NULL不用假分""飞轮四点可测"完全同源。**这是双方最该互相印证的设计底线。**
|
||||
|
||||
---
|
||||
|
||||
## 附:俊达全产品模块地图(视频左侧导航补全,供北哥扩展参考)
|
||||
|
||||
视频里俊达系统左侧菜单(手机拍投影,已尽力辨认):
|
||||
内容中台(选题/标题/正文/配图/评论/素材库/拆解中心)· 音乐创作 · 客户管理 · 岸署管理 · AI销售 · 机器人管理 · 微信Agent · Agent工具包 · 发布管理 · 全平台自动化 · 客户SOP · 群发SOP · SOP执行管理 · 数据复盘 · 乘风账户财务(投放数据)· 知识库。
|
||||
> 这是"一个人开发的全链路"全貌。Clover 一期只对应其中"内容中台"一块,其余是北哥项目二期/三期或独立产品线的想象空间。
|
||||
Reference in New Issue
Block a user