20260601
This commit is contained in:
49
concepts/tool-efficient-path-reward.md
Normal file
49
concepts/tool-efficient-path-reward.md
Normal file
@@ -0,0 +1,49 @@
|
||||
---
|
||||
title: "Tool-Efficient Path Reward"
|
||||
created: 2026-05-31
|
||||
type: concept
|
||||
tags: [reinforcement-learning, reward-design, trajectory-optimization, tool-calling]
|
||||
---
|
||||
|
||||
# Tool-Efficient Path Reward(工具高效路径奖励)
|
||||
|
||||
**Tool-Efficient Path Reward** 是 [[toolcua-optimal-gui-tool-orchestration|ToolCUA]] 在线 Agentic RL 阶段的核心奖励设计,由两部分组成:
|
||||
|
||||
$$R = R_{\text{fmt}} + R_{\text{acc}} + \lambda \cdot R_{\text{tool}} + \beta \cdot R_{\text{length}}$$
|
||||
|
||||
其中 $\lambda = 0.4, \beta = 0.2$。
|
||||
|
||||
## 两大组件
|
||||
|
||||
### $R_{\text{tool}}$:Tool Appropriateness Reward(工具适当性奖励)
|
||||
|
||||
$$R_{\text{tool}} = I_{\text{succ}} \cdot I[(t_b > 0 \land c > 0) \lor (t_b < 0 \land c = 0)]$$
|
||||
|
||||
- $t_b \in \{1, -1\}$:任务级"工具有益"标签(数据构建时标注)
|
||||
- $c$:轨迹中工具调用累计次数
|
||||
|
||||
**设计哲学**:
|
||||
- $t_b = 1, c > 0$:工具有益任务 + 实际调用了工具 → 奖励 ✓
|
||||
- $t_b = -1, c = 0$:工具无益任务 + 未调用工具 → 奖励 ✓
|
||||
- **将工具使用与任务成功解耦**——即使任务成功,不当工具使用也不获额外奖励
|
||||
|
||||
### $R_{\text{length}}$:Path Efficiency Reward(路径效率奖励)
|
||||
|
||||
$$R_{\text{length}} = I_{\text{succ}} \cdot \begin{cases} (1 + \frac{\bar{s} - s}{\bar{s}}) & s < \bar{s} \\ \exp(-\frac{s - \bar{s}}{S_{\max} - \bar{s}}) & s \geq \bar{s} \end{cases}$$
|
||||
|
||||
- $s$:当前轨迹步数
|
||||
- $\bar{s}$:rollout 组平均步数
|
||||
- $S_{\max}$:最大执行上限(30)
|
||||
|
||||
**设计哲学**:
|
||||
- 短于组平均 → 线性奖励(步数越短奖励越高)
|
||||
- 长于组平均 → 指数衰减(惩罚冗长路径)
|
||||
- 因为有效工具调用通常替代多步 GUI 原子操作,这一信号自然激励更高效的工具切换
|
||||
|
||||
## 为什么需要这个奖励?
|
||||
|
||||
任务成功信号 $R_{\text{acc}}$ **无法区分**:
|
||||
- 用 1 次工具调用完成 vs 用 15 步 GUI 绕路完成
|
||||
- 任务不需要工具却调用了工具 vs 合理使用工具
|
||||
|
||||
$R_{\text{tool}} + R_{\text{length}}$ 提供**轨迹级反馈**,将优化目标从"完成任务"提升到"高效地完成任务"。
|
||||
Reference in New Issue
Block a user