分享自:

基于大型语言模型的推荐系统智能体演示

期刊:Proceedings of the Nineteenth ACM Conference on Recommender Systems (RecSys '25)DOI:10.1145/3705328.3759334

基于大语言模型的推荐系统智能体:一种无需微调的高效集成方案

第一作者:Tommaso Carraro(SonyAI,瑞士苏黎世施利伦);其他作者:Brijraj Singh, Niranjan Pedanekar(均来自索尼研究印度分公司,印度班加罗尔)。

本研究以论文《Large Language Model-based Recommendation System Agents》的形式,于2025年9月在第十九届ACM推荐系统大会(RecSys ‘25)的会议论文集上发表。该会议是推荐系统领域的顶级国际会议之一,论文已开放获取并获得索尼公司的支持。

一、 学术背景与研究目标

本研究隶属于人工智能与信息系统的交叉领域,具体聚焦于大语言模型(Large Language Models, LLMs)推荐系统(Recommender Systems, RS) 的融合技术。近年来,将LLMs的强大语言理解与生成能力应用于推荐任务已成为一个快速增长的研究方向。然而,现有方法存在明显局限:一种是将LLMs仅作为特征提取器,用于生成物品嵌入,这未能充分利用LLMs的高级推理能力;另一种则是尝试将推荐能力直接注入LLM的权重中,这需要对LLM进行针对推荐任务的微调。这种微调不仅需要巨大的计算资源和时间,且研究表明,由于LLM的语义令牌与推荐系统中用户/物品ID之间的语义不对齐,这种方法往往导致不佳的推荐排名性能。这些局限促使研究者重新思考整合路径。

本研究的目标正是为了解决上述问题,提出一种新颖的、无需对LLM进行推荐任务微调的集成框架。其核心思路是设计一个LLM驱动的智能体(Agent),使其能够作为“大脑”,通过先进的工具调用(Tool Calling, TC)检索增强生成(Retrieval-Augmented Generation, RAG) 技术,在需要时动态访问外部工具,包括一个预训练的推荐系统模型、一个包含物品元数据的数据库以及一个向量存储库。这种方法旨在实现双赢:既充分发挥LLM在理解复杂用户查询、进行逻辑推理和生成自然语言回复方面的优势,又能够依赖成熟、高性能的传统推荐算法来保证核心的推荐质量,从而规避微调带来的性能损失和资源消耗。据作者所知,这是首个设计和演示LLM-based推荐系统智能体的尝试。

二、 研究流程与详细方法

本研究构建了一个完整的演示系统,其工作流程与核心组件如下所述,共计包含七个核心组成部分的构建与集成:

1. 核心组件构建: * LLM智能体(LLM Agent):研究选用了两种LLM进行实验,一是自托管在四块NVIDIA L40S GPU上的Qwen2.5-72B模型(通过Ollama框架部署),二是通过API访问的GPT-4.1模型。系统的关键要求是LLM必须具备函数调用能力。研究者设计了一个包含少量示例的系统提示(System Prompt),用以教导LLM在何种情况下应该调用哪些工具以及调用的顺序。这使得LLM能够推广到未见过的工具组合调用场景。 * 预训练推荐系统(Pre-trained RS):作为演示,研究者使用RecBole框架在MovieLens 100K数据集上训练了一个基于贝叶斯个性化排序(Bayesian Personalized Ranking, BPR)矩阵分解(Matrix Factorization) 模型。但系统设计是模块化的,原则上任何推荐算法都可以替换使用。 * 元数据数据库(MySQL Database):包含电影的物品元数据,如标题、类型、导演、演员、上映日期、IMDb评分、描述和剧情梗概等。部分数据来自MovieLens数据集,其余通过代码从IMDb网站抓取补充。 * 向量存储(Vector Store):使用Qdrant构建并运行在Docker容器中。存储了电影的类型、描述和剧情梗概的嵌入向量,用于支持基于语义相似性的检索。 * 中间件层(Middleware Layer):使用LangChain框架实现,作为LLM与各工具之间的接口。它负责检测LLM产生的工具调用请求、执行对应的Python代码、并将结果返回给LLM进行后续处理。LLM可以根据前一工具的结果,自主决定是否需要继续调用其他工具。 * 前端应用(Front-end Application):采用Chainlit构建,为用户提供与智能体交互的对话式界面。 * 工具集(Implemented Tools):开发了一系列可供LLM调用的Python函数工具,构成了智能体能力的基石。

2. 工具调用工作流程: 工作流程如图1所示,形成一个动态的“思考-行动”循环: * 用户查询输入:用户通过前端界面提出复杂的自然语言查询(例如,“给我推荐一些类似于《肖申克的救赎》的、在1995年之前上映的剧情片”)。 * LLM解析与规划:LLM接收到查询后,基于其系统提示进行解析和推理。它判断需要调用哪些工具来满足用户请求,并规划调用顺序。 * 工具调用与执行:LLM生成结构化工具调用请求,中间件层接收后,调度相应的工具执行。 * 例如,可能先调用 vector_store_search,根据“类似于《肖申克的救赎》”进行语义搜索,得到一批相关电影的ID。 * 接着调用 item_filter,对上一步得到的电影ID施加“1995年之前上映”且“类型包含剧情”的过滤条件。 * 然后调用 get_top_k_recommendations,结合当前用户的ID(可能从对话历史或查询中解析),在过滤后的物品列表上运行预训练的推荐模型,生成个性化排名。 * 最后调用 get_item_metadata,获取最终推荐列表的电影详情(如标题、导演、评分等),用于生成解释。 * 结果整合与回复生成:每个工具的执行结果被返回给LLM。LLM综合所有工具返回的信息(如物品ID列表、元数据、用户历史等),运用其推理能力进行整合、分析,并生成最终的自然语言回复,包括推荐列表、理由解释等,通过前端呈现给用户。

三、 主要结果与发现

本研究的主要成果并非一系列量化的性能指标比较,而是成功构建并演示了一个功能完备、流程协同的原型系统。其结果主要体现在智能体通过集成多种工具所展现出的多样化、复杂化推荐与问答能力上,验证了所提框架的可行性和潜力。

1. 复杂用户查询处理能力的实现: * 智能体能够处理的查询远超传统推荐系统的“为用户A推荐Top-N物品”模式。例如,针对“用户情绪化推荐”(如“我今天感觉很忧郁,想看点什么”)这类模糊查询,智能体可以调用工具分析用户历史偏好(get_interacted_items),结合向量存储搜索(vector_store_search)匹配“忧郁”相关主题的电影,再经过推荐模型(get_top_k_recommendations)进行个性化排序,最终给出推荐并解释为何某部电影适合当前情绪。这一系列操作无需为LLM专门训练“理解情绪并推荐”的能力,完全通过工具组合与LLM推理实现。 * 约束推荐(Constrained Recommendation) 能力得到直观体现。如前述例子所示,用户可以在一次查询中同时表达个性化需求(“为我推荐”)和复杂约束(“类似X”、“Y年之前”、“Z类型”)。系统通过串联调用不同工具,能够有效满足这种多条件组合查询。

2. 推荐解释与深度信息检索能力的实现: * 当用户询问“为什么推荐这部电影给我?”时,智能体可以调用 get_user_metadataget_interacted_items 分析用户特征和历史行为,调用 get_item_metadata 获取推荐物品的详细信息,并可能结合推荐模型的内在逻辑(如协同过滤的“因为和你喜好相似的用户也喜欢”),生成内容丰富、个性化的解释。 * 智能体还能回答纯粹的信息查询,如“汤姆·克鲁斯演过哪些科幻片?”,这通过调用 item_filter 工具在数据库执行SQL查询即可完成。

3. 平台数据分析能力的拓展: * 研究展示了智能体不仅服务于终端用户,还能为内容创作者和平台运营者提供洞察。例如,对于查询“计算对特定剧情线(如‘时间旅行’)感兴趣的用户百分比”,智能体可以调用 vector_store_search 找到相关电影,再调用 get_like_percentage 工具进行计算。这种能力将推荐系统从被动响应用户请求,扩展为可主动分析市场趋势的工具。

这些结果有力地支撑了研究结论:通过TC和RAG将LLM与外部工具(特别是预训练RS)解耦集成的方案是可行的。LLM成功扮演了“协调者”和“推理者”的角色,而专业工具则负责其最擅长的计算(如排名、筛选、检索)。这种分工协作使得整个系统既能处理复杂语义和对话,又能保持高水平的推荐性能,且具备良好的可扩展性。

四、 研究结论与价值意义

本研究的核心结论是提出并验证了一种新颖的、基于智能体架构的LLM与推荐系统集成范式。该范式成功规避了对LLM进行推荐任务微调的需求,从而解决了相关研究领域中存在的性能瓶颈和资源消耗问题。

其科学价值在于: 1. 范式创新:将LLM定位为利用外部工具的“智能体”,而非直接作为推荐模型或特征提取器,为LLM与领域专用模型的融合提供了新的设计思路。 2. 性能与灵活性兼顾:推荐性能取决于所集成的外部推荐算法本身,因此可以直接利用领域内最先进的推荐模型,保证了推荐效果的下限。同时,LLM的推理能力为系统带来了前所未有的自然语言交互和复杂查询处理灵活性。 3. 模块化与可扩展性:系统架构高度模块化。LLM、推荐模型、数据库、向量存储以及各类工具均可独立替换或升级。添加新功能只需实现新的工具并告知LLM即可,无需改动核心架构。

其应用价值显著: 1. 降低部署门槛:企业或研究者无需从头训练或微调一个庞大的LLM来获得推荐能力,可以复用现有的、高效的推荐系统,快速构建智能对话式推荐接口。 2. 提升用户体验:能够支持自然、多轮、带复杂条件和解释需求的对话式推荐,极大地丰富了推荐系统的交互形式和服务深度。 3. 多角色服务:系统不仅能服务终端消费者进行物品发现,还能为平台运营者提供数据洞察和分析能力,具有更广泛的应用场景。

五、 研究亮点

  1. 首创性:这是首个专门针对推荐系统场景设计并演示LLM-based智能体的工作,开辟了一个新的研究方向。
  2. 方法新颖性:巧妙地利用TC和RAG技术,实现了LLM与预训练RS的“非侵入式”集成,避免了权重微调,在方法上具有显著创新。
  3. 系统完整性:研究不仅提出了概念,还构建了一个包含完整工具链、中间件和前端演示的端到端系统,并提供了开源代码,具有很强的可复现性和参考价值。
  4. 强调专业分工:研究突出了“让专业的人做专业的事”的设计哲学——LLM负责理解与推理,RS负责排名与预测,数据库负责结构化查询,向量存储负责语义检索——这种分工协作是系统成功的关键。

六、 其他有价值内容

本研究提供了详尽的开源实现(GitHub仓库),包含了所有组件的配置说明、系统提示词、工具接口定义以及扩展新工具的指南。这使得其他研究者和开发者能够在此基础上进行进一步的实验、改进和应用到其他数据集或领域。论文中还讨论了模型选择的重要考量(如函数调用能力),并对使用的工具(如LangChain, Qdrant, Ollama)和数据集(MovieLens 100K)进行了明确说明,为后续研究提供了清晰的技术路径。同时,作者也指出了框架的普适性,即所使用的LLM和RS模型均可根据资源和需求进行替换,展现了框架的良好通用性。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com