상세 컨텐츠

본문 제목

LLM을 이용한 AI 코드 리뷰

Information Technology/기술 트렌드

by Developer, Jiyong Kim 2024. 7. 2. 14:18

본문

시간은 금이다: LLM을 이용한 AI 코드 리뷰 도입기( 출처: NAVER D2 )

 

LLM을 사용한 자동화 코드리뷰 후기(Github Copilot Chat)

  1. 85%의 개발자가 코드 품질에 대한 향상을 느낌
  2. 코드 리뷰 및 피드백에 대한 시간이 15% 향상됨
  3. 88%의 개발자가 자동화 코드리뷰를 지속하고 싶다고 함

네이버의 AI 코드리뷰 도입기

  • 24년 출시한 Meta의 Llama3 700B 모델 채택
    • 채택 이유: 오픈소스, 라이선스문제 없음,  15조 개의 Token으로 훈련됨, Tokenizer가 매우 커서 한정된 리소스로 실행시키기 적합하다고 판단
  • 코드 리뷰 기준
    • Pre-condition Check: 함수나 메서드가 올바르게 작동하기 위해 필요한 변수의 상태나 값의 범위를 가지고 있는지 검사
    • Runtime Error Check: Runtime Error 가능성이 있는 코드를 검사하며, 기타 잠재적 위험을 확인
    • Optimization: 코드 패치의 최적화 포인트를 검사. 코드가 성능이 떨어진다고 판단되면, 최적화된 코드 추천
    • Security Issue: 코드가 심각한 보안 결함을 가진 모듈을 사용하거나 보안 취약점을 포함하고 있는지 검사
  • 아키텍쳐

  • 프롬프트 엔지니어링 - 시스템 프롬프트
    • 한국어로 답변하도록 프롬프트 설정(ex. "Please answer in Korean", "You should ensure that all answer are in Korean")
    • 역할 부여: 특정 역할을 부여해주고, 출력을 원하는 분야에 대하여 불필요한 할루시네이션을 줄임
    • 출력 제한: LLM 특징상 다양한 답변이 나올 수 있기 때문에, 원하는 아웃풋 포맷을 받을 수 있도록 예시를 직접 입력
  • 실행 방법
    • 조직이나 개인 repository에서 Runner를 생성해놓은 상태에서, AI 코드 리뷰를 적용하고자 하는 repository 경로 안에서 ./github/workflows/ 내에 해당 yaml 파일을 생성
    • 자동 코드 리뷰를 받고자 하는 repository에서 action 불러오기
  • AI 코드 리뷰 결과 리포트 예시

 

관련글 더보기