2.4 KiB
2.4 KiB
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 留存。
二、目标(交付物)
- 多目标信号采集:完播(播放时长/视频时长)、点赞、评论、收藏、关注——从现有行为表(VideoView/Like/Comment)聚合出行为权重。
- 兴趣画像(轻量):用户对标签(
videos_tag)的隐式偏好向量(行为加权累积);无画像时回退冷启动(现有逻辑)。 - 排序公式 v2:
score = 热度分(多目标加权) × 时间衰减 × 兴趣匹配系数;参数全部可配置(settings,不硬编码)。 - 测试:排序回归扩展(新增多目标与画像用例);A/B 友好的参数快照。(与 S-01 协同,不重复建基建。)
- 文档:
docs/ranking-v2.md(公式、参数、回退策略、与 v1 的差异清单)。
三、验收标准
- 多目标权重生效:构造"高完播低赞"与"低完播高赞"视频 → 排序符合配置权重
- 兴趣画像:用户偏好的标签内容排序提升(确定性用例)
- 冷启动用户回退 v1 行为(无画像不报错、不空 feed)
- 所有参数可在 settings 调整并生效
- 既有 test_ranking 零回归 + 新增 ≥10 用例
- 性能:feed 接口 P95 延迟不劣化 >20%(附基线对照)
四、验收命令(参考)
cd backend && pytest -q -k ranking
pytest -q # 全量
五、边界(不许做)
- 不引入 ML 框架(纯统计加权,可控可测)
- 不做实时特征流(批式聚合)
- 不改前端 feed 契约(排序在服务端)
- 不删除现有 ranking 测试(只扩展)
六、交接
写 PROGRESS_S-03.md(含权重用例输出、性能对照、回退策略证据)。