← 论文沉淀 / 🧭 Agent推荐 · ·arXiv ·未核实

ShopX: A Foundation Model for Intent-to-Item Fulfillment in Agentic Shopping

Jiacheng Chen, Tao Zhang, Manxi Lin, Dunxian Huang, Teng Shi, et al. (26 人)

针对LLM代理通过外部搜索/推荐接口实现购物意图时的信息损耗,提出模型原生的商品空间操作基础模型ShopX。利用语义可恢复的混合全局-局部SID统一意图理解、执行规划与灵活的商品操作(检索/排序/捆绑),减少工具交互的带宽损失。通过SID对齐、领域预训练、多教师在线策略蒸馏与联合奖励训练,在保留通用能力的同时获得意图到商品的深度实现能力。

Agentic ShoppingFoundation ModelSemantic IDOn-policy DistillationJoint RL
📝 我的备注
加载中…

核心思路

解决现有LLM代理在购物场景中将丰富意图和上下文通过低带宽的搜索/推荐工具调用传递,导致细粒度信号(偏好、约束、跨商品兼容性)丢失的问题。ShopX将商品空间操作直接内置到模型内部,通过语义ID(SID)作为可生成的商品桥梁,使模型能原生执行检索、排序、捆绑等商品级操作,并在统一框架下完成意图理解、规划和输出,从而减少lossy tool hand-offs,提升多轮交互中的上下文保持和反馈适应能力。

整体实现思路

端到端流程如下:

1. 输入:用户查询、上下文(用户画像、行为历史SID序列)、会话状态
2. 模型通过Serving Harness定义的动作协议(Plan → Execute → Fulfill → Update)进行响应
   - Plan: 理解意图,决定执行路径(检索/排序/捆绑/澄清等)
   - Execute: 基于SID执行商品空间操作(beam search检索、种子扩展、捆绑生成),利用Catalog获取商品证据
   - Fulfill: 生成包含SID和自然语言交错的用户回复
   - Update: 输出需要持久化的状态更新信号(偏好摘要、任务上下文)
3. 训练管线:
   ┌──────────┐   ┌──────────┐   ┌──────────┐   ┌───────────┐
   │ 基座LLM  │ → │ SID对齐  │ → │ 领域CPT  │ → │ 后训练SFT │ → │ OPD–RL联合 │ → ShopX模型
   └──────────┘   └──────────┘   └──────────┘   └───────────┘   └───────────┘
   - SID对齐:冻结主体,仅训练新SID token embeddings
   - 领域CPT:混合购物数据与通用数据,全参数继续预训练
   - SFT:监督微调覆盖一般指令和商品任务
   - OPD–RL:多教师在线策略蒸馏+任务特定奖励联合优化
4. 部署:ShopX模型嵌入harness,通过动作槽位与服务接口交互,完整占有商品空间决策。

子模块实现(可复现细节)

1. 语义ID构造(SID Construction)

目标:为每个商品生成一个模型可自回归生成的离散ID序列,同时保留可恢复的语义信息。

输入:商品多模态数据 xi=(vi,ai,ti)x_i = (v_i, a_i, t_i),其中 viv_i 是商品图片,aia_i 是结构化属性,tit_i 是标题。

输出:混合全局–局部SID序列,形如 G2(i)∥L4(i)=[zi,1G,zi,2G,zi,1L,zi,2L,zi,3L,zi,4L]G_2(i) \parallel L_4(i) = [z_{i,1}^G, z_{i,2}^G, z_{i,1}^L, z_{i,2}^L, z_{i,3}^L, z_{i,4}^L],其中前2个token为全局前缀(从RQ-VAE得到),后4个token为局部后缀(从VQ得到)。

1.1 多模态商品表征学习

编码器:Qwen3-VL-Embedding-2B,直接处理商品图片、属性、标题,输出以下两种结构:

  • 单向量 (SV): EθSV(xi)=giE_\theta^{\text{SV}}(x_i) = g_i (全局向量)
  • 多向量 (MV): EθMV(xi)=(gi,ℓi,1,…,ℓi,M)E_\theta^{\text{MV}}(x_i) = (g_i, \ell_{i,1}, \ldots, \ell_{i,M}) (全局向量 + 局部向量,文中取 M=4M=4)

对比损失(等效商品监督 + 同类别困难负样本): 设正对关系 REP\mathcal{R}_{\text{EP}}(同一底层商品的不同listing),困难负样本集 H(i)\mathcal{H}(i)。信息噪声对比损失(soft-target InfoNCE): LCL(R)=−1∣B∣∑i∈B∑k∈C(i)qi,klog⁡exp⁡(sim(gi,gk)/τ)∑u∈C(i)exp⁡(sim(gi,gu)/τ)\mathcal{L}_{\text{CL}}(\mathcal{R}) = -\frac{1}{|\mathcal{B}|} \sum_{i \in \mathcal{B}} \sum_{k \in \mathcal{C}(i)} q_{i,k} \log \frac{\exp(\text{sim}(g_i,g_k)/\tau)}{\sum_{u \in \mathcal{C}(i)} \exp(\text{sim}(g_i,g_u)/\tau)} 其中 C(i)=PR(i)∪H(i)∪N(i)\mathcal{C}(i) = \mathcal{P}_{\mathcal{R}}(i) \cup \mathcal{H}(i) \cup \mathcal{N}(i),qi,kq_{i,k} 对正对赋权重1,困难负样本赋权重 α∈(0,1)\alpha \in (0,1),其余负样本权重0,并做归一化。sim\text{sim} 是余弦相似度,τ\tau 为温度系数。

重建损失: 使用冻结的Qwen3-4B解码器 DψD_\psi 和可训练适配器 AηA_\eta,将商品表示 ZiZ_i 映射为解码器条件token,通过下一个token预测进行三类重建:

  • 类别重建:Zicat=(gi)Z_i^{\text{cat}} = (g_i),prompt + 目标 yicaty_i^{\text{cat}}
  • 图片描述重建:Zicap=(gi,ℓi,1,…,ℓi,M)Z_i^{\text{cap}} = (g_i, \ell_{i,1}, \ldots, \ell_{i,M}),prompt + 目标 yicapy_i^{\text{cap}}
  • 属性重建:Zi,mattr=(gi,ℓi,m)Z_{i,m}^{\text{attr}} = (g_i, \ell_{i,m}),prompt + 目标 yiattry_i^{\text{attr}}

损失函数: LNTP(Zi,qi,yi)=−∑r=1∣yi∣log⁡pψ(yi,r∣yi,<r,qi,Aη(Zi))\mathcal{L}_{\text{NTP}}(Z_i, q_i, y_i) = -\sum_{r=1}^{|y_i|} \log p_\psi(y_{i,r}| y_{i,<r}, q_i, A_\eta(Z_i)) 最终重建损失: LTR=1∣B∣∑i∈B(ℓicat+ℓicap)+1∣B∣M∑i∈B∑m=1Mℓi,mattr\mathcal{L}_{\text{TR}} = \frac{1}{|\mathcal{B}|} \sum_{i \in \mathcal{B}} (\ell_i^{\text{cat}} + \ell_i^{\text{cap}}) + \frac{1}{|\mathcal{B}|M} \sum_{i \in \mathcal{B}} \sum_{m=1}^M \ell_{i,m}^{\text{attr}} 总表征损失:Lrep=LCL(R)+λTRLTR\mathcal{L}_{\text{rep}} = \mathcal{L}_{\text{CL}}(\mathcal{R}) + \lambda_{\text{TR}} \mathcal{L}_{\text{TR}}。

1.2 混合全局–局部SID Tokenization

全局前缀 (Global RQ Prefix): 对全局向量 gig_i 进行残差量化 (RQ-VAE),KK 层码本 CkG={ek,cG}c=1VkG\mathcal{C}_k^G = \{e_{k,c}^G\}_{c=1}^{V_k^G}。 设 ri,0=gir_{i,0} = g_i,逐层选择: zi,kG=arg⁡min⁡c∥ri,k−1−ek,cG∥22,ri,k=ri,k−1−ek,zi,kGGz_{i,k}^G = \arg\min_{c} \| r_{i,k-1} - e_{k,c}^G \|_2^2, \quad r_{i,k} = r_{i,k-1} - e_{k,z_{i,k}^G}^G 得到前缀序列 GK(i)=(zi,1G,…,zi,KG)G_K(i) = (z_{i,1}^G, \ldots, z_{i,K}^G),文中使用 K=2K=2。

局部后缀 (Local VQ Suffix): 局部向量 ℓi,m\ell_{i,m} 分别通过VQ量化,码本 CmL={em,cL}c=1VmL\mathcal{C}_m^L = \{e_{m,c}^L\}_{c=1}^{V_m^L}: zi,mL=arg⁡min⁡c∥ℓi,m−em,cL∥22z_{i,m}^L = \arg\min_{c} \| \ell_{i,m} - e_{m,c}^L \|_2^2 得到后缀序列 LM(i)=(zi,1L,…,zi,ML)L_M(i) = (z_{i,1}^L, \ldots, z_{i,M}^L),文中使用 M=4M=4。

最终SID:G2(i)∥L4(i)G_2(i) \parallel L_4(i)。码本大小未公开。

1.3 轻量级验证

在25万商品子集上,固定4B基座LLM,进行少量SID对齐和SFT后,测试双向接地:

  • 正向:详细描述 → SID解码 → 目录商品解析,评估命中率
  • 反向:SID输入 → 描述/属性恢复,评估ROUGE-L等

2. SID Token Alignment

目标:为新添加的SID token建立与语言token的关联,使模型能将SID视为可操作的商品标识符。

数据:商品目录的 item-描述 ↔ SID 重建对,约200B tokens,覆盖全部1.2B商品。

训练设置:

  • 冻结原始LLM的所有参数,仅训练新增的SID token嵌入层
  • 优化器:Adam,峰值学习率 1×10−41\times10^{-4}
  • 序列长度:1024 tokens
  • 训练1个epoch
  • 最终选用的 G2+L4G2+L4 SID词汇量由码本大小决定(如256×256或更大)

3. 领域继续预训练 (Domain CPT)

目标:注入购物领域知识,使模型理解商品目录结构、用户偏好与行为的语义,同时保持通用能力。

数据混合 (表2):

  • 购物数据 (66.6% tokens, 91.0% examples):
    • 目录-SID接地:240.7M 样本,31.33B tokens(如SID-标题/属性配对)
    • 意图/行为到商品接地:34.7M 样本,40.84B tokens(查询-商品映射、序列预测、文本化推荐等)
    • 用户偏好理解:200K 样本,3.67B tokens(长行为序列摘要)
  • 通用重放数据 (33.4% tokens, 9.0% examples):知识推理、指令跟随、数学编程
  • 领域:通用 token 比 = 2:1

训练设置:

  • 从SID对齐后的检查点开始,更新全部参数
  • 上下文长度:20,480
  • 优化器:Adam,峰值学习率 5×10−55\times10^{-5},1000步warmup后恒定
  • 训练1个epoch

4. 后训练-SFT

目标:将模型对齐到ShopX动作协议和各类商品任务格式。

数据混合 (表3):

  • 通用数据占74.9% tokens(81.2% examples):通用指令、多轮对话、工具使用、数学、代码
  • 购物数据占25.1% tokens(18.8% examples):
    • SID原生实现:542.9K 样本,1.33B tokens(SID-文本对齐、文本化排序、SID检索/排序、文本-SID交错推荐)
    • 用户/上下文理解:229.0K 样本,1.07B tokens(画像/行为摘要、证据抽取)
    • 购物对话:300.4K 样本,148.7M tokens(多轮引导、商品比较、偏好约束细化)

训练设置:

  • 全参数微调,使用Qwen3 chat模板
  • 上下文长度:81,920
  • 优化器:Adam,峰值学习率 5×10−65\times10^{-6},300步warmup后恒定
  • 训练1个epoch

5. 后训练-OPD–RL联合优化

目标:强化SID预测准确性,恢复通用能力,并对排序、文本-SID交错等任务引入结果级奖励。

任务路由与教师/奖励分配 (表4):

  • 五个任务族各占20% prompts,每步采样256个prompt,每个prompt生成16条轨迹
任务族解码方式教师信号奖励信号
General随机采样General Teacher (预对齐基座)通用回答质量 judge 奖励 (0-1)
SID PredictionBeam searchSID Prediction Teacher (SFT后继续用SID数据微调)无
Ranking随机采样无NDCG奖励
Interleave随机采样无Interleaved Fulfillment Reward
Other随机采样Self Teacher (冻结的SFT模型)无

MOPD目标: 对于有教师监督的任务 k∈{General, SID Prediction, Other}k \in \{\text{General, SID Prediction, Other}\},计算 token 级权重: A^Teacher,g,tϕ(k)=sg[log⁡πϕ(k)(yg,t∣x,yg,<t)πθ(yg,t∣x,yg,<t)]\hat{A}_{\text{Teacher},g,t}^{\phi(k)} = \textbf{sg}\left[ \log \frac{\pi_{\phi(k)}(y_{g,t}|x,y_{g,<t})}{\pi_\theta(y_{g,t}|x,y_{g,<t})} \right] MOPD损失: LMOPD(θ)=−E[1G∑g=1G∑t=1TgA^Teacher,g,tϕ(k)log⁡πθ(yg,t∣...)]\mathcal{L}_{\text{MOPD}}(\theta) = -\mathbb{E} \left[ \frac{1}{G}\sum_{g=1}^G \sum_{t=1}^{T_g} \hat{A}_{\text{Teacher},g,t}^{\phi(k)} \log \pi_\theta(y_{g,t}|...)\right]

奖励设计:

  • General reward: LLM judge对响应打分(0-10),归一化到[0,1]
  • Interleaved Fulfillment Reward: 组合以下三项:
    1. 规则惩罚:缺失SID、重复、超长等
    2. 分层SID匹配得分:预测与参考SID的最优匹配,按最深匹配前缀深度计分
    3. 目录接地judge得分:将SID展开为商品元数据,由LLM judge评估美观性、意图满足度等多元化(归一化) 最终奖励 = (judge得分 + SID匹配得分) × 规则惩罚系数
  • Ranking reward: 输出有效排列则NDCG得分,否则零。

联合目标: 对于任务族 kk,每条轨迹优势为: A^g,tk=1[k∈KOPD]A^Teacher,g,tϕ(k)+αk1[k∈KR]A^Reward,gψ(k)\hat{A}_{g,t}^k = \mathbf{1}[k \in \mathcal{K}_{\text{OPD}}] \hat{A}_{\text{Teacher},g,t}^{\phi(k)} + \alpha_k \mathbf{1}[k \in \mathcal{K}_R] \hat{A}_{\text{Reward},g}^{\psi(k)} 其中 A^Reward,g\hat{A}_{\text{Reward},g} 是群组归一化的奖励优势(GRPO风格),αk\alpha_k 为任务特定权重。最终损失: LJoint(θ)=−E[1G∑g=1G∑t=1TgA^g,tklog⁡πθ(yg,t∣...)]\mathcal{L}_{\text{Joint}}(\theta) = -\mathbb{E} \left[ \frac{1}{G}\sum_{g=1}^G \sum_{t=1}^{T_g} \hat{A}_{g,t}^k \log \pi_\theta(y_{g,t}|...)\right]

训练设置:

  • 共200步,batch size 256,G=16G=16
  • SID Prediction 使用6级beam search (beam size 渐进 [8,32,64,64,64,64])
  • 优化器:Adam,恒定学习率 5×10−75\times10^{-7},前50步warmup

6. 服务框架 (Serving Harness)

  • 动作协议:
    • Plan: 输入当前查询、上下文、历史;输出执行计划(检索/排序/捆绑/澄清等)
    • Execute: 输入计划、意图、种子商品等;通过SID beam search或生成进行商品操作,并可查询Catalog获得元数据
    • Fulfill: 输入选定的商品、证据、上下文;输出文本-SID交错的回复
    • Update: 输入当前轮次交互信息;输出状态更新信号(偏好记忆等)
  • 支撑界面:
    • Context: 用户画像、行为序列、会话信息
    • Catalog: SID到商品元数据的解析服务
    • State: 多轮状态存储,模型可读写
  • 检索细节:SID beam search,在能力诊断时使用 progressive beam schedule (与训练一致);框架评估时用 beam size 30。

实验设置与结果

框架级评估

基于淘宝生产日志构造,1.2B商品快照,279单轮+80多轮任务(真实用户查询)。对比ShopX-4B/8B与工具中介系统InteRecAgent (Qwen3-8B) 和 Chat-REC (Qwen3-8B),工具方提供检索+排序API。

指标定义(0-100):

  • Intent Fulfillment: 单轮意图满足率+多轮目标达成率
  • Item Precision: 单轮类别精确度
  • Ranking Quality: NDCG@5
  • Category Coverage: 单/多轮类别覆盖度
  • Personalization: 画像对齐程度
  • Constraint Grounding: 约束、偏好遵循度
  • Feedback Adaptation: 多轮反馈响应
  • Cross-turn Reference: 跨轮次商品引用解析

结果 (选取部分):

系统意图实现商品精确排序质量类别覆盖个性化约束接地反馈适应跨轮引用
ShopX-4B65.691.192.084.765.774.766.560.9
ShopX-8B69.295.095.583.965.976.471.568.3
InteRecAgent59.589.890.077.163.471.855.941.8

ShopX在各指标全面超越工具中介方案,尤其在反馈适应和跨轮引用上优势显著。

能力诊断

在四项诊断任务上评估模型本身(固定harness),部分结果如下:

能力块任务示例主要指标ShopX-4B通用LLM (基线)
购物语义意图摘要、商品联想Judge评分显著更高-
上下文证据抽取画像/行为相关信号提取相关得分/IoU较优-
文本化推荐个性化顺序推荐HR@640.1950.117 (GPT-4)
商品空间实现描述到商品解析HitRate@640.574-
商品空间实现文本-SID交错实现rubrics评分83.1-

ShopX展现出较强的商品语义理解和SID操作能力。

消融实验关键结论

  • SID设计:多向量MV显著优于单向量SV;混合 G2+L4 比纯全局 G6 在语义恢复和生成操控性上更佳。
  • CPT数据混合:领域:通用 2:1 比例在保持通用能力的同时最大化购物指标。
  • 后训练策略:联合OPD–RL在所有能力块上均带来提升;仅SFT会损害通用能力,仅RL奖励在SID预测上训练不稳定。多教师设置中,General Teacher 对维持通用能力至关重要。

思考与可参考价值

局限性:

  • 依赖海量商品目录数据和预训练资源,SID构建需大规模多模态编码器训练
  • 混合SID对新品冷启动仍不够灵活,码本固定可能需定期更新
  • 评估基于仿真用户和LLM judge,对真实用户场景的泛化性待验证
  • OPD–RL联合训练需维护多个教师和奖励函数,工程复杂度较高

可借鉴点:

  • 模型原生商品空间操作范式:将检索、排序等传统模块融入LLM内部,减少工具接口的信息损失,可推广至其他垂直领域的agent设计
  • 语义ID设计:RQ-VAE生成全局可自回归的前缀,VQ补充局部语义的混合方案,为LLM可操作的商品表示提供了可复用的思路
  • 保留通用能力的多阶段训练配方:SID对齐→领域CPT(带通用重放)→均衡SFT→多教师+奖励联合优化,平衡专业化和通用性,对需要注入领域知识的LLM应用有参考价值
  • 联合蒸馏与RL:利用教师token级监督 + 任务特定奖励的联合框架,在推荐/搜索等具有明确结果信号的任务中,较纯RL或纯SFT更有效。