p0g-diversity-rewrite-checklist

$npx mdskill add gmaxxxie/ai-native-product-agent-skills/p0g-diversity-rewrite-checklist

Check if your recommendation system is truly diverse or just random.

  • Detects fake diversity in recommendation systems during rewrite planning.
  • Uses a six-item checklist based on the AI rebuild product needs tool card.
  • Evaluates objective functions, user controls, and content transition design.
  • Outputs check results, rewrite suggestions, and objective function assessment.

SKILL.md

.github/skills/p0g-diversity-rewrite-checklistView on GitHub ↗
---
name: p0g-diversity-rewrite-checklist
version: 1.0.0
description: 多元推荐改写清单。当团队想重写推荐系统时,最容易只在原目标函数上加一点随机。 这个 Skill 帮你避免"看起来更多元,底层仍然单一"。
  基于《AI rebuild product needs》工具卡。
author: Max
tags: p0, 需求发现, 多元推荐检查
- book-skill
- recommendation
- diversity
- algorithm
- ai-product
requires: []
homepage: https://github.com/gmaxxxie/ai-native-product-agent-skills/tree/main/skills/p0g-diversity-rewrite-checklist
stage: p0g
source_book: AI rebuild product needs
source_chapter: 第7章 多元推荐改写-检查清单

---


# 多元推荐改写清单

## 一句话定位

检查推荐系统是真正多元,还是只是"加了点随机"。六项检查避免假多元。

## 何时触发

- 计划改写推荐系统
- 觉得当前推荐越来越窄
- 用户反馈"总是看到类似内容"
- 需要评估推荐系统的多元性

## 输入

当前推荐系统的目标和方案描述。

**示例输入**:
```
产品: 知识内容平台
目标: "把停留时长再做高一点"
当前方案: 增加相似内容推荐,加一点随机探索
```

## 输出

六项检查结果 + 改写建议 + 目标函数评估。

## 六项检查

### Check 1: 目标函数是否包含多样性或探索目标?

**检测方法**:
- 打开推荐系统的目标函数,看看除了停留时长/点击率/转化率,还有什么
- 是否有明确的多样性指标(如内容覆盖度、主题分散度、新内容曝光率)?
- 这些指标在优化目标中的权重是多少?

**输出格式**:
```
目标函数多样性: [yes/no/partial]
多样性指标: ["列表"]
权重: "多样性指标在总目标中的权重"
风险: "如果没有,会发生什么"
```

### Check 2: 用户能不能主动切换"更开阔"而不是"更精准"?

**检测方法**:
- 产品中是否有明确的"探索模式"或"开阔模式"?
- 用户是否能主动选择"我想看不一样的东西"?
- 还是只能被动接受系统给的推荐?

**输出格式**:
```
主动切换入口: [yes/no]
入口位置: "在哪里"
默认模式: "精准/开阔/混合"
用户控制感: [high/medium/low]
```

### Check 3: 系统有没有低冲突的异质内容入口?

**检测方法**:
- 推荐的"异质内容"是低冲突的(相关但不同视角),还是高冲突的(对立、争议)?
- 是否有"软过渡"设计,让用户自然接触新主题?
- 还是只是在熔炉里塞对立内容?

**输出格式**:
```
异质内容类型: [low_conflict/high_conflict/mixed]
过渡设计: [yes/no]
接触方式: "用户如何接触到异质内容"
```

### Check 4: 推荐有没有连接现实世界?

**检测方法**:
- 推荐内容是否能引导用户做出现实行动?
- 还是只是让用户在屏幕里花更多时间?
- 是否有"线上到线下"的连接设计?

**输出格式**:
```
现实连接: [yes/no/partial]
行动引导: "推荐是否能引导现实行动"
线下连接: [yes/no]
```

### Check 5: 团队有没有衡量"新的可能性被打开"?

**检测方法**:
- 团队的评估指标是不是只有点击率、停留时长?
- 是否有指标衡量用户是否接触了新主题、新领域?
- 是否有指标衡量用户的"视野是否变宽"?

**输出格式**:
```
多元性指标: [yes/no]
指标列表: ["具体指标"]
评估频率: "多久评估一次"
```

### Check 6: 用户能不能把自己从默认推荐轨迹里拉出来?

**检测方法**:
- 用户是否能够"重置"或"跳出"当前推荐轨迹?
- 是否有机制让用户主动表达"我不想看这个"?
- 系统是否会记住用户的"探索"偏好?

**输出格式**:
```
跳出机制: [yes/no]
跳出方式: "如何跳出"
用户主动权: [high/medium/low]
系统记忆: "是否记住探索偏好"
```

## 综合输出格式

```yaml
diversity_rewrite_assessment:
  input:
    product: "产品名称"
    current_goal: "当前目标"
    current_approach: "当前方案"
  
  checks:
    check1_objective:
      has_diversity_goal: "yes/no"
      diversity_metrics: ["指标"]
      weight: "权重"
      risk: "风险"
    
    check2_user_control:
      has_exploration_mode: "yes/no"
      entry_point: "入口"
      default_mode: "默认模式"
      user_control: "high/medium/low"
    
    check3_heterogeneous_content:
      conflict_level: "low_conflict/high_conflict/mixed"
      has_transition: "yes/no"
      exposure_method: "接触方式"
    
    check4_real_world:
      has_connection: "yes/no"
      action_guidance: "行动引导"
      offline_link: "yes/no"
    
    check5_measurement:
      has_diversity_metrics: "yes/no"
      metrics: ["指标"]
      review_frequency: "评估频率"
    
    check6_user_escape:
      has_escape: "yes/no"
      escape_method: "跳出方式"
      user_agency: "high/medium/low"
      system_memory: "yes/no"
  
  overall_assessment:
    is_truly_diverse: "yes/no/partial"
    fake_diversity_risk: "high/medium/low"
    key_gaps: ["关键缺口"]
  
  rewrite_recommendation:
    objective_changes: "目标函数改写建议"
    ui_changes: "界面改进建议"
    metric_changes: "评估指标改进建议"
    priority: "P0/P1/P2"
```

## 快速使用法

1. 填写产品、目标、当前方案
2. 逐项过六个检查
3. 如果超过 3 项不通过,推荐系统需要重写而不是优化

## 常见误判

- **加一点随机 = 多元**:随机探索不等于系统性多样性
- **内容更杂 = 更自由**:用户可能只是被塞了更多不相关的东西
- **点击更多 = 更好**:可能只是用户在翻找自己真正想看的

## 一句判断

> 多元推荐不是精度的对立面,而是对单一目标精度的修正。

## 核心概念

### 概念一:单一推荐的本质——围绕一个目标函数运转

大多数推荐系统之所以有效,是因为目标清晰:点击率、停留时长、互动频率、转化率、复购率、续费率。但一旦目标函数过于单一,系统会越来越偏爱最能服务那一目标的内容和行为,持续放大更情绪化、更容易比较模仿、更容易低成本理解、更接近用户已有偏好的东西。

**结果**:系统不是更完整地理解了你,而是选了你的一个维度不断放大。看起来精准,实际危险。

> 人不是一种固定偏好的容器。同一个人在不同时间、不同情绪、不同关系压力下,可能需要完全不同的东西。

### 概念二:加一点随机 ≠ 多元推荐

| 策略 | 本质 | 用户体验 |
|------|------|----------|
| 随机推荐 | 无策略地增加噪音 | 体验变差 |
| 单一优化 | 只问"什么留住用户" | 把人越推越窄 |
| 多元推荐 | 有策略地保留探索空间 | 用户维度更丰富 |

> 多元推荐真正要重写的不是推荐策略,而是产品目标函数本身——你到底在最大化什么?

### 概念三:五种值得尝试的多元推荐方向

| 方向 | 核心理念 | 典型设计 |
|------|----------|----------|
| 探索推荐 | 让用户主动切换"更开阔"模式 | "今天不想看精准的"入口 |
| 上下文推荐 | 结合时间/空间/状态判断当前需要 | 深夜不推"五点起床改变人生" |
| 反信息茧房推荐 | 低冲突异质内容入口 | "暂停不等于落后"主题文章 |
| 连接现实推荐 | 推荐不只留在屏幕内 | 周末手工市集、慢跑社区 |
| 可能性推荐 | 帮助用户遇见尚未定义的自己 | "你可能不只想变得高效" |

### 概念四:评估指标必须同步升级

如果只看点击率和停留时长,多元推荐永远"不如"单一推荐。必须引入三类指标:

1. **准确性指标**:CTR、收藏率、完整消费率
2. **多样性指标**:覆盖率、新鲜度、惊喜度
3. **用户成长指标**:兴趣扩展、活跃度提升、留存改善

> 评审时不能只看见更多点击,还要看见用户是否越来越窄。

### 概念五:控制权交还用户

一旦推荐足够强大,产品不能再只问"我能更准吗",还要问"用户还能从系统的默认路径里出来吗"。

**用户控制设计清单**:
- 用户能否表达"不感兴趣"
- 用户能否主动选择推荐类型
- 用户能否看到"为什么推荐这个"的解释
- 用户能否关闭/打开某类推荐

> 所谓"懂你",最后很可能只是"困住你"——除非用户能主动拉自己出来。

## 分步执行

### Step 1:现状诊断——当前推荐系统的问题定位

**输入**:当前推荐系统描述 + 用户反馈 + 业务目标

**处理**:
1. 明确当前推荐系统的目标函数(优化的是什么指标?)
2. 分析用户反馈中的关键词("总是类似的""没新意""越推越窄")
3. 评估当前推荐的多样性现状(覆盖率、新鲜度、惊喜度)
4. 判断当前系统属于哪种类型:纯协同过滤 / 内容推荐 / 混合推荐

**输出**:现状诊断报告(附问题定位和改进机会)

---

### Step 2:目标函数重写——从单一指标到多元目标

**输入**:Step 1 产出的现状诊断报告

**处理**:
1. 承认当前目标函数过于狭窄
2. 在目标函数中加入多样性/探索目标
3. 定义新的评估指标:覆盖率、新鲜度、惊喜度、兴趣扩展度
4. 确定多元推荐的混合比例建议(如:70% 精准 + 20% 探索 + 10% 反向)

**输出**:重写后的目标函数 + 多元推荐混合比例

---

### Step 3:推荐类型设计——为每种方向设计具体策略

**输入**:Step 2 产出的重写目标函数

**处理**:
1. 设计探索推荐入口:"今天想看点不一样的"按钮
2. 设计上下文推荐逻辑:根据时间/状态/节奏调整推荐
3. 设计反信息茧房推荐:低冲突异质内容入口
4. 设计连接现实推荐:推荐线下活动、社区、体验
5. 设计可能性推荐:不只预测过去,轻轻帮助遇见可能的未来

**输出**:多元推荐策略设计文档

---

### Step 4:用户控制设计——交还推荐控制权

**输入**:Step 3 产出的推荐策略设计

**处理**:
1. 设计"不感兴趣"反馈机制
2. 设计推荐类型切换入口(精准模式 / 探索模式 / 上下文模式)
3. 设计推荐解释("因为你看过的 X,所以推荐 Y")
4. 设计推荐开关(用户可以关闭某类推荐)

**输出**:用户控制设计方案

---

### Step 5:六项检查执行——用清单验证改写是否到位

**输入**:Step 3-4 的全部产出

**处理**:
1. 逐项执行 Check 1-6(目标函数、用户控制、异质内容、现实连接、新可能性衡量、跳出机制)
2. 统计通过/不通过数量
3. 如果超过 3 项不通过,标记为"需要重写而非优化"

**输出**:六项检查结果 + 综合评估 + 改写建议

---

### Step 6:分阶段上线——从小流量验证到全量

**输入**:Step 3-5 的全部产出

**处理**:
1. Phase 1:小流量验证(5-10% 用户),只上线探索推荐入口
2. Phase 2:逐步放量(30-50% 用户),上线上下文推荐和反信息茧房
3. Phase 3:全量上线,监控三类指标(准确性 + 多样性 + 用户成长)

**输出**:分阶段上线计划 + 各阶段监控指标

### 示例 1:音乐平台从"猜你喜欢"到"帮你发现"

**场景描述**:在线音乐平台基于协同过滤推荐,用户反馈"总是推荐类似的歌,想听点新的"。

**Step 1 现状诊断**:
- 目标函数:优化播放完成率和次日留存
- 用户反馈:"总是类似的歌""听腻了""想找新歌但不知道搜什么"
- 多样性现状:推荐中 85% 是用户已听过的同类风格,新鲜度极低

**Step 2 目标函数重写**:
- 原目标:最大化播放完成率
- 新目标:最大化播放完成率 × 0.6 + 探索成功率 × 0.25 + 兴趣扩展度 × 0.15
- 混合比例:70% 精准推荐 + 20% 探索推荐 + 10% 反向推荐

**Step 3 推荐类型设计**:
- 精准推荐(70%):基于历史收听的协同过滤
- 探索推荐(20%):"今日新发现"歌单——与你喜欢的相似但不同风格
- 反向推荐(10%):"换个口味"——与你常听的形成对比
- 上下文推荐:深夜推舒缓、通勤推节奏、运动推能量
- 连接现实推荐:本地演出信息、音乐人见面会

**Step 4 用户控制设计**:
- "不想听这类"按钮
- 推荐模式切换:精准模式 / 探索模式 / 随机模式
- 推荐解释:"因为你喜欢 [歌手A],推荐了风格相近的 [歌手B]"

**六项检查结果**:

| 检查项 | 结果 | 说明 |
|--------|------|------|
| Check 1: 目标函数多样性 | ✅ | 新目标已包含探索和兴趣扩展 |
| Check 2: 用户主动切换 | ✅ | 有推荐模式切换入口 |
| Check 3: 低冲突异质内容 | ✅ | "换个口味"是风格渐变而非对立 |
| Check 4: 现实世界连接 | ✅ | 本地演出和社区推荐 |
| Check 5: 新可能性衡量 | ✅ | 兴趣扩展度指标已定义 |
| Check 6: 跳出默认轨迹 | ✅ | "不想听这类"+模式切换 |

**结论**:从"猜你喜欢"到"帮你发现",不是算法升级,而是推荐哲学的重写。六项全部通过,可进入分阶段上线。

---

### 示例 2:知识内容产品从"留住你"到"拓宽你"

**场景描述**:知识内容平台想提升停留时长,但团队担心"越推越窄"。

**Step 1 现状诊断**:
- 目标函数:最大化停留时长
- 用户反馈:"总是看类似的""想看点不一样的但找不到"
- 多样性现状:用户最近两周反复看"自律""效率""减脂"内容,系统持续强化

**Step 2 目标函数重写**:
- 原目标:最大化停留时长
- 新目标:最大化停留时长 × 0.5 + 内容多样性 × 0.3 + 现实连接率 × 0.2

**Step 3 推荐类型设计**:
- 精准推荐(60%):效率/自律类内容
- 探索推荐(25%):"今天不卷了"入口——城市散步路线、手工陶瓷短视频、慢生活访谈
- 反信息茧房(15%):"暂停不等于落后"主题文章、普通人与不完美生活和解的故事
- 上下文推荐:深夜不推"五点起床改变人生",推恢复、放松、陪伴类内容
- 连接现实推荐:周末手工市集、独立书店、新手烹饪课、本地慢跑社区
- 可能性推荐:不定义用户为"自律人",而是轻轻假设"你可能不只是想变高效"

**Step 4 用户控制设计**:
- "换个方向"按钮
- 推荐类型标签(效率 / 生活 / 探索 / 连接现实)
- 推荐解释:"因为你最近常看效率类内容,推荐了不同视角的慢生活内容"
- 推荐开关:可以关闭"效率类"推荐

**六项检查结果**:

| 检查项 | 结果 | 说明 |
|--------|------|------|
| Check 1: 目标函数多样性 | ✅ | 新目标已包含多样性和现实连接 |
| Check 2: 用户主动切换 | ✅ | "换个方向"入口 |
| Check 3: 低冲突异质内容 | ✅ | 慢生活≠反效率,是不同视角 |
| Check 4: 现实世界连接 | ✅ | 手工市集、慢跑社区等线下推荐 |
| Check 5: 新可能性衡量 | ✅ | 内容多样性指标已定义 |
| Check 6: 跳出默认轨迹 | ✅ | 推荐开关+类型标签 |

**结论**:推荐系统不该只竞争"谁更懂你",还该竞争"谁帮你回到更宽阔的现实"。用户点击的不等于完整的自己——可能只是某个压力下暂时抓住的一个片段。

More from gmaxxxie/ai-native-product-agent-skills