MACRec:一个用于推荐的多智能体协作框架
摘要: 本文提出MACRec,一个基于大语言模型(LLM)的多智能体协作推荐框架,通过专业化智能体分工解决推荐任务。现有研究多聚焦于智能体模拟用户/物品行为或单一智能体推荐,而MACRec创新性地引入多智能体协作机制,包括管理器、用户/物品分析师、反思器、搜索器和任务解析器,各司其职协同完成任务。框架支持评分预测、序列化推荐、对话式推荐及解释生成等场景,并提供了可视化在线界面。实验表明,MACRe
原文链接:https://arxiv.org/abs/2402.15235
论文代码:https://github.com/wzf2000/MACRec
摘要
基于大语言模型(LLM)的智能体因其决策能力和处理复杂任务的能力而获得了广泛关注。认识到当前在推荐系统中利用智能体能力进行多智能体协作方面的空白,引入了MACRec,这是一个旨在通过多智能体协作来增强推荐系统的新型框架。与现有使用智能体进行用户/物品模拟的工作不同,的目标是部署多智能体直接解决推荐任务。在框架中,推荐任务通过多种专门化智能体的协作努力来解决,包括管理器(Manager)、用户/物品分析师(User/Item Analyst)、反思器(Reflector)、搜索器(Searcher)和任务解析器(Task Interpreter),它们具有不同的工作流程。此外,提供了应用示例,展示开发者如何轻松地在各种推荐任务中使用MACRec,包括评分预测、序列化推荐、对话式推荐以及推荐结果的解释生成。
关键词:多智能体;大语言模型;推荐系统
1. 引言
推荐系统(RSs)在提升用户体验和平台经济效益方面发挥着至关重要的作用,已成为电子商务、社交媒体等多个领域的重要组成部分。当前,大语言模型(LLMs)的进展催生了能够完成复杂任务的基于LLM的智能体。这些智能体的语义理解、规划和决策能力为更细致、更情境感知的推荐开辟了新的潜力。
研究人员已开始利用智能体的能力来解决推荐任务。现有的工作主要集中于使用智能体模拟用户或物品行为,提供对用户偏好的洞察,但未能充分整合到推荐系统中。另一方面,一些研究尝试利用智能体的能力直接构建推荐器,主要使用一个具有规划和记忆组件以及辅助工具(如搜索引擎)的单一智能体。然而,推荐场景中存在各种复杂的决策任务,单一智能体实例在这些任务上表现不佳。多智能体协作接近人类工作流程,被认为能够通过集体智慧更好地完成复杂任务。尽管工作提出了一个多智能体推荐框架,但它只有有限的智能体类型和固定的协作模式。
为了更好地释放多智能体协作在推荐任务中的潜力,提出了MACRec,一个新颖的用于推荐系统的多智能体协作框架。值得注意的是,该框架不同于使用智能体进行模拟的研究,而是专注于直接构建推荐器。MACRec 提供由LLM驱动的、具有能力且配备有用工具的可定制智能体。例如,提供管理器(Manager)来规划和管理任务执行,反思器(Reflector)来反思先前的错误,用户/物品分析师(User/Item Analysts)来分析用户/物品特征,搜索器(Searcher)使用搜索工具搜索更多信息,以及任务解析器(Task Interpreter)将对话翻译成可执行的推荐任务。这些具有不同角色的智能体协同工作以解决特定的推荐任务。
此外,提供了在多种推荐任务上使用MACRec的应用示例,包括评分预测、序列化推荐、对话式推荐和推荐结果的解释生成。考虑到不同场景对智能体的需求各异,展示了选择和定制智能体以在各种推荐任务上协作的示例。此外,为MACRec开发了一个在线网络界面,提供了智能体协作过程的可视化。这项工作的主要优势可总结如下:
(1)新的用于推荐的多智能体协作框架。与先前专注于使用智能体进行用户/物品模拟的研究不同,提出了一个新的用于推荐的多智能体协作框架MACRec。在此框架中,具有不同能力的智能体协同参与以解决特定的推荐任务。
(2)在推荐场景上的多样化应用。展示了在多种推荐场景上的应用示例,包括评分预测、序列化推荐、解释生成和对话式推荐。
(3)用户友好的在线网络界面。为MACRec开发了一个在线网络界面,可视化展示智能体如何协作完成任务。
2. MACRec框架
2.1 框架概述
如图中的示例所示,任务解析器(Task Interpreter)首先以更易理解的方式翻译任务。然后,作为整个系统的核心组件,管理器(Manager)开始调用其他智能体以获取对用户和物品的详细分析。这些智能体,包括搜索器(Searcher)和用户/物品分析师(User/Item Analyst),支持调用一些工具,例如搜索器(Searcher)可以访问搜索引擎,用户/物品分析师(User/Item Analyst)可以访问关于用户和物品的详细信息。在收到来自搜索器(Searcher)和分析师(Analyst)的响应后,管理器(Manager)将尝试提供一个答案,即给出候选集的排序顺序。反思器(Reflector)将负责分析和反思管理器(Manager)在上一轮尝试中的答案并给出建议,例如修改答案格式以遵循任务要求。最终,管理器将基于反思重新尝试解决任务并提供更合理的答案,例如添加遗漏的物品ID。
以下部分将详细介绍每个智能体的具体特性和功能。
2.2 智能体角色
2.2.1. 管理器(Manager)
对于给定的任务,管理器(Manager)会将子任务分配给其他智能体并完成主要的执行过程。它监督所有其他智能体之间的协作。
管理器(Manager)总是交替执行思考(Thought)、行动(Action)和观察(Observation)三个步骤。在思考(Thought)阶段,管理器(Manager)推理任务的当前状况(例如,分析是否充分,是否需要额外信息等)。在行动(Action)阶段,管理器(Manager)可以选择给出答案结束任务,或者寻求其他智能体的帮助(按照特定的接口格式)。其他智能体给出的响应将在管理器(Manager)的观察(Observation)阶段给出。
2.2.2. 反思器(Reflector)
反思器(Reflector)负责判断管理器(Manager)给出的答案的正确性。如果反思器(Reflector)确定答案正确,则会进一步给出反思。
当管理器(Manager)即将对同一任务输入执行第二次或更多次运行时,反思器(Reflector)将介入。如果反思器(Reflector)判断管理器(Manager)给出的答案没有改进空间,管理器(Manager)将不再执行当前轮次。否则,反思器(Reflector)将进一步总结管理器(Manager)可以改进的地方,例如未考虑用户历史交互中少数高评分物品/电影。
2.2.3. 用户/物品分析师(User/Item Analyst)
用户/物品分析师(User/Item Analyst)专门负责检查和理解用户的特征和偏好,以及物品的属性。
分析师(Analyst)将被授予访问两个工具的权限以协助分析,包括信息数据库(info database)和交互检索器(interaction retriever)。分析师(Analyst)可以通过信息数据库获取每个用户的用户画像和每个物品的属性。通过交互检索器,分析师(Analyst)可以获取当前时间之前的用户/物品交互历史。结合这两个工具,分析师(Analyst)可以对用户或物品进行深入分析。
2.2.4. 搜索器(Searcher)
搜索器(Searcher)负责根据管理器(Manager)给定的要求使用搜索工具进行搜索,并最终总结文本回复给管理器(Manager)。
以维基百科(Wikipedia)作为搜索工具为例。搜索器(Searcher)可以给出搜索查询以获取维基百科中最相关的条目。搜索器(Searcher)可以进一步检索特定条目中存在给定关键词的段落。最终,搜索器(Searcher)被要求总结该段落以响应管理器(Manager)的查询。
2.2.5. 任务解析器(Task Interpreter)
任务解析器(Task Interpreter)将对话翻译成可执行的推荐任务。
任务解析器(Task Interpreter)在开始运行时将获取对话历史。由于对话历史可能很长,任务解析器(Task Interpreter)将只获取历史的最后部分。任务解析器(Task Interpreter)也可以调用文本摘要工具来获取更简洁的历史概述。最终,任务解析器(Task Interpreter)将给出任务要求的具体描述,用于指导管理器(Manager)后续的运行。
3.在推荐场景上的应用
3.1 评分预测(Rating Prediction, RP)
评分预测任务涉及根据用户的偏好和历史交互,预测用户可能给物品(如电影或产品)的数值评分。
在评分预测任务中,每个用户会有不同的评分偏好。用户分析师(User Analyst)可以提供对用户历史交互和偏好的详细分析。同时,管理器(Manager)也需要目标物品的特征分析,这可以由物品分析师(Item Analyst)提供。在两种类型分析师(Analysis)的帮助下,管理器(Manager)可以在给出预测前了解用户的评分倾向和物品近期的评分情况。
3.2 序列化推荐(Sequential Recommendation, SR)
序列化推荐系统分析用户交互过的物品序列,以预测他们下一个可能的兴趣。
在序列化推荐任务中,建模用户的长期和短期兴趣非常重要。因此,用户分析师(User Analyst)的作用不言而喻。序列中相关物品的数量显著高于评分预测任务。很难要求物品分析师(Item Analyst)分析出现在历史序列或候选集中的每一个物品。此外,考虑到序列化推荐任务的答案要复杂得多(即候选集的排序顺序),反思器(Reflector)可以帮助避免管理器(Manager)陷入格式问题。单轮的行为分析可能会忽略对长期用户行为的考虑,而对此进行反思是反思器(Reflector)可以做的事情。
3.3 解释生成(Explanation Generation, EG)
此任务涉及为提供给用户的推荐生成可理解且相关的解释。
解释生成任务同样需要对用户和物品进行详细分析。此外,关于物品的更多信息也可能帮助管理器(Manager)理解用户对其的行为。例如,用户可能对同一导演的多部电影有相似的偏好。关于导演的信息可能不包含在数据集中。检索这些额外信息适合由搜索器(Searcher)来执行。
3.4 对话式推荐(Conversational Recommendation, CR)
对话式推荐系统通过与用户进行对话来细化他们的偏好并提供更准确的建议。
在对话式场景中,用户的输入文本不一定是明确指导性的。因此,任务解析器(Task Interpreter)可以帮助将对话历史翻译成更简洁清晰的任务提示。此外,用户的输入要求可能包含管理器(Manager)未知的信息。在这种情况下,搜索器(Searcher)可以帮助管理器(Manager)理解用户提到的内容。
4. 结论
在这项工作中,提出了一种新颖的基于LLM的多智能体协作推荐框架,称为MACRec。与现有使用智能体进行用户/物品模拟的研究不同,直接通过多种智能体的协作来解决推荐任务。展示了MACRec在四个不同推荐任务上的应用。
更多推荐
所有评论(0)