paper2skills Playbook

MAS Collaborative Recommendation — 多智能体协同个性化推荐:LLM Agent 异构协作框架

Skill-MAS-Collaborative-Recommendation · 05-推荐系统

causalexperimentforecastingoptimizationrecommendationragmulti_agentpricing广告与投放供应链与补货推荐与搜索知识图谱与RAGMAS与智能体工程定价与利润风控与合规WF-A 智能补货WF-B 广告优化WF-D 选品扫描WF-F 动态定价WF-G Listing内容优化
实现难度⭐⭐⭐⭐☆
业务视角
适用角色运营负责人 / 选品负责人 · 产品经理 · 广告优化师
适用平台Amazon · DTC 独立站 · 邮件/SMS 个性化
什么情况下用老客来了只买一件就走,相关产品没被推出去;Bundle 商品连带销售做不起来;站内推荐位点击率低
成功是什么样的老客连带购买率提升 20-35%,客单价提升,品类交叉销售做起来
业务痛点
老客复购率上不去相关产品没有被看到Bundle 凑单没人用新品没有曝光机会

1. 解决的问题

传统推荐系统是单一模型的端到端优化,难以整合多维用户意图(价格敏感、品牌偏好、安全认证关注)。MAS Collaborative Recommendation 将推荐任务分解为多个专业化 LLM Agent 的协作问题

2. 核心算法逻辑

传统推荐系统是单一模型的端到端优化,难以整合多维用户意图(价格敏感、品牌偏好、安全认证关注)。MAS Collaborative Recommendation 将推荐任务分解为多个专业化 LLM Agent 的协作问题:

3. 业务应用场景

业务背景:跨境母婴电商选品需要同时考虑:① 当前趋势(TikTok热词)② 安全认证(FDA/CE)③ 价格竞争力 ④ 用户历史偏好。单一模型无法均衡处理这四个维度。

MAS Collaborative Recommendation 应用:

业务背景:母婴跨境供应商评估新 SKU 时,需要同时考虑:市场需求预测、竞品分析、合规审查、利润测算。AIM 系统当前用人工判断,效率低、一致性差。

4. 输入数据要求

请查看原始代码模板获取输入规格。

5. 输出结果

  • `final_score`:综合所有 Agent 加权 + MF 锚定后的最终分
  • `explanation`:包含主要决策 Agent 和具体推理链,可直接展示给用户

6. 业务价值 / ROI

未自动抽取;请查看原始 Skill 卡片。

7. 代码模板

代码块数量:5 · 路径:未检测到

"""
MAS Collaborative Recommendation: 多智能体协同个性化推荐
整合 MF 基础分 + 专业化 LLM Agent + Orchestrator 动态路由 + 协商机制
完全使用 mock 数据,无需真实 LLM API
"""

import numpy as np
from dataclasses import dataclass, field
from typing import Any, Callable, Dict, List, Optional, Tuple
from abc import ABC, abstractmethod


# ── 数据结构 ──────────────────────────────────────────────────────────────────

@dataclass
class UserQuery:
    """用户查询(含意图向量)"""
    user_id: str
    query_text: str
    age_group: str = "0-12m"       # 宝宝月龄段
    price_budget: float = 50.0     # 价格上限
    quality_concern: float = 0.7   # 质量关注度 [0,1]
    price_sensitivity: float = 0.5 # 价格敏感度 [0,1]
    trend_sensitivity: float = 0.3 # 趋势敏感度 [0,1]

    @property
    def intent_vector(self) -> np.ndarray:
        """3维意图向量:[质量, 价格, 趋势]"""
        return np.array([
            self.quality_concern,
            self.price_sensitivity,
            self.trend_sensitivity,
        ])


@dataclass
class Product:
    """商品信息(用于 Agent 评分)"""
    product_id: str
    name: str
    price: float
    category: str
    safety_cert: List[str] = field(default_factory=list)  # ["FDA", "BPA-free", "CE"]
    age_range: Tuple[int, int] = (0, 36)    # 适用月龄范围
    rating: float = 4.0
    bsr_rank: int = 1000                    # Amazon Best Seller Rank
    is_trending: bool = False


@dataclass
class AgentOutput:
    """单个 Agent 的推荐输出"""
    agent_name: str
    scores: Dict[str, float]            # {product_id: score}
    reasoning: Dict[str, str]           # {product_id: 推荐理由}
    confidence: float = 1.0             # Agent 对自身输出的置信度


# ── 专业化 Agent 基类 ─────────────────────────────────────────────────────────

8. 论文来源

  • 2310.09233
  • 2408.16714
  • 2501.12547