평가 도구 내에서 후보 코드 항목의 점수를 매기고, 정규화하고, 페널티를 적용하는 방법을 결정할 때는 다음 아키텍처 원칙을 적용하세요.
목표 직접 극대화
AlphaEvolve는 모든 최적화 타겟을 언덕 오르기 작업으로 취급하여 최대화 검색만 수행합니다. 지연 시간 또는 오류율과 같은 측정항목을 최소화하려면 최종 계산된 값인 score = -latency_ms # AE maximizes -> minimizes latency를 무효화해야 합니다.
엄격한 함수 단조성 유지
단조 점수 함수만 구현해야 합니다. 반환된 숫자 점수는 후보 솔루션이 개선됨에 따라 일관되게 증가해야 합니다. 비단조 점수를 통합하면 검색 성능이 저하되고 최적화 경로에 논리적 불일치가 발생합니다.
세부적인 측정항목 제공
상세 점수는 전반적인 검색 품질을 직접적으로 개선합니다. 단일 핵심 비즈니스 목표에 최적화하는 경우에도 보조 측정항목 또는 프록시 측정항목을 통합하면 AlphaEvolve가 복잡한 검색 공간을 더 효과적으로 탐색하는 데 도움이 됩니다. 개별 하위 점수를 구조화된 인사이트로 시스템에 다시 전달하여 LLM이 세대 간 성능 절충점을 명시적으로 추론할 수 있도록 합니다.
드문 결과에 대한 부분적인 성공에 보상
최종 결과 또는 이분법적 결과에 전적으로 의존하는 대신 부분적인 성공에 보상합니다. 항상 희소 점수 신호보다 밀집 점수 신호를 선호합니다.
바이너리 또는 저해상도 목표 (예: 토너먼트 기반 게임 문제에서 승리한 경기 추적)는 여러 후보가 동점을 이루는 대규모 성능 정체기를 만듭니다. 이 동작으로 인해 AlphaEvolve는 아차 실수와 잘못된 솔루션을 구분하지 못해 상위 선택 루프가 중단됩니다.
검색 경사 방향을 유지하려면 다음 단계를 따르세요.
세분화된 하위 신호 추가: 최종 목표를 향한 점진적인 진행 상황 (예: 경기 내에서 득점한 개별 점수)을 측정하여 AlphaEvolve가 동점인 후보의 순위를 매기고 유망한 솔루션 공간을 향해 힐 클라이밍할 수 있도록 합니다.
정렬 및 가중치를 신중하게 조정: 하위 신호가 실제 목표와 단조롭게 정렬되고 그 아래에 안전하게 가중치가 부여되는지 확인합니다. 가중치가 제대로 적용되지 않으면 AlphaEvolve는 실제 목표를 희생하면서 프록시 측정항목을 최적화합니다 (리워드 해킹 유발).
예를 들어 포인트를 논리적 타이 브레이커로 사용하여 스칼라 목적 함수를 구성합니다. use score = matches_won + w * (points_scored / points_possible)
추가 터미널 승리가 항상 경기 내 포인트 누적보다 우선하도록 가중치 제약 조건을 w < 1로 구성하여 하위 신호를 엄격하게 동점 해결 요소로 처리합니다.
단일 목표로 시작하기
단일 목적 함수로 구현을 시작하는 것이 좋습니다. 포괄적인 파레토 프런티어 추적을 통한 다중 목표 최적화는 데이터베이스에서 기본적으로 완전히 지원되며, MAP-Elites는 측정항목당 최적의 프로그램을 추적하고 시스템은 모든 측정항목에서 실행 중인 파레토 프런티어를 유지하지만, 단일 스칼라 목표는 초기 배포 중에 추론하고 디버깅하기가 훨씬 더 간단합니다. 문제에 여러 목표가 필요한 경우 단일 가중치 스칼라로 결합하거나 처음부터 다중 측정항목 추적 도구를 활용할 수 있습니다.
결합 전 재조정 및 정규화
최적화 편향을 방지하려면 측정항목 전반에 엄격한 규모 균형을 적용하세요.
범위 간 재조정: 측정항목을 결합하기 전에 비교 가능한 범위로 정규화합니다. 명시적인 재조정 없이 제한된 점수(
0~1)와 제한되지 않은 점수(0~infinity)를 결합하면 제한되지 않은 측정항목이 적합도 지형을 지배하게 됩니다.곱셈 조합보다 덧셈 구조를 선호: 곱셈 목표는 분모의 사소한 변동에 매우 민감해져 검색 정확성과 안정성이 저하될 수 있습니다. 대신 가산 가중치 합계를 구현합니다.
w1*A - w2*L - w3*M이 형식을 사용하면 성능 매개변수별로 가중치를 간단하게 조정할 수 있습니다.초기 값을 기준으로 정규화: 배율 차이로 인해 검색 경로가 왜곡되지 않도록 각 측정항목을 각각의 초기 기준 값으로 나누어 가중치를 적용하고 결합하기 전에 모든 측정항목이
1.0기준에서 시작되도록 합니다.
최소 수치 차이 증폭
작은 수치 점수 차이는 기본 LLM에 유용한 최적화 신호를 제공하지 않을 수 있습니다. 강력한 후보가 1e-7점을 받고 약한 후보가 1e-8점을 받으면 LLM은 컨텍스트를 검토할 때 이들을 의미 있게 구분하지 못할 수 있습니다. 최종 점수를 명확하고 사람이 읽을 수 있는 범위 (예: 0~100)로 재조정하여 생성 프롬프트 내에서 점진적인 코드 개선이 수치적으로 명확하게 드러나도록 합니다.