최근 대규모 언어모델(LLM)이 코드를 대량으로 생성하면서, 개발자들이 AI가 만든 코드의 주석에서 새로운 문제에 직면하고 있습니다. 바로 '얍(Yap)'이라고 불리는 현상으로, 이는 LLM이 생성한 주석이 실제 코드 이해에 필요한 정보는 부족한 채 장황하고 불필요한 내용으로 가득 찬 상태를 의미합니다. 마치 누군가를 이해시키기 위함이 아니라 스스로 생각을 이어가기 위해 쏟아내는 독백이 코드에 남긴 흔적과 같습니다.
'얍'의 대표적인 예시로는 단순한 타입 정의 위에 30줄이 넘는 주석, 함수 위에 몰아넣은 200줄짜리 설명, 또는 파일 상단에 무엇을 설명하는지 알 수 없는 50줄의 주석 등이 있습니다. 이러한 주석들은 코드의 동작을 설명하기보다 프롬프트를 반복하거나, 이미 사용하지 않는 과거 방식을 설명하는 등 실질적인 가치를 제공하지 않습니다. 문제는 주석이 코드와 달리 컴파일러의 검증을 받지 않기 때문에, 코드가 변경되어도 주석은 낡은 채로 남아 부정확한 정보가 될 수 있다는 점입니다. 개발자들은 코드 리뷰 과정에서 이러한 장황한 주석을 일일이 지적하는 대신, '얍'이라는 한 단어로 주석의 가치, 길이, 위치, 필요성을 재검토하라고 요구하기 시작했습니다.
이러한 '얍' 현상은 LLM이 다음 토큰을 예측하기 위해 문맥에 세부 정보를 채우는 과정에서 스스로 독백하는 경향이 있기 때문으로 분석됩니다. 인간 개발자도 코드를 살피며 머릿속으로 중얼거리지만, LLM은 이러한 독백을 주석으로 흘려보내 불필요한 정보를 남깁니다. '얍'이라는 용어의 도입은 반복되는 AI 코드 주석 문제를 명확히 정의하고 공유함으로써, 코드 리뷰의 효율성을 높이고 궁극적으로는 AI 모델이 더 나은 품질의 주석을 생성하도록 학습 데이터를 개선하는 데 기여할 것으로 기대됩니다. 이는 AI 보조 코딩 시대에 인간과 AI의 협업 방식을 개선하는 중요한 단계가 될 것입니다.