AI 推荐系统工程化
一、传统推荐 vs AI 推荐
传统推荐(协同过滤 / 矩阵分解)核心是「找相似用户 / 相似物品」;AI 推荐多了一层「意图理解」。
用户搜「便宜的笔记本」时:
- 传统:召回包含「便宜」「笔记本」的商品
- AI:理解「学生 / 预算 4000 以内 / 办公为主」,召回符合真实意图的商品
二、典型架构(4 层)
[用户输入]
↓
[意图理解层] ← LLM 抽取意图、约束、偏好
↓
[召回层] ← 向量召回 + 关键词召回 + 协同过滤
↓
[排序层] ← LLM Rerank / 业务规则
↓
[输出层] ← 解释生成 + 推荐结果
三、关键组件
1. 意图理解层
用 LLM 把模糊输入转成结构化 query:
{
"intent": "购买笔记本",
"constraints": { "price": "<4000", "用途": "办公" },
"preferences": ["轻薄", "续航长"]
}
2. 召回层
- 向量召回:把商品描述转向量,与意图向量做相似度
- 关键词召回:保留传统倒排索引兜底
- 协同过滤:用户行为数据补充
- 混合召回:3 路召回结果按权重融合
3. 排序层
用 LLM 直接做 Rerank:
[用户意图] + [候选 20 个商品] → LLM 输出 Top 5 + 推荐理由
4. 输出层
带「推荐理由」的结果,比纯列表点击率高 30%+:
推荐:联想小新 Pro 14(4299 元) 理由:你提到「办公 + 轻薄」,这款 14 寸 1.4kg、续航 12h,价格略超预算 300 元但综合性价比最优。
四、数据闭环
- 用户点击 / 加购 / 下单 → 反馈给排序层
- 用户反馈「不喜欢」→ 调整召回权重
- 长期数据训练业务专属 Reranker
五、评测体系
| 指标 | 含义 |
|---|---|
| Recall@10 | Top10 是否覆盖正确答案 |
| NDCG@10 | 排序质量 |
| 推荐转化率 | 点击 / 加购 / 下单率 |
| AI 解释合格率 | 推荐理由是否合理(人工抽样) |
六、常见坑
- 意图理解过度:简单问题别上 LLM,关键词搜索更快
- 召回不够多样:纯向量召回容易扎堆,必须多路融合
- Rerank 成本失控:每次请求都调 LLM 太贵,用 Semantic Cache
- 评测脱离业务:只看 Recall 不看转化率,会优化错方向
七、最小可行版本(1 周落地)
- 用 OpenAI / DeepSeek API 做意图理解
- 用 pgvector / Qdrant 存商品向量(开源够用)
- 用关键词召回兜底
- 排序层先用规则,等数据够了再上 LLM Rerank
- 上线 → 监控转化率 → 迭代
八、总结
AI 推荐不是「换个模型」这么简单,而是把「用户输入 → 业务结果」之间的语义鸿沟用 AI 抹平。先把意图理解做好,比追求最强模型更重要。