AI, 리눅스 커널 코드 리뷰에 투입! 버그를 잡아내다.
리눅스 커널 개발자 Chris Mason이 AI 기반 코드 리뷰 프롬프트(AI-assisted code review prompts)를 개발하여 코드 품질 향상에 기여
코드 조각(Chunks of Code) 단위 리뷰, 과거 스레드 참조, syzkaller 수정 사항 분석 등 다양한 태스크(Tasks)를 통해 정확도 향상
자동화된 AI 코드 리뷰 봇(AI code review bot)이 버그를 발견하는 등 긍정적인 결과(Positive Results)가 나타남
AI 기반 코드 리뷰의 기술적 특징
Chris Mason은 AI/LLM 기반 코드 리뷰(AI/LLM-assisted code review)를 위해 여러 개의 개별 태스크(Tasks)를 도입했다. 특히, 대규모 diff를 작은 조각으로 나누어 각 조각을 개별적으로 검토하는 방식을 사용한다. 이는 토큰 사용량을 줄이고, 더 많은 버그를 발견하는 데 기여한다. 또한, 수정된 함수, 타입, 호출 그래프를 추출하기 위해 파이썬 스크립트(Python Script)를 활용하여 토큰 사용량(Token Usage)을 최적화한다.
AI 코드 리뷰의 실질적인 효과
커뮤니티에서는 AI 기반 코드 리뷰 봇(AI code review bot)이 개발자가 놓친 버그를 발견하는 등 긍정적인 효과를 언급한다. 특히, 자동화된 코드 리뷰(Automated Code Review)는 개발자의 인적 자원 투입을 최소화하면서 코드 품질을 향상시키는 데 기여한다. AI 기반 도구(AI-powered tools)는 코드 검토 과정에서 인간의 주의력(Human Attention)을 보완하는 역할을 수행하며, 개발 생산성을 높이는 데 기여할 수 있다.
향후 과제 및 개선 방향
현재 AI 기반 코드 리뷰는 토큰 사용량, AI 제공업체의 토큰 캐싱(Token Caching) 방식에 따라 성능이 달라지는 등 개선할 부분이 존재한다. Chris Mason은 이러한 문제점을 해결하기 위해 파이썬 스크립트(Python Script)를 지속적으로 개선하고, 각 태스크(Tasks)의 컨텍스트 윈도우(Context Window)를 최적화하는 방안을 모색하고 있다. 또한, syzkaller 수정 사항 분석 등 특정 분야에 대한 딥 다이브(Deep Dive)를 통해 정확도를 높이는 노력을 기울이고 있다.