传统推荐系统大多基于用户历史行为做单向内容推送,用户只能被动接收推荐结果,很难主动传递当下的收听需求,常常出现推荐内容与用户当前兴趣不匹配的情况。喜马拉雅针对现有单向隐式推荐存在的个性化调控缺失、用户表达门槛高等问题,探索交互式推荐系统的落地实践,实现推荐模式从“猜你想听”到“双向对话”的跃迁。

交互式推荐系统的核心架构设计
喜马拉雅的交互式推荐系统采用三层架构设计,分别以个性化参数PBox、LLM交互式Agent、Interactive Suggestion(iSUG)系统为核心组件,实现用户意图的精准捕捉与推荐内容的动态调控。
第一层:iSUG系统作为交互入口
iSUG系统是用户与推荐系统交互的直接入口,负责降低用户的表达门槛,让用户可以通过简单的操作传递自身需求,不需要复杂的文字输入。系统会根据用户当前场景,动态展示可选的交互选项,比如“想听轻松的”“想听30分钟以内的内容”等,用户点击即可完成需求表达。
第二层:LLM交互式Agent作为意图引擎
LLM交互式Agent负责解析用户通过iSUG系统传递的需求,结合用户的长期历史行为、当前场景信息,精准识别用户的真实收听意图。它可以将用户模糊的需求转化为结构化的推荐参数,为后续的推荐调控提供依据。
第三层:个性化参数PBox作为调控中枢
个性化参数PBox是推荐内容调控的核心,它接收LLM交互式Agent输出的结构化意图参数,对推荐候选池的内容进行动态筛选与排序,最终输出符合用户当前需求的推荐结果。PBox支持多维度的参数调控,比如内容时长、内容类型、情感倾向等,实现推荐内容的精准匹配。
核心组件的技术实现细节
个性化参数PBox的实现逻辑
PBox将用户的推荐调控需求封装为多个可配置的参数,推荐引擎在生成候选内容时,会根据PBox的参数对内容进行过滤和加权。以下是PBox参数配置的核心代码示例:
# 个性化参数PBox核心配置类
class ParameterizedBox:
def __init__(self):
# 内容类型参数,比如有声书、播客、新闻等
self.content_type = None
# 内容时长参数,单位分钟
self.duration_limit = None
# 情感倾向参数,比如轻松、严肃、治愈等
self.emotion_tendency = None
# 是否过滤已收听内容
self.filter_listened = True
def set_params(self, intent_params):
# 从LLM输出的意图参数中解析并赋值
self.content_type = intent_params.get("content_type")
self.duration_limit = intent_params.get("duration_limit")
self.emotion_tendency = intent_params.get("emotion_tendency")
self.filter_listened = intent_params.get("filter_listened", True)
def filter_candidates(self, candidate_list):
# 根据PBox参数过滤候选内容
filtered = []
for item in candidate_list:
# 过滤已收听内容
if self.filter_listened and item["is_listened"]:
continue
# 匹配内容类型
if self.content_type and item["content_type"] != self.content_type:
continue
# 匹配时长限制
if self.duration_limit and item["duration"] > self.duration_limit:
continue
# 匹配情感倾向
if self.emotion_tendency and item["emotion"] != self.emotion_tendency:
continue
filtered.append(item)
return filteredLLM交互式Agent的意图解析逻辑
LLM交互式Agent接收用户的交互输入,结合上下文信息解析用户意图,输出结构化的参数传递给PBox。以下是意图解析的核心逻辑示例:
# LLM交互式Agent意图解析示例
def parse_user_intent(user_input, context_info):
# 构造LLM的提示词,包含用户输入和上下文信息
prompt = f"""
用户当前输入:{user_input}
用户上下文信息:{context_info}
请解析用户的收听意图,输出结构化的JSON参数,包含content_type、duration_limit、emotion_tendency、filter_listened四个字段,没有对应需求则字段值为None。
"""
# 调用LLM模型获取解析结果
llm_output = call_llm_model(prompt)
# 解析LLM输出的JSON结果
import json
intent_params = json.loads(llm_output)
return intent_params交互式推荐系统的实践效果
该交互式推荐系统上线后,用户的推荐满意度提升了23%,用户主动表达需求的占比提升了40%,有效解决了传统单向推荐存在的个性化不足问题。同时,系统的响应延迟控制在200ms以内,不会影响用户的交互体验。
总结
喜马拉雅的交互式推荐系统通过三层架构设计,实现了用户与推荐系统的双向对话,降低了用户的表达门槛,提升了推荐的精准度。个性化参数PBox作为调控中枢,LLM交互式Agent作为意图引擎,iSUG系统作为交互入口,三者协同工作,为内容平台的推荐算法优化提供了新的思路。未来还会进一步优化LLM的意图解析准确率,扩展PBox的调控维度,提升交互式推荐的覆盖场景。
交互式推荐系统个性化参数PBoxLLM交互式AgentInteractive_Suggestion系统修改时间:2026-05-31 04:18:48