每日报告 — 2026-08-13
日常概述
- 完成事项: 开发了 QWOP 的 shin-drag 终止机制与转换奖励;分析了 RoboMemory 的 VLM 轨迹精度。
- 实现方式: 通过重放分析与 C++/Python 代码重构,采用数据驱动的方式对物理阈值进行校准。
- 影响: 修复了错误的奖励缩放问题,该问题掩盖了 QWOP 的实际训练效果。
MacOS
- 完成事项: 仅记录了使用统计信息,未进行任何主动开发工作。
- 实现方式: 执行系统监控命令以追踪 API 消耗与使用模式。
- 影响: 监控了资源利用率,但未对项目目标产生直接贡献。
TzJsDesktop
- 完成事项: 为 QWOP RL 实现了动态奖励配置;检查了 RoboMemory 的 VLM 评估视频。
- 实现方式: 重构了 C++ 奖励逻辑,根据实证数据重新校准物理阈值,并审查了部署记录。
- 影响: 解决了奖励缩放中的关键错误,使得 A/B 测试成为可能;发现了视觉跟踪的具体故障模式。
实现了 QWOP RL 训练的复杂奖励配置,并对 RoboMemory 中的 VLM 视觉跟踪失败进行了分析。
任务
架构与策略
- ✅ QWOP 奖励配置实现 — 实现了 shin-drag 终止、大腿能量对称性以及转换奖励,并具备运行时可配置性。
- ✅ QWOP 阈值校准 — 基于重放数据分析了 shin-drag 约束下的物理阈值,并进行验证与修正。
实施与修复
- 🔄 RoboMemory VLM 分析 — 审查了 PatternLock 和 RouteStick 任务中 VLM-win 模型的视觉跟踪输出。
问题与解决方案
关键问题
1. 奖励配置参数在 A/B 测试中无效,因为系数被归零。
解决方案: 发现衰减计算忽略了从恢复检查点开始的更新次数,导致权重归零。增加了日志以显示缩放状态,并调整了逻辑。
关键洞察: 恢复训练上下文需要明确处理累积更新,以保持超参数的正确衰减曲线。
2. shin-drag 终止条件未能触发,因为物理坐标校准错误。
解决方案: 分析重放数据发现阈值高于环境中任何可能的 shin Y 位置,使其无效。根据实际坐标范围进行了调整。
关键洞察: 类似环境中的外部奖励函数通常包含隐式的坐标假设,当物理后端或缩放不同时会破坏这种假设。
3. 大腿能量和转换奖励的语义逻辑与缩放错误。
解决方案: 修正了转换指标以跟踪支撑脚的交换而非直接跳跃,根据其他项(如进展)的预期幅度重新校准权重。
关键洞察: 奖励项必须保持相对大小;轻微的语义错误可能会放大为严重的训练偏差。
人类与 AI 方法
战略层面
QWOP 物理验证
| 角色 | 方法 |
|---|---|
| 人类 | 使用历史重放数据进行实证验证,测试所实现功能的假设有效性。 |
| AI | 假设代码功能正确,尝试编写和运行单元测试,导致调试陷入死胡同。 |
差异分析: 人类提供了 AI 未注意到的坐标比例差异的关键背景信息;当即时编码失败时,人类转向基于数据的验证策略。
AI 限制
关键限制
- 无法从项目路径中推断物理坐标缩放,导致 shin-drag 功能的阈值假设错误。
一般限制
- 忽视了恢复检查点更新对缩放权重和衰减变量计算的影响。
- 难以直接呈现大视频文件,需要手动重试和路径修正步骤。
经验教训
关键经验
- 始终将外部物理参数与实证环境数据进行验证,而非依赖直接代码移植。
- 在恢复训练时明确监控缩放权重和衰减系数,以确保 A/B 测试中的公平比较。
对话总结
QWOP_rl_training_public
🔄 实现并校准 QWOP 动态奖励配置 23:04:41.521 | claude_code 实现了 shin-drag 终止、大腿能量项及转换奖励。发现初始阈值因坐标比例不匹配而无效,通过重放数据分析进行了修正。还发现 A/B 测试无效,因为从高更新检查点恢复时缩放权重错误地衰减为零。
RoboMemory
🔍 分析 RouteStick 任务中 VLM 轨迹故障特征 23:05:06.817 | claude_code 审查了 PatternLock 和 RouteStick 任务的评估结果。下载并查看了成功与失败的视频重放,发现两种主要故障模式:拓扑错位和跟踪单调性中断。