AlphaEvolve는 제공된 코드 기준선과 사용자가 제공한 특정 컨텍스트를 활용하여 작업을 안내합니다.
사용자 컨텍스트
사용자가 제공한 컨텍스트는 모든 생성 프롬프트에 삽입됩니다. LLM에 도메인 지식, 수학 공식, 시스템 제약조건을 제공하여 검색 공간의 균형을 맞춥니다.
- 토큰 예산: 최대 200,000개의 토큰이 잘 작동합니다. 20만 개 토큰 임계값을 초과하면 컨텍스트 창이 로드되고 LLM의 주의력이 감소하며 변형 품질이 저하됩니다. 결합된 컨텍스트(문제 설명, 코드, 이전 프로그램)가 20만 개 토큰을 초과하면 줄여야 합니다.
포함할 항목
최적화 문제의 정확한 수학 공식
주요 제약조건과 명확한 근거
도메인별 용어 및 정의
LLM의 검색 방향을 안내하는 알려진 좋은 접근 방식 또는 선행 기술
하지 말아야 할 사항을 자세히 설명하는 구체적이고 명시적인 안내
포함하지 말아야 할 항목
일반 프로그래밍 튜토리얼
표준 라이브러리 문서 (LLM은 이미
numpy,sklearn등을 알고 있음) 하지만 LLM이 잘 모를 수 있는 틈새 또는 도메인별 라이브러리 (커스텀 커널 API, 독점 SDK 또는 전문 DSL)의 문서는 포함하세요.원시 임의 데이터, 스프레드시트 또는 대규모 데이터 덤프 데이터는 프롬프트 컨텍스트가 아닌 평가기 하니스에 속합니다.
검색 신호를 추가하지 않고 토큰을 사용하는 관련 없는 컨텍스트
포함하는 모든 컨텍스트는 LLM이 더 나은 구조적으로 건전한 변형을 생성하도록 적극적으로 지원하여 명확한 가치를 제공해야 합니다.
평가 의견 (인사이트)
각 실행 루프 후에 평가기는 숫자 점수와 함께 진단 의견 텍스트를 반환할 수 있습니다. 이 의견은 향후 프롬프트 구조에 자동으로 추가됩니다.
품질 기준선: 강력한 의견은 구체적이고 실행 가능하며 간결합니다. 부실한 의견은 일반적 (예: "평가 실패")이거나 지나치게 장황합니다.
운영 목적: 이러한 통계는 후속 생성에서 LLM에 표시되므로 실행 실패로부터 명시적으로 학습하고 반복적인 버그를 방지할 수 있습니다.
기본 제공 프롬프트 다양화
AlphaEvolve는 백엔드 LLM 앙상블에 전송하는 프롬프트를 자동으로 다양화합니다. 이 작업은 내부적으로 처리되며 수동 사용자 구성이 필요하지 않습니다.
이 시스템은 다양한 변형을 장려하고 LLM이 반복적인 코딩 패턴에 빠지지 않도록 연속 생성에서 핵심 안내를 다양화합니다. 이 동작은 AlphaEvolve가 좁은 지역 최적값에 갇히지 않고 넓은 환경을 탐색하는 데 도움이 되는 기본 메커니즘 중 하나입니다.
코드 가독성
코드 복잡성은 효과적인 보조 측정항목 역할을 합니다. 최종 코드 가독성이 프로덕션 사용 사례의 요소인 경우 코드 길이 또는 인지 복잡성을 보조 타겟 측정항목으로 추가하는 것이 좋습니다.
AlphaEvolve는 기능 성능을 저하시키지 않고 최대 50% 의 파일 압축을 달성할 수 있습니다. 하지만 LLM은 모든 인라인 주석을 삭제하여 원시 문자 수를 줄이는 것과 같은 단순한 단순성 측정항목을 활용합니다. 이를 방지하려면 원시 문자열 길이를 평가하는 대신 순환 복잡성 또는 추상 구문 트리 (AST) 노드 수와 같은 의미 있는 구조적 복잡성을 포착하는 측정항목을 구현하세요.