점수 부여 접근 방식

평가 도구 내에서 후보 코드 항목을 채점, 정규화, 페널티를 적용하는 방법을 결정할 때는 다음 아키텍처 원칙을 적용하세요.

목표를 직접 극대화

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)로 크기 조정합니다.