리워드 해킹과 관련된 위험은 여러 가지가 있습니다. 위험 및 해당 완화 전략은 다음을 참조하세요.
위험 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).동일한 입력으로 진화된 함수를 두 번 실행하고 동일한 출력을 확인합니다 (무작위성 해킹 감지).
평가 시간을 확인합니다. 마이크로초 단위로 완료되면 답변을 하드코딩했을 가능성이 높습니다
LLM에 표시되지 않는 별도의 파일에 점수 로직을 넣습니다.