SOEN-101: 대규모 언어 모델 에이전트를 활용한 소프트웨어 프로세스 모델의 모방을 통한 코드 생성

소프트웨어 프로세스 모델은 복잡한 개발 과제를 해결하기 위해 소프트웨어 팀 간의 협업과 소통을 촉진하는 데 필수적이다. 이러한 소프트웨어 공학적 실천을 영감으로 삼아, 우리는 여러 대규모 언어 모델(Large Language Model, LLM) 에이전트를 기반으로 소프트웨어 프로세스 모델을 모방하는 코드 생성 프레임워크인 FlowGen을 제안한다. FlowGen은 요구사항 엔지니어, 아키텍트, 개발자, 테스터, 스쿠머 마스터 등의 역할을 맡는 LLM 에이전트를 배정함으로써 일상적인 개발 활동에 대응하는 역할을 구현하고, 이들의 소통 패턴을 체계화함으로써 세 가지 프로세스 모델—FlowGenWaterfall, FlowGenTDD, FlowGenScrum—을 모방한다. 이러한 에이전트들은 사고의 연쇄(chain-of-thought)와 프롬프트 조합을 활용하며 지속적인 자기 개선(self-refinement)을 통해 협업적으로 작업하여 코드 품질을 향상시킨다. 본 연구에서는 GPT3.5를 기반 LLM으로 사용하고, 여러 베이스라인(RAWGPT, CodeT, Reflexion)을 활용하여 HumanEval, HumanEval-ET, MBPP, MBPP-ET 네 가지 벤치마크에서 코드 생성 성능을 평가한다. 연구 결과, 다른 프로세스 모델과 비교해 FlowGenScrum가 우수한 성능을 보였으며, 각각 HumanEval, HumanEval-ET, MBPP, MBPP-ET에서 Pass@1이 75.2, 65.5, 82.5, 56.7을 기록하였다(비교 기준인 RawGPT 대비 평균 15% 향상). 또한, 최신 기술들과 비교했을 때, FlowGenScrum는 CodeT보다 MBPP에서 더 높은 Pass@1을 달성하였으며, 두 모델 모두 Reflexion을 상회했다. 특히, CodeT를 FlowGenScrum에 통합한 경우 통계적으로 유의미한 성능 향상이 관측되었으며, 이는 최고의 Pass@1 점수를 기록하였다. 분석 결과, 개발 활동이 코드 냄새(code smell)와 예외 처리(exception handling)에 미치는 영향은 각각 다르게 나타났으며, 설계 및 코드 리뷰 과정이 예외 처리를 늘리고 코드 냄새를 감소시키는 데 기여함을 확인하였다. 마지막으로, FlowGen 모델은 GPT3.5의 버전 및 온도(temperature) 값 변화에 관계없이 안정적인 Pass@1 점수를 유지함으로써, 소프트웨어 프로세스 모델이 LLM 기반 코드 생성의 품질과 안정성 향상에 효과적임을 입증한다.