최근 연구들은 LLM(Large Language Models)을 진화적 탐색(evolutionary search)과 결합하여, 작업 특화된 피드백(task-specific feedback)을 사용해 코드를 반복적으로 생성, 수정 및 선택합니다. 이러한 시스템들은 수학적 발견(mathematical discovery)과 알고리즘 설계(algorithm design) 분야에서 강력한 결과를 만들어냈지만, 근본적인 질문이 남아 있습니다: 이들은 실제로 무엇을 진화시키는가? 진전 사항은 일반적으로 작업 특화된 평가기(task-specific evaluator) 하에서 실행이 도달한 최고 점수로 요약되지만, 그 점수는 여러 가지 서로 다른 메커니즘을 반영할 수 있습니다: 새로운 알고리즘 구조(algorithmic structure), 기존 전략의 재조정(re-tuning), 모델의 내부 지식에 이미 존재하는 아이디어의 재결합(recombining), 또는 평가기에 대한 과적합(overfitting). 이러한 메커니즘을 구별하기 위해서는 최종 결과뿐만 아니라 탐색 과정(search process) 자체를 조사해야 합니다.
우리는 4개의 진화 프레임워크(evolutionary frameworks), 추론 및 비추론 모델(reasoning and non-reasoning models), 그리고 수학 및 알고리즘 설계를 아우르는 16개의 작업을 포함하는 진화적 코딩 트레이스(evolutionary coding traces) 데이터셋인 EvoTrace를 소개합니다. 이러한 트레이스를 분석하기 위해, 우리는 높은 점수를 기록한 솔루션 뒤에 숨겨진 국소 탐색 상태(local search states)를 재구성하고, 상수 조정, 프로그램 구성 요소 제거, 모델 또는 프롬프팅 컨텍스트(prompting contexts) 교체 등을 포함한 통제된 개입(controlled interventions)을 테스트하는 재생 기반 방법론인 EvoReplay를 개발했습니다. 우리는 LLM-as-judge 파이프라인을 사용하여 EvoTrace의 모든 코드 편집을 9가지의 반복되는 편집 유형 중 하나로 주석을 달았으며, 이는 블라인드 인간 재주석(blind human re-annotation)을 통해 검증되었습니다.
EvoTrace 전체를 살펴보면, 대부분의 점수 상승은 이러한 편집 유형 중 작은 하위 집합에서 발생합니다. 우리는 더 나아가 결정론적인 순환 패턴(deterministic cycling pattern)을 발견했습니다: 탐색 중에 추가된 코드 라인의 약 30%는 이전에 삭제된 라인이 바이트 단위로 동일하게 다시 도입된 것이며, 이는 거의 모든 실행 과정에서 나타납니다. 이러한 결과는 진화적 코딩 에이전트의 벤치마크 성능 향상이 질적으로 다른 메커니즘에서 발생할 수 있으며, 그중 일부만이 새로운 알고리즘 구조에 해당한다는 것을 보여줍니다. EvoTrace는 최종 벤치마크 점수를 넘어 진화적 코딩 에이전트에 대한 더욱 진단적인 평가(diagnostic evaluation)를 가능하게 합니다.