ThinkCoder는 코드 생성 과정의 효율성을 높이기 위해 철저한 탐색과 최적화된 개선을 결합한 프레임워크입니다. 탐색 단계에서 잠재적인 해결책을 찾아 해결책 공간을 다양화하고, 개선 단계에서 정확도를 높입니다. 과도한 시행착오를 피하기 위해 신중한 고려 후 최적의 해결책을 선택합니다. 테스트 시간 계산 오버헤드를 최소화하기 위해 강화 자기 학습(ReST)을 사용한 선호도 기반 최적화를 도입하여 ThinkCoder의 탐색 경로를 활용해 LLM의 진화를 유도합니다. 이를 통해 선호도 학습을 통해 LLM의 탐색 효율성을 높이고, 정확도를 유지하면서 비용을 절감합니다. HumanEval 및 MBPP와 같은 벤치마크에서 단일 LLM로 성능을 향상시키며, 기존 최고 성능 모델보다 계산 비용의 6.4%만 사용하면서 Pass@1을 3.0% 향상시켰습니다(MapCoder 대비). AgentCoder와 비교했을 때, 2라운드 후 Pass@1이 0.5% 더 높았으며, AgentCoder의 5라운드보다 성능이 우수했습니다. 또한, 성공 경로를 사용한 ReST는 LLaMA2-7B와 같은 모델이 계산 자원의 20%만 사용하여 경쟁력 있는 결과를 얻을 수 있도록 효율성을 높입니다.