📑 本页目录(点开跳转)
14 · RL 在推荐与智能体里
⏱ 20 分钟 | 🔌 和本库其他教程接线
🎯 一句话
RL 不只用在游戏和大模型对齐上。 推荐系统的冷启动、智能体的多步决策 —— 这两个站里各有一整个板块在讲的问题, 本质上都是强化学习问题。这一章把线接上。
🎰 一、推荐系统里的 RL
① 冷启动 = 多臂老虎机
新物品上线,没有任何数据:
├─ 一直推它 → 万一是烂内容,浪费流量
└─ 不推它 → 永远拿不到数据,永远不知道好不好 ⭐
这就是【探索-利用】两难(第 7 章)
🔗 推荐算法第 13 章里的 Thompson Sampling, 就是第 7 章那个算法。 它之所以有效,是因为它按"这个臂是最优的概率"来采样 —— 天然地把探索预算分配给"可能很好但还不确定"的物品。
⭐ 推荐场景下的关键升级:【上下文老虎机】(Contextual Bandit)
普通老虎机:每个臂有一个固定的回报分布
上下文老虎机:回报还依赖【当前用户是谁】⭐
→ LinUCB / Thompson Sampling with features
→ 这是工业界推荐冷启动的实际做法
② 长期价值 = 序贯决策
⚠️ 推荐系统的经典问题:优化点击率 → 标题党、信息茧房
因为 CTR 是【单步】指标,它看不到:
├─ 用户会不会因为内容质量差而流失
├─ 多样性对长期留存的影响
└─ 今天推的内容如何改变用户明天的兴趣 ⭐
⭐ RL 的视角:把"一次推荐"看成一个动作,
优化的是【整个会话/生命周期】的累计回报
| 传统推荐 | RL 推荐 | |
|---|---|---|
| 目标 | 单次点击概率 | 累计回报(留存、时长、GMV) |
| 视角 | 每次独立预测 | 序贯决策 |
| 反馈 | 立即 | 可能延迟很久 ⭐ |
⚠️ 但工业界用得很谨慎,原因很实际
① 【无法在线试错】⭐
RL 需要探索,但探索 = 给真实用户推烂内容
→ 只能用离线数据,而离线 RL 很难(分布外动作的价值被高估)
② 【奖励定义难】
"长期价值"到底是留存?时长?还是 GMV?
定错了就是优化错方向
③ 【反事实问题】
日志里只有"推了 A 用户点了",
没有"如果推 B 会怎样" —— 缺少反事实数据 ⭐
④ 【非平稳】
用户兴趣在变、内容池在变 → 学到的策略很快过时
🔑 实际的折中做法: 大部分工业系统用"上下文老虎机"(单步)而不是完整的 RL(多步) —— 因为它有可靠的理论保证、能在线学习、且风险可控。 完整的序贯 RL 主要用在能安全模拟的场景。
🤖 二、智能体里的 RL
一个 Agent 的循环(你在智能体教程里见过):
观察环境 → 决定下一步 → 执行工具 → 看结果 → 再决定 ...
⭐ 这【就是】MDP:
├─ 状态 = 当前上下文(历史 + 工具返回)
├─ 动作 = 调哪个工具、传什么参数
├─ 转移 = 工具执行的结果
└─ 奖励 = 任务是否完成
🔗 智能体工程教程讲的是怎么用提示词和工具设计把这个循环做好, 这一章告诉你它在理论上是什么 —— 一个部分可观测的 MDP(POMDP)。
为什么智能体训练比游戏 RL 难
| 难点 | 说明 |
|---|---|
| 奖励极稀疏 ⭐ | 一个任务几十步,只有最后知道成没成 |
| 动作空间巨大 | 所有可能的工具调用 × 所有可能的参数 |
| 部分可观测 | 上下文窗口装不下全部历史 |
| 一步错步步错 | 早期的错误会污染后面所有的观察 ⭐ |
| 难以模拟 | 真实环境(改文件、发请求)不可回滚 |
✅ 现在实际在用的路线
① 【RLVR】⭐⭐ 最主流
奖励 = 可自动验证的结果(单元测试通过、编译成功、答案正确)
→ 没有奖励模型,就没有奖励攻击(第 12 章)
→ 这是编程/数学智能体训练的主力
② 【过程监督 PRM】
给推理的每一步打分,而不只是最终结果
→ 缓解奖励稀疏,且能定位是哪一步错了
③ 【拒绝采样 / 专家迭代】
采样多条轨迹 → 保留成功的 → SFT
→ 简单、稳定,很多团队的第一选择 ⭐
④ 【搜索 + 学习】
推理时用树搜索(MCTS 类)扩展,把好的轨迹回灌训练
💡 注意这四条路线的共同点: 它们都在想办法绕开"奖励模型不可靠"和"在线探索太贵"这两个问题。 这也是第 13 章那些免 RL 方法流行的同一个原因。
🧭 三、什么时候真的该用 RL
✅ 适合:
├─ 决策有【长期后果】,且短期指标会误导你
├─ 有【可靠的模拟器】或【可验证的奖励】⭐
├─ 探索的代价可以承受
└─ 数据可以持续产生
❌ 不适合(用监督学习更好):
├─ 有大量高质量的标注数据 → 直接 SFT
├─ 单步决策、反馈立即 → 用分类/回归
├─ 探索代价极高(医疗、金融交易)⭐
└─ 奖励难以定义 → 定错了比不做还糟
🔑 一条实用的判断: 如果你能写出"正确答案",用监督学习。 只有当你只能写出"这个结果好不好"时,才需要 RL。 ⭐
🔗 四、它和本库其他教程的接线图
| 其他教程里的内容 | 对应本教程哪一章 |
|---|---|
| 推荐算法 13 · 冷启动的 Thompson Sampling | 07 探索与利用 |
| 推荐算法 · 重排与多样性 | 序贯决策视角 |
| 全景导论 04 · 训练三阶段的 RLHF | 11 PPO + 12 RLHF ⭐ |
| 全景导论 12 · 对齐与安全 | 12 + 13 DPO |
| 智能体工程 · Agent 循环 | 02 MDP 的实例 ⭐ |
| ML 基础 09 · 优化器 | 08 DQN、11 PPO 的训练技巧 |
| 数学原理 08 · 偏差方差 | 05、10 GAE 的核心权衡 |
✅ 检查点
- 推荐冷启动为什么是探索-利用问题?
- 什么是上下文老虎机?它比普通老虎机多了什么?
- 优化 CTR 会导致什么问题?RL 视角怎么看?
- 工业界对完整 RL 谨慎的四个原因?实际折中是什么?
- 智能体的循环对应 MDP 的哪些要素?
- 智能体训练比游戏 RL 难在哪五点?
- 现在实际在用的四条路线是什么?它们的共同点?
- 什么时候该用 RL、什么时候用监督学习?一句话判断。
👀 答案
- 因为新物品没有数据:一直推可能浪费流量,不推就永远拿不到数据——这正是探索-利用两难。
- 回报还依赖当前用户是谁(上下文特征),而不是每个臂一个固定分布。对应 LinUCB、带特征的 Thompson Sampling——这是工业界冷启动的实际做法。
- 导致标题党、信息茧房。因为 CTR 是单步指标,看不到用户流失、多样性对留存的影响、以及今天推的内容如何改变明天的兴趣。RL 视角:把一次推荐当作一个动作,优化整个会话/生命周期的累计回报。
- ①无法在线试错(探索=给真实用户推烂内容)②奖励定义难 ③反事实问题(日志里没有"如果推 B 会怎样")④非平稳。折中:大部分工业系统用上下文老虎机(单步)而非完整 RL——理论保证可靠、能在线学习、风险可控。
- 状态=当前上下文(历史+工具返回);动作=调哪个工具传什么参数;转移=工具执行结果;奖励=任务是否完成。它是一个部分可观测的 MDP(POMDP)。
- ①奖励极稀疏(几十步只有最后知道成没成)②动作空间巨大 ③部分可观测 ④一步错步步错(早期错误污染后面所有观察)⑤难以模拟(真实环境不可回滚)。
- ⭐RLVR(可验证奖励,无奖励攻击,编程/数学智能体的主力)、过程监督 PRM、拒绝采样/专家迭代、搜索+学习。共同点:都在绕开"奖励模型不可靠"和"在线探索太贵"这两个问题。
- 如果你能写出"正确答案",用监督学习;只有当你只能写出"这个结果好不好"时,才需要 RL。
🛑 可以停在这里
⚡ 走神救援
推荐里的 RL:①冷启动 = 多臂老虎机(一直推可能浪费流量,不推就永远没数据)→ Thompson Sampling;⭐工业界实际用的是上下文老虎机(回报还依赖当前用户是谁,LinUCB)②优化 CTR 导致标题党和信息茧房,因为 CTR 是单步指标看不到流失和长期兴趣变化 → RL 视角是优化整个生命周期的累计回报。⚠️工业界谨慎的四个原因:⭐无法在线试错(探索=给真实用户推烂内容)、奖励定义难、⭐反事实问题(日志里没有"如果推B会怎样")、非平稳;⭐折中:大部分系统用单步的上下文老虎机而非完整 RL。智能体里的 RL:Agent 循环就是 MDP(状态=上下文,动作=调哪个工具传什么参数,奖励=任务是否完成),准确说是 POMDP。⭐比游戏 RL 难在五点:奖励极稀疏(几十步只有最后知道)、动作空间巨大、部分可观测、⭐一步错步步错(早期错误污染后面所有观察)、难以模拟。实际四条路线:⭐⭐RLVR(可验证奖励→没有奖励模型就没有奖励攻击,编程/数学智能体主力)、过程监督 PRM、⭐拒绝采样/专家迭代(简单稳定,很多团队第一选择)、搜索+学习;⭐共同点:都在绕开"奖励模型不可靠"和"在线探索太贵"。⭐⭐判断该不该用 RL 的一句话:能写出"正确答案"就用监督学习,只有当你只能写出"这个结果好不好"时才需要 RL。
下一节 👉 15-实战与挑战项目.md