MapCoder: 경쟁적 문제 해결을 위한 다중 에이전트 코드 생성

코드 합성은 복잡한 자연어 문제 설명을 깊이 이해하고, 복잡한 알고리즘 및 데이터 구조에 대한 코드 지시를 생성하며, 포괄적인 단위 테스트를 성공적으로 수행해야 하는 데 있어 큰 도전 과제를 안고 있다. 대규모 언어 모델(Large Language Models, LLMs)은 자연어 처리 분야에서 놀라운 성능을 보이지만, 코드 생성 작업에서는 여전히 한계를 보이고 있다. 본 논문에서는 인간 개발자가 경험하는 프로그램 합성의 전 주기를 독창적으로 재현할 수 있는 다중 에이전트 프롬프팅 기반의 새로운 코드 생성 접근법을 제안한다. 우리의 프레임워크인 MapCoder는 이 주기의 각 단계를 모방하도록 특별히 설계된 네 개의 LLM 에이전트로 구성되어 있다. 즉, 관련 예제 회상, 계획 수립, 코드 생성, 디버깅 단계를 순차적으로 수행한다. 여러 LLM 아블레이션 및 분석을 포함한 8개의 도전적인 경쟁적 문제 해결 및 프로그램 합성 벤치마크에서 철저한 실험을 수행한 결과, MapCoder는 뛰어난 코드 생성 능력을 입증하였으며, HumanEval(93.9%), MBPP(83.1%), APPS(22.0%), CodeContests(28.5%), xCodeEval(45.3%)에서 새로운 최고 성능(pass@1)을 기록하였다. 또한 본 방법은 다양한 프로그래밍 언어와 문제 난이도에 걸쳐 일관되게 뛰어난 성능을 보였다. 본 연구의 프레임워크는 공개 소스로 제공되며, GitHub에서 확인할 수 있다. https://github.com/Md-Ashraful-Pramanik/MapCoder