Skip to content

通过定制音乐画像 Skill 生成听歌报告、历史画像分析与个性化推荐 #22

Description

@jaychempan

Issue: 通过定制音乐画像 Skill 生成听歌报告、历史画像分析与个性化推荐

背景

当前用户的听歌行为、搜索偏好、播放历史和场景化需求可以沉淀为长期音乐画像。希望通过定制一个专门的 SKILL,让 Codex 能够基于用户的历史听歌数据生成听歌报告,分析用户的音乐偏好变化,并进一步基于画像推荐更合适的歌曲、歌单或音乐场景。

目标

构建一个音乐画像分析与推荐 Skill,帮助用户完成:

  1. 生成周期性听歌报告
    例如日 / 周 / 月 / 年度报告,包含播放量、常听歌手、常听曲风、常用场景、情绪倾向、语言偏好等。

  2. 分析用户历史音乐画像
    从长期听歌记录中提取用户的音乐偏好、时间习惯、情绪周期、场景偏好和变化趋势。

  3. 基于画像进行歌曲推荐
    根据用户当前语境、历史偏好和画像标签,生成更个性化的搜索 query 或推荐策略。

核心能力设计

1. 数据输入

Skill 应支持读取或接收以下信息:

  • 播放历史:歌曲名、歌手、专辑、播放时间、播放次数
  • 搜索历史:用户输入过的听歌需求、场景词、情绪词
  • 收藏 / 喜欢 / 跳过记录
  • 用户主动反馈:喜欢、不喜欢、类似这个、换一种、太吵、想要无人声等
  • 当前上下文:工作、放松、运动、睡觉、写代码等场景

2. 用户音乐画像

Skill 需要构建并维护以下画像维度:

  • 曲风偏好:lofi、jazz、synthwave、classical、华语、民谣、电子等
  • 情绪偏好:放松、专注、伤感、兴奋、治愈、怀旧等
  • 场景偏好:写代码、通勤、夜晚、运动、睡前、咖啡馆等
  • 语言偏好:中文、英文、日语、韩语、纯音乐等
  • 歌手偏好:高频歌手、近期升温歌手、长期稳定偏好
  • 新旧偏好:经典老歌、新歌、热门、冷门发现
  • 探索倾向:保守型、相似推荐型、探索型
  • 时间规律:早晨 / 下午 / 深夜偏好的音乐类型差异

3. 听歌报告生成

报告应包括:

  • 时间范围概览
  • 高频歌曲 / 歌手 / 曲风
  • 最常出现的听歌场景
  • 情绪变化趋势
  • 偏好变化:本期新增偏好、下降偏好、稳定偏好
  • 代表性音乐标签
  • 一段自然语言总结,例如:

这周你的音乐偏好明显偏向深夜专注和轻量电子,华语民谣播放次数下降,但钢琴与 ambient 的出现频率上升。

4. 推荐策略

Skill 应基于画像生成推荐逻辑,而不是直接随机推荐。

推荐时应考虑:

  • 当前用户意图
  • 历史偏好权重
  • 最近播放趋势
  • 用户探索程度
  • 避免重复推荐
  • 保留少量新鲜度

推荐输出可以分为:

  • 稳定命中:高度贴合用户长期偏好
  • 轻微探索:和用户喜欢的风格相邻
  • 场景增强:适合当前上下文
  • 情绪调节:根据用户状态推荐更舒缓或更提神的音乐

示例推荐策略

当用户说:

来点适合写代码的

如果画像显示用户偏好 lofi 和 jazz:

{
  "queries": [
    "lofi jazz coding instrumental focus",
    "chillhop beats lo-fi bedroom producer",
    "lofi jazz rain study instrumental"
  ]
}

如果画像显示用户偏好 ambient 和无人声:

{
  "queries": [
    "deep focus ambient instrumental no vocals",
    "flow state drone minimal electronic",
    "study music concentration piano quiet"
  ]
}

如果画像显示用户最近听很多 synthwave:

{
  "queries": [
    "synthwave focus night coding instrumental",
    "cyberpunk electronic dark ambient synth",
    "retrowave instrumental coding focus"
  ]
}

输出格式建议

初版 Skill 可输出以下结构:

{
  "listening_report": {
    "period": "weekly",
    "summary": "",
    "top_artists": [],
    "top_tracks": [],
    "top_genres": [],
    "top_scenes": [],
    "mood_trends": [],
    "preference_changes": []
  },
  "user_music_profile": {
    "long_term_preferences": [],
    "recent_trends": [],
    "scene_preferences": {},
    "mood_preferences": {},
    "language_preferences": [],
    "artist_preferences": [],
    "exploration_level": ""
  },
  "recommendation_queries": [],
  "recommendation_reasoning": ""
}

验收标准

  • 可以基于一段播放历史生成结构化听歌报告
  • 可以输出用户音乐画像标签
  • 可以解释推荐依据
  • 可以根据不同场景生成 2-3 个搜索 query
  • 可以区分“长期偏好”和“近期趋势”
  • 推荐结果不会只依赖单次输入,而会结合历史画像
  • 支持用户反馈,并能更新画像权重

非目标

  • 不需要一开始实现完整音乐平台 API 接入
  • 不需要直接训练机器学习模型
  • 不需要替代现有 coding-with-beat 播放逻辑
  • 初版重点是画像分析、报告生成和推荐 query 构建

初版实现建议

先实现一个 music-profile Skill。

输入可以是 JSON 或文本化历史记录,例如:

{
  "play_history": [],
  "search_history": [],
  "feedback": [],
  "current_context": ""
}

输出包括:

  1. listening_report
  2. user_music_profile
  3. recommendation_queries
  4. recommendation_reasoning

后续再接入真实播放历史和用户反馈闭环。

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions