奖励黑客攻击会带来许多风险。请参阅以下风险和相应的缓解策略。
风险 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 无法看到的单独文件中。