防止奖励被盗用

奖励黑客攻击会带来许多风险。请参阅以下风险和相应的缓解策略。

风险 1:

贪婪奖励黑客攻击。如果 Obj = w1*S1 + w2*S2 + w3*S3,AlphaEvolve 可能会发现 S2 增加并完全专注于它,而忽略 S1 和 S3。

缓解措施:

降低子分数的权重。可能需要试运行 2-3 次来校准权重。对几种评分结果进行初步基准模拟会有所帮助。

风险 2:

忽略限制条件惩罚。如果软约束是惩罚 (Obj = Score - w*Penalty),AlphaEvolve 可能会发现忽略约束会产生更高的 Obj。

缓解措施:

大幅增加惩罚权重。如果问题仍然存在,请在问题说明中添加明确的说明,例如“无论得分如何,违反约束条件 X 的解决方案都是无效的”。

风险 3:

利用评估函数。AlphaEvolve 可能会找到导致评估器返回人为最高得分(浮点极端情况、测试数据泄露)的输入。

缓解措施:

使用固定随机种子进行确定性评估。实验结束后,使用留存数据验证胜出者。

为防止奖励被黑客入侵,请实施以下常规技术:

  • 使用 AST 检查禁止的原语(sys、os、inspect、eval、exec、getattr、setattr),如果发现,则返回 None。

  • 验证 EVOLVE-BLOCK 之外的代码是否未发生变化(文本差异或 AST)。

  • 使用相同的输入运行进化后的函数两次,并验证输出是否相同(捕获随机性黑客攻击)。

  • 查看评估时间。如果它在几微秒内就完成了,那它可能硬编码了答案。

  • 将评分逻辑放在 LLM 无法看到的单独文件中。