IntraSkill / ShopSimRL · Qwen3.5-4B · Iter80 · 4 rounds
Original source document; content retains its source language. Markdown ↓

模型在训练中怎样改变购物行为

仅看奖励,无法区分生成更短、工具使用更好、搜索更执着,还是被解决任务的构成变化。本次提取 20,480 条训练 episode / 110,997 个模型 turn,以及九个条件的 3,600 条完成评测轨迹。这是事后分析,没有新增模型采样。

指标定义

指标 定义
模型步数 保存的模型生成次数,包含未成功执行动作的协议修复
动作 / 有效动作 提交的 action / 环境反馈明确接受的 action
每步 token 先对完整 episode 计算总生成 token / 模型步数,再对 episode 平均
Pooled 每步 token 总 token / 总 turn,长 episode 权重更大
训练 token 对保存的 raw_output 重编码,包含 reasoning 与工具调用标记,不是原始采样 ID
评测 token API 记录的 completion_tokens,含 reasoning,不含输入 token
搜索 / 不同查询 有效执行的搜索 / 规范空白、忽略大小写后的不同查询
打开商品 从搜索结果到商品详情的有效状态转移
不同商品 / 重访 打开过的不同商品 ID / 再次打开同一个 ID
选规格 / 改规格 有效规格点击 / 把已选择的规格轴改为另一值
回退 / 翻页 从详情返回或重启搜索 / 在搜索结果页之间导航
协议错误 / 无效动作 模型输出解析失败 / 环境明确返回动作无效

选择颜色、尺码时刷新的是同一商品页,不增加打开商品数。仅在搜索结果中出现的商品不计为浏览过的商品详情。全部可评分训练 episode 和完成评测 episode 都有完整 token 计数;技术故障单独标记。本次不重建 failed attempts 的全部请求成本。

成功路径保持短,剩余失败具有更长尾部

轮次 结果 n 模型步 token/步 搜索 不同商品
R0 成功 3234 4.54 259.01 1.07 1.05
R0 失败 1827 6.76 309.66 1.41 1.25
R1 成功 4191 4.58 250.32 1.07 1.05
R1 失败 929 9.72 276.21 2.03 1.41
R2 成功 4281 4.83 184.66 1.13 1.04
R2 失败 839 10.28 217.82 2.28 1.44
R3 成功 4471 4.56 209.91 1.07 1.04
R3 失败 649 8.97 299.44 2.07 1.30

成功训练轨迹的均值保持在约 4.5–4.8 步,每轮中位数都是四步。失败均值由 R0 的 6.76 升至 R3 的 8.97,R2 达到 10.28;失败步数 p90 分别为 13、22、22、18.2。随着失败群体缩小,剩余任务更具有选择性。这描述剩余失败分布,不能证明训练把同一个失败任务变得更难。

按成功失败划分的生成与交互

轨迹长度累计分布

R0 有 59 条技术上不可评分的轨迹,它们不进入成功/失败均值,也不被记为 reward=0 的策略失败。R0 与 R3 生成任务 ID 没有交集,无法估计训练轮次间的同任务差值;下面使用固定验证集做纵向比较。

生成缩短的证据比交互减少更清楚

同一组 400 个 bare-validation 任务上,Base → Iter80 的平均每步 token 从 282.39 降至 159.46(−43.5%),每 episode token 从 1,704.93 降至 1,021.50(−40.1%)。首次生成由 216.61 降至 129.37 token,此时尚未执行第一次搜索。这提示除了后续导航变化,生成风格本身也有所改变。

平均模型步数由 6.01 降至 5.56,但配对区间跨零;搜索数(1.298 → 1.258)与不同商品数(1.160 → 1.095)的配对差值也没有明确偏离零。因此不能把整体变化确定地概括为“搜索更少”或“步数更少”。

指标 Base Iter80 差值 95% 区间
模型步 6.008 5.555 -0.453 [-1.083, +0.160]
token / 步 282.388 159.455 -122.933 [-142.190, -104.312]
token / episode 1704.928 1021.500 -683.428 [-898.903, -466.375]
搜索 1.298 1.258 -0.040 [-0.160, +0.080]
不同商品 1.160 1.095 -0.065 [-0.138, +0.003]
翻页 0.245 0.018 -0.228 [-0.367, -0.110]
无效动作 0.403 0.087 -0.315 [-0.500, -0.155]
协议错误 0.147 0.347 +0.200 [+0.068, +0.347]

固定验证任务上五个 checkpoint 的变化

Base 与 Iter80 均成功的 211 个任务提供了额外切片:每步生成下降 92.32 token,95% 区间 [−102.08, −83.79],而步数下降仍不确定。这个子集由两端 outcome 共同选择,只适合描述,不是无偏因果子组。所有区间使用 5,000 次任务配对 percentile bootstrap,描述本次训练条件下的任务变异;探索性指标未做多重比较校正。

带不确定性区间的配对变化

环境动作更有效,协议解析问题却更多

固定验证集每 episode 的无效环境动作由 0.4025 降至 0.0875,而协议解析错误由 0.1475 升至 0.3475。前者问的是已提交动作在环境中是否合法,后者问的是模型输出能否解析为要求的工具调用,两种失败可以反向变化。

在两端均打开过商品的 399 个任务上,首次打开商品的结果排名从 4.96 降至 1.30;每任务翻页由 0.245 降至 0.0175。二者共同表明更倾向于靠前结果,但不能单独证明查询语义更好,也不能证明减少比较总是有益,仍需结合匹配质量和任务结果。

生成变化发生在哪些页面

按动作之前的页面将 turn 划为搜索首页、搜索结果、商品详情与协议修复,分别对应初始规划、结果选择、规格核验与格式修复。按 turn 加权的均值和 p90 可以揭示 episode 均值掩盖的长输出。

按页面阶段划分的 token 长度

训练生成长度并不单调,每 episode 的平均每步 token 分别为 277.30、255.02、190.09、221.26。轮次边界上技能内容和训练任务都在变化,不能把曲线归因为纯参数变化,也不能直接与基于 API usage 的评测曲线共用绝对 token 标尺。

有明确选择规则的轨迹案例

下面是事后挑选的机制示例,不是随机样本,也不说明现象发生率。既包含改善,也包含退化。路径仅展示动作类别,不公开完整私有任务上下文;同分时选择较小 task ID。

Task 1828 · 两端均成功:步数下降最多

Base · 25 turns · 6,174 tokens · success=1

search → open_product → invalid_action → select_option → backtrack → search → open_product → select_option → backtrack → search → open_product → select_option → backtrack → search → open_product → select_option → backtrack → search → open_product → select_option → backtrack → search → open_product → select_option → purchase

Iter80 · 4 turns · 740 tokens · success=1

search → open_product → select_option → purchase
Task 3538 · 失败 → 成功:token 降幅最大

Base · 30 turns · 13,465 tokens · success=0

search → open_product → invalid_action → invalid_action → invalid_action → invalid_action → invalid_action → invalid_action → invalid_action → invalid_action → invalid_action → invalid_action → invalid_action → invalid_action → backtrack → search → open_product → invalid_action → invalid_action → invalid_action → invalid_action → invalid_action → backtrack → repair → search → open_product → invalid_action → invalid_action → invalid_action → invalid_action

Iter80 · 4 turns · 1,045 tokens · success=1

search → open_product → select_option → purchase
Task 4359 · 成功 → 失败:最终轨迹最长

Base · 4 turns · 959 tokens · success=1

search → open_product → select_option → purchase

Iter80 · 30 turns · 6,084 tokens · success=0

search → open_product → backtrack → search → repair → paginate → invalid_action → repair → backtrack → search → repair → backtrack → search → open_product → repair → backtrack → search → paginate → repair → repair → backtrack → search → repair → repair → repair → repair → backtrack → search → repair → repair

下载与扩展

训练 episode 表训练 turn 表评测 episode评测 turn 可用于进一步切片。汇总 JSON 包含全部 80 步、均值/中位数/p90、成功失败分布、各轮 skill-free/assisted 汇总、页面阶段统计及配对元数据。

训练内辅助条件比较是观察性的,受 q、任务分配、筛选和技能内容影响,不能当作加上最终 skill 的随机效果估计。测试结果W&B 诊断补充了这些行为测量。