Files
vscode-workbench/PLANNING/tasks/S-03-推荐引擎v2.md
T

2.4 KiB
Raw Blame History

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%(附基线对照)

四、验收命令(参考)

cd backend && pytest -q -k ranking
pytest -q           # 全量

五、边界(不许做)

  • 不引入 ML 框架(纯统计加权,可控可测)
  • 不做实时特征流(批式聚合)
  • 不改前端 feed 契约(排序在服务端)
  • 不删除现有 ranking 测试(只扩展)

六、交接

写 PROGRESS_S-03.md(含权重用例输出、性能对照、回退策略证据)。