# GD 量化落地：Qwen3.8 τ²-bench 基线数据验证报告

> 2026-08-30 · 三智能体分析（gold-checker / data-mapper / gd-trial）· 数据：`E:\2026ICLR\Qwen3.8baseline\taubench_qwen38_baseline\results\`（τ²-bench v1.0.0，Qwen3.8-27B 全链路，783 对话）
> 试算脚本：`E:\2026ICLR\Qwen3.8baseline\tmp_gd_retail.py`（retail 342 对话全量）

---

## 一、三量 → 可计算指标最终映射（已验证）

| 量 | 可计算指标 | 数据来源（字段路径） | 验证状态 |
|---|---|---|---|
| **$A_t$** 对齐行为资源量 | 窗口内写调用中 (name, arguments) 与金标写动作**参数级一致**的次数 | `simulations[i].messages[j].tool_calls[].{name,arguments}` ↔ `tasks[].evaluation_criteria.actions[]`（同文件内嵌，键 `task_id→id`） | ✅ 与官方 `action_checks[write].action_match` 合计 435=435、逐条 526/526 双重一致 |
| **$M_t$** 不对齐行为资源量 | 窗口内写调用消耗式匹配金标后的**剩余数**（金标外写 / 参数错误） | 同上；官方 action_checks **不含**金标外写，必须自算 | ✅ 自建匹配完全复刻官方 `compare_with_tool_call`（name+compare_args 子集比较，multiset 去重） |
| **$N_t$** 窗口总行为资源量 | 口径 A：窗口内写操作数；口径 B：全部工具调用数（中位 7/对话） | `tool_calls[].name ∈ 写工具集`；**写工具识别必须用 `reward_info.action_checks[].tool_type`**（tasks 里的 tool_type 全为 null） | ✅ retail 写 7 个 / 读 6 个 / generic 2 个（calculate、transfer_to_human_agents 不算写） |

**GD_t** = 0.5 − 0.5(A_t−M_t)/N_t，H=10 滑窗，空窗 forward fill。

## 二、有效性验证（retail 342 对话，参数级口径）

| 组 | n | GD 均值 | GD 中位 |
|---|---|---|---|
| reward=1 | 235 | 0.068 | 0.000 |
| reward=0 | 64 | 0.506 | 0.521 |

**Mann-Whitney p = 3.1e-13，AUC = 0.797** —— GD 有效区分成败（失败组高 7 倍）。
写操作级错误率：成功组 5.2% vs 失败组 44.4%；含 misaligned 写的对话占比 8.1% vs 68.8%。

## 三、活标本：一条自然漂移对话（无需任何注入）

**sim 64（task 59，reward=0）**：agent 第 1 步正确取消 #W8268610 后，对 #W2702727 **连续 11 次调用 modify_pending_order_address**，每次真实写入但参数全错（zip 填空、把邮编 62701 填进 state 字段），反复"自我纠正"越陷越深。GD 序列：0 → 0.80（第5步）→ 0.90 → **1.00（第11步起锁定）**。**这是"重复漂移写"型自然漂移的现成论文素材。**

## 四、分布事实与口径修正（重要）

- **单任务内写操作太少**：每对话写操作中位数 **1**（43/342 对话为 0）→ 任务内滑窗 GD 准二值化（236/299 条=0.0）。判别力仍在但粒度粗。
- **修正方向**：GD 的分析单元从"任务内逐轮"改为 **①跨任务序列**（261 任务连跑，写操作池 ~390+，正好落在跨 run 研究设计上）或 **②口径 B 全调用**（分布连续：0.25–0.875，代价是读查询稀释）。
- banking 域需单独处理：983 写中以 `call_discoverable_agent_tool` 649 为主（可发现工具机制），tool_type 多为 generic。

## 五、两个必须补的通道（GD 盲区）

1. **"漏做"通道**：reward=0 组有 **78 个金标写动作从未被执行**——主要失败模式是**漏做而非做错**（exchange_delivered_order_items 漏 27 个最多）。当前 GD 只测"写错"（commission），没测"没写"（omission）——**恰好对应 Ⅰ 部的 GD_inaction**，可落地为：`遗漏金标写动作数 / 金标写动作总数`。
2. **无写操作对话**：43 条（其中 reward=0 组 14 条，占失败样本 17.9%）GD 无定义——用遗漏通道覆盖（全漏=满分漂移），forward fill 不够。

## 六、优化靶点（错误热点，供"提高 $A_t$ 抑制偏移"用）

| 工具 | reward=0 组错误率 | reward=1 组 | 形态 |
|---|---|---|---|
| exchange_delivered_order_items | 64.7% | — | 错写 + 漏做（27 个未执行，双向最重） |
| modify_pending_order_address | 53.6% | 0% | 重复漂移写（活标本主角） |
| cancel_pending_order | 47.4% | — | 错写 |
| modify_pending_order_items | 37.5% | — | 错写 |
| return_delivered_order_items | 37.0% | 14.0% | 唯一在成功组也常错的 |

失败对话写操作**更多**（1.73 vs 1.44）——失败 = 多写 + 错写，不是少写。

## 七、数据坑备忘

- tool_calls 扁平结构 `{id, name, arguments(dict), requestor}`；role=tool 消息无 tool_call_id，按位置配对
- `transfer_to_human_agents` 参数为自由文本（官方语义判定，9/1636 出入）；read/write 100% 可精确复现
- 136 条对话 action_checks 为 null（user_stop/max_steps/基建错误），只能走自建比对
- 本地 tau2-bench 克隆是 v0.2.0（无 banking）——**一律用 results json 内嵌 tasks 作金标**
- 包内 README 提到的 tau2_summary.json 与基线报告 md 实际不存在
