報酬の不正取得の防止

報酬ハッキングには、いくつかのリスクが伴います。リスクと対応する軽減戦略については、以下をご覧ください。

リスク 1:

貪欲な報酬ハッキング。Obj = w1*S1 + w2*S2 + w3*S3 の場合、AlphaEvolve は S2 を検出して増加させ、S1 と S3 を無視して S2 に完全に集中する可能性があります。

緩和策:

サブスコアの重みを減らします。重みを調整するために 2 ~ 3 回の試行が必要になる場合があります。いくつかのスコアリング結果の予備的なベースライン シミュレーションが役立ちます。

リスク 2:

制約ペナルティの無視。ソフト制約がペナルティ (Obj = Score - w*Penalty) である場合、AlphaEvolve は、制約を無視すると Obj が高くなることを発見する可能性があります。

緩和策:

ペナルティの重みを大幅に増やします。この動作が続く場合は、問題の説明に「制約 X に違反するソリューションは、スコアに関係なく無効です」などの明示的な指示を追加します。

リスク 3:

評価関数の悪用。AlphaEvolve は、評価ツールが人為的にハイスコアを返す入力(浮動小数点のエッジケース、テストデータの漏洩)を見つけることがあります。

緩和策:

固定のランダムシードを使用した決定的評価。テスト後に、ホールドアウト データで勝者を検証します。

報酬ハッキングを防ぐには、次の一般的な手法を実装します。

  • 禁止されているプリミティブ(sys、os、inspect、eval、exec、getattr、setattr)に対して AST チェックを使用し、見つかった場合は None を返します。

  • EVOLVE-BLOCK の外部のコードが変更されていないことを確認します(テキスト差分または AST)。

  • 同じ入力で進化した関数を 2 回実行し、出力が同じであることを確認します(ランダム性のハッキングを検出します)。

  • 評価時間を確認します。マイクロ秒単位で終了した場合は、おそらく回答がハードコードされています。

  • スコアリング ロジックを LLM から見えない別のファイルに配置する。