智能体从行动的后果里学。如果同一个动作在不同次运行里得到不同后果,模型学到的就是噪声——而奖励曲线看起来还挺正常。
可复现性,是智能体训练环境里最少被讨论、也最决定成败的一个属性。
同样的输入,两次同样的输出
一个只重置一半、留着缓存、或者依赖外部线上状态的沙箱,重跑会给出不同答案。差异小到看起来像模型的随机性。
测一下:同一个种子跑十遍,比较最终状态和分数。如果不一样,下游的一切都不可测量。
一条环境记录里有什么
- 起始状态,可哈希
- 执行的动作,带参数
- 返回的观测
- 之后的状态,以及它能不能被恢复
- 耗时,这关系到步数预算
最后一项是资源,不是质量信号。混在一起,两样都更难读。
失败模式也该是环境的一部分
一个从不出错的环境,教出来的是「什么都不会出错」的智能体。真实的工具会超时、会返回残缺数据、会拒绝格式错误的参数。
这些失败要有意注入,并记下注入了哪些。否则模型学会信任一个不存在的世界。
给过程打分,不只给结局
碰巧成功的,和做了正确计划但失败的,是两种情况。检查客观的中间步骤就打分,结局只作为若干信号之一。
这些集合由 Zovda 通过 Datuva 生产,每个回合都保留起始状态和动作日志。代码与智能体语料展示了字段。
告诉我们你的智能体要操作什么,我们会在 1 个工作日内回复。
