feat: PLANNING体系首版(00路线图/02任务总表/03执行协议/I-03/I-04/registry42口径)+M1止血交付
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# S-03 · 推荐引擎 v2(多目标 + 兴趣画像)
|
||||
|
||||
| 字段 | 值 |
|
||||
|---|---|
|
||||
| 项目 | DSP · `Desktop/dsp/dsp`(backend 推荐逻辑 + web feed) |
|
||||
| 优先级 | P1 · M3 |
|
||||
| 建议模型 | deepseek-v4.1-flash(主)/ qwen3.8-flash(排序用例复核) |
|
||||
| 依赖 | S-01(测试基建先绿,推荐回归必须有网) |
|
||||
| 预估 | 3 天 |
|
||||
|
||||
## 一、背景(为什么做)
|
||||
|
||||
DSP 架构文档自认推荐是"**简化版:热度 + 时间衰减 + 标签匹配**"(`docs/architecture.md` 对照表),而抖音级产品的推荐是多目标排序(完播/点赞/评论/关注)。现有 `tests/test_ranking.py`(434 行)+ `docs/ranking.md` 已有排序测试与设计底子——在此之上做 v2 是**有测试保护的可控升级**,且直接决定 feed 留存。
|
||||
|
||||
## 二、目标(交付物)
|
||||
|
||||
1. **多目标信号采集**:完播(播放时长/视频时长)、点赞、评论、收藏、关注——从现有行为表(VideoView/Like/Comment)聚合出行为权重。
|
||||
2. **兴趣画像(轻量)**:用户对标签(`videos_tag`)的隐式偏好向量(行为加权累积);无画像时回退冷启动(现有逻辑)。
|
||||
3. **排序公式 v2**:`score = 热度分(多目标加权) × 时间衰减 × 兴趣匹配系数`;参数全部可配置(settings,不硬编码)。
|
||||
4. **测试**:排序回归扩展(新增多目标与画像用例);A/B 友好的参数快照。(与 S-01 协同,不重复建基建。)
|
||||
5. 文档:`docs/ranking-v2.md`(公式、参数、回退策略、与 v1 的差异清单)。
|
||||
|
||||
## 三、验收标准
|
||||
|
||||
- [ ] 多目标权重生效:构造"高完播低赞"与"低完播高赞"视频 → 排序符合配置权重
|
||||
- [ ] 兴趣画像:用户偏好的标签内容排序提升(确定性用例)
|
||||
- [ ] 冷启动用户回退 v1 行为(无画像不报错、不空 feed)
|
||||
- [ ] 所有参数可在 settings 调整并生效
|
||||
- [ ] 既有 test_ranking 零回归 + 新增 ≥10 用例
|
||||
- [ ] 性能:feed 接口 P95 延迟不劣化 >20%(附基线对照)
|
||||
|
||||
## 四、验收命令(参考)
|
||||
|
||||
```bash
|
||||
cd backend && pytest -q -k ranking
|
||||
pytest -q # 全量
|
||||
```
|
||||
|
||||
## 五、边界(不许做)
|
||||
|
||||
- 不引入 ML 框架(纯统计加权,可控可测)
|
||||
- 不做实时特征流(批式聚合)
|
||||
- 不改前端 feed 契约(排序在服务端)
|
||||
- 不删除现有 ranking 测试(只扩展)
|
||||
|
||||
## 六、交接
|
||||
|
||||
写 `PROGRESS_S-03.md`(含权重用例输出、性能对照、回退策略证据)。
|
||||
Reference in New Issue
Block a user