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

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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