大数跨境
0
0

基于 OceanBase 的多智能体推荐系统

基于 OceanBase 的多智能体推荐系统 CAMEL AI
2025-09-30
0
导读:OceanBase 社区分享了基于 CAMEL-AI 多智能体框架与 OceanBase 数据库 的推荐系统实践。文章从项目动机、整体架构、工作流设计到效果展示。

OceanBase 社区分享了基于 CAMEL-AI 多智能体框架 与 OceanBase 数据库 的推荐系统实践。文章从项目动机、整体架构、工作流设计到效果展示,全面介绍了如何通过多智能体协作实现用户显性与隐性需求挖掘,并在推荐结果中做到个性化与可解释性,为数据库与 AI 融合应用提供了新思路。感谢OceanBase的写作和分享,让我们一起探索多智能体的未来吧!


01 项目背景与动机

从“输入驱动”->“数据驱动”的#智能推荐

在当今的数字化时代,推荐系统已成为我们生活中不可或缺的一部分。然而,传统的推荐系统往往依赖于用户明确表达的需求,例如用户在搜索框中输入具体的产品名称或服务类型。这种方式虽然能够满足用户的基本需求,但却忽视了用户潜在的兴趣和偏好。我们的目标是构建一个更加智能的推荐系统,它不仅能够理解用户的显性需求,还能通过分析用户的历史行为和评论记录,挖掘出用户的隐性需求,主动理解用户、自动完成推荐。

例如,当您在电商平台上购买了一本书后,系统会自动推荐与之相关的其他书籍,而无需您明确告知系统您的兴趣所在。这种主动理解用户需求并提供个性化推荐的系统,能够极大地提升用户体验。更重要的是,我们希望这个系统能够清楚地解释其推荐的理由,而不仅仅是简单地给出一个推荐列表。

为什么要用 Multi-Agent 构建推荐系统?

在传统的推荐系统中,用户的需求通常是隐性、动态且与上下文紧密相关的。这一点与当前大型语言模型的特性非常契合,例如其对上下文的理解和动态生成能力。然而,传统的单一模型虽然能够完成推荐任务,但往往是黑盒决策,缺乏可解释性,难以适应复杂多变的场景。传统的推荐模型通常是基于概率算法实现的,例如协同过滤和矩阵分解等,但它们无法解释为什么推荐某个特定的商品或服务。

为了解决这一问题,我们采用了多智能体系统。推荐流程包含多个子任务,如意图识别、内容分析、排序与解释等。单个智能体难以胜任全部职责,且可能会受到内存限制和 #Token 超出的问题。因此,我们利用多个智能体协作来实现任务分工和信息整合,从而提升系统的智能化、灵活性与透明度。


02 项目框架与数据集介绍

在本项目中,我们采用了三个主要的技术框架。

CAMEL-AI

一个开源的多智能体框架,旨在构建自主协作的智能体系统。它通过角色扮演、任务分配与自主推理,使多个智能体能够在无需人工干预的情况下共同完成复杂任务。

OceanBase

阿里巴巴自主研发的分布式关系型数据库和向量数据库,具备高可用性、高性能和强一致性,专为大规模互联网应用设计。

Yelp 数据集

Yelp 公司为教育和研究目的公开的一个包含商户信息、用户评论和用户资料的真实世界数据子集,广泛用于自然语言处理、情感分析和推荐系统等领域。


03 工作流介绍

推荐系统整体的工作流如下图所示,主要有如下10个步骤:

Step 1:用户在前端页面输入一个简单的查询,例如“我想去一家咖啡店”或“我想要一个安静的氛围”,用户可能会提出一些具体的需求,如“我希望有免费 Wi-Fi”或“我希望可以停车”。

Step 2:显性需求提取 #Agent 将根据用户的查询提取显性需求(关键词),例如,用户的详细需求可能是“我想去一家有海边氛围的咖啡店”,系统会提取出“咖啡店”和“海边氛围”等关键词。然后系统将关键词通过向量索引方式导入到 OceanBase 中进行搜索匹配,以匹配出相关的商户。

Step 3:系统会通过向量检索+全文检索的方式,从数据库中获取一批潜在商家,并返回商家 ID。

Step 4:系统根据商家 ID 在 #OceanBase 中进行 SQL 检索,获取每个商家的基本信息和用户对他们的评论,包括每个商家的具体信息,例如是否有 Wi-Fi、是否提供停车服务、是否提供某种特定服务,以及历史用户对该商家的评论数据。

Step 5:将 Step 4 得到的数据传递给商户特征分析 Agent 进行总结分析。

Step 6:进行 SQL 搜索,通过用户 ID 检索出该用户的历史评论,并传递给隐性需求挖掘 Agent,以挖掘用户的隐性需求。

Step 7:将 Step 5 得到的商户信息+评论总结传递给用户商户匹配评分 Agent,对每个商户进行分析匹配+打分。

Step 8:将 Step 6 得到的隐性需求挖掘 Agent 推断出的用户隐性需求传递给用户商户匹配评分 Agent。

Step 9:用户商户匹配评分 Agent 将根据用户隐性需求 + 商户多维信息,严谨评估匹配度并打分,然后传递到 Agent。

Step 10:系统根据分数选择分数最高的3个商户进行推荐,最终 Agent 不仅会推荐商家,还会给出推荐的理由,并将这些数据再次存储到 OceanBase 中,以便后续的训练以及进一步提升推荐效果。


Image


04 效果展示

多智能体推荐系统的内部效果主要包含用户显性需求、用户隐性需求分析、商户特征分析、商户打分、最终推荐五个方面。

用户显性需求
系统识别用户的显性需求,例如用户搜索“餐厅”,系统会匹配到相关的商家 ID。

Image


用户隐性需求分析
隐形需求挖掘 Agent 根据用户 ID 分析其隐性需求,例如用户的消费习惯、性格特点以及对商户的期望等。

Image


商户特征分析

商户特征分析智能体会结合商户的所有属性以及用户对这些商户的历史评论进行分析。例如,对于一个名为“Sunflower Cafe”的商家,系统会分析其位置、类别、关键特点等信息,并结合其他用户对该商家的评论进行综合评估。

Image


商户打分

系统对每个商家进行打分,例如“Sunflower Cafe”得到 8 分,“Wasabi Sushi”得到 6 分等。

Image


最终推荐

系统根据分数给出推荐结果,并附上推荐理由,例如“推荐 Sunflower Cafe,因为它提供新鲜且高质量的寿司,价格合理”。

Image


05 创新点与改进之处

基于 OceanBase 多智能体推荐系统在设计和产品特性方面有很多创新之处。

  • 一种推荐的新思路
    基于 OceanBase 多智能体推荐系统是一种全新的推荐思路,传统推荐侧重行为数据建模,如协同过滤和矩阵分解。本系统创新采用多智能体协作与自然语言处理,挖掘用户显隐性需求,实现更个性化且可解释的推荐。

  • 高扩展性+可移植性
    由于系统采用了动态的 Workforce 框架,我们可以在不进行大量硬编码的情况下,灵活地构建多智能体协作流程。例如,可以随时加入新的 Agent,如地理位置偏好 Agent 或情绪感知 Agent,以满足不同的推荐需求。此外,这套系统适用于不同领域的推荐系统,无论是金融领域、新兴领域,还是传统的商家推荐系统,只要数据存储在 OceanBase 中,都可以进行推荐。

  • 灵活性
    依托 CAMEL-AI 框架中强大的 Workforce 模块,本系统无需大量硬编码,便可灵活构建多智能体协作流程,高效完成各类任务。


当然,当前的多智能体推荐系统不可避免地也存在一些有待改进之处。

  • 运行速度
    用于 Mutliagent 的协作,不可避免会带来多次对大模型的调用,为提升效率,可通过任务解耦实现部分智能体并发执行,减少串行调用带来的延迟(目前 #CAMELAI 社区升级后的 Workforce 已经支持这个功能)。

  • 接入真实数据
    可通过调用商家 API 实时获取营业状态、评价内容、服务信息等,从而辅助智能体更准确地判断商户情况,提升推荐结果的时效性与可信度。



👉 10月14日(周四)19:30,《从故障处理到性能调优:OceanBase资深DBA进阶培训》第五期,通过讲解负载均衡的故障排查思路和注意事项,带你掌握OceanBase高可用集群运维技巧。
如果您在使用 OceanBase 社区版产品的过程中,遇到任何问题,或者需要咨询使用 OceanBase 社区版相关的技术方案,都欢迎添加 OB 社区小助手的微信,和我们进行交流。
Image

欢迎大家关注 OceanBase 社区公众号 “老纪的技术唠嗑局”,在这个公众号中,会持续为大家更新与 #数据库 、 #AI 相关的技术内容!

【声明】内容源于网络
0
0
CAMEL AI
这里是CAMEL-AI开源社区官方公众号,希望让更多的中文开发者们了解最新的Agent行业资讯和CAMEL-AI的更新与改进。
内容 79
粉丝 0
CAMEL AI 这里是CAMEL-AI开源社区官方公众号,希望让更多的中文开发者们了解最新的Agent行业资讯和CAMEL-AI的更新与改进。
总阅读4
粉丝0
内容79