[Tech] AI가 해주는 코드리뷰 - CodeRabbit

2025. 5. 8. 16:25·ETC/ETC
728x90

Introduce

최근에는 1인 프로젝트를 많이 진행하고 있다. 혼자 개발을 하다 보니 코드에서 놓치는 부분이 많다는 것을 실감하게 되었다.

여러 사람과 함께 프로젝트를 진행할 경우, 코드리뷰를 통해 서로의 코드를 교차 검증하고, 클린코드나 컨벤션 같은 사소한 수정은 물론 소프트웨어 결함을 일으킬 수 있는 로직까지 찾아내고 보완할 수 있다.

하지만 1인 개발 환경에서는 이러한 코드리뷰 과정을 거치기 어렵고, 여러 명이 함께 리뷰를 하더라도 시간이 많이 들고 리뷰의 정확도도 떨어질 수 있다.

이러한 한계를 보완하고자, AI가 자동으로 코드리뷰를 수행하는 솔루션인 CodeRabbit 을 직접 경험해보고자 한다.

 

특징

  1. AI 기반 자동 코드리뷰
    • PR(Pull Request) 생성 시, AI가 자동으로 코드 변경 사항을 분석하고 리뷰 제공
  2. 코드 요약 및 라인별 피드백
    • 변경된 코드를 요약하고, 각 라인에 대해 스타일, 오류 가능성, 성능 개선 등을 지적
  3. 다국어 지원
    • 사용자의 언어에 따라 영어, 한국어 등으로 리뷰 제공 (초기 언어 감지 기반)
  4. 시각적 이해 지원
    • 시퀀스 다이어그램 등을 통해 코드 흐름을 시각화
  5. GitHub/GitLab 연동
    • 주요 협업 플랫폼과 쉽게 통합 가능
  6. 지속적 학습 및 커스터마이징
    • 팀 코드 스타일에 맞춰 AI 리뷰 품질 향상 가능

 

가격

가격은 아래와 같다. Free 플랜은 14일 동안만 무료로 사용 가능하며, Lite 플랜 기준으로는 인당 월 $12 금액이 청구된다.


Log-In

coderabbit (https://www.coderabbit.ai) 홈페이지에서 “Geta a free trial” 을 눌러 로그인을 진행한다.

로그인은 github, gitlab 과 같은 저장소 관리 시스템 계정으로 진행할 수 있다. 호스팅 방식에 따라 SaaS와 Self-Hosted 방식 중 선택하여 진행한다.


Environment configuration

로그인 후 기본적으로 설정해야 하는 항목은 많지 않다. Repositories 에서 자신이 리뷰 받고 싶은 저장소의 설정으로 들어간다.

General - Review Language - Korean 선택하여 언어를 한국어로 설정한다.


실습

코드 리뷰를 테스트하기 위해 간단한 테스트 코드를 커밋한다.

 

커밋에 사용한 코드는 프로그래머스의 - 완주하지 못한 선수 (https://school.programmers.co.kr/learn/courses/30/lessons/42576) 코딩 테스트 문제이다.

 

아래 코드 커밋 후 PR(Pull Requests) 을 등록한다.

def solution(participant, completion):
    hashMap = {}
    for person in participant:
        hashMap[person] = hashMap.get(person, 0) + 1
    for person in completion:
        hashMap[person] -= 1
    for key, value in hashMap.items():
        if value > 0:
            return key
            return keyNew # 고의적으로 주입한 unreachable code

 

몇 분이 흐르고 나면 아래와 같이 리뷰가 등록된다. 컨벤션, 클린코드와 같이 사소한 리뷰부터 결함을 일으킬 수 있는 중대한 로직까지 세세하게 리뷰해 준다. 또한 리뷰에 대해 코멘트를 남기면 몇 분 안에 피드백 코멘트를 남겨준다.


총평

AI 코드리뷰 솔루션은 마치 ChatGPT가 처음 등장했을 때처럼 신선한 충격을 주었다.

 

실무에서 개발을 하며 느낀 점은, 코드 리뷰는 매우 중요하지만 시간이 오래 걸리고, 때로는 중대한 결함을 발견하지 못하거나 리뷰의 정확성과 일관성이 떨어질 수 있다는 것이다.

 

물론 다른 기술들과 마찬가지로 AI에 과도하게 의존하거나 맹신해서는 안 되지만, 코드 리뷰 과정에서 사람이 개입하기 전에 AI가 먼저 1차 리뷰를 수행하고, 이후 사람이 이를 검토하는 방식은 여러 측면에서 효율성을 크게 높일 수 있다고 느꼈다.

 

무엇보다 기존 코드리뷰의 단점인 시간 소요, 정확성 부족, 일관성 문제를 보완함으로써 전반적인 코드 품질 향상을 기대할 수 있다는 점이 가장 인상 깊었다.


Ref

  • https://www.coderabbit.ai/
  • https://velog.io/@songju7920/Tech-CodeRabbit
  • https://tech.inflab.com/20250303-introduce-coderabbit/
  • https://digitalbourgeois.tistory.com/939#google_vignette
  • https://velog.io/@ljw4536/혼자-프로젝트-할-때-외로움을-해소해줄-AI-Code-reviewer-CodeRabbit-처음-맛보기
728x90
저작자표시 비영리 변경금지

'ETC > ETC' 카테고리의 다른 글

[Tech] 순수 프로그래밍 시간 측정(wakatime)  (0) 2025.05.07
[ETC] YAML 문법 정리  (0) 2024.05.21
[CI/CD] Jenkins Build 결과 발송 [Slack]  (0) 2024.01.17
[CI/CD] Jenkins Build 결과 발송 [Email]  (0) 2024.01.13
[CI/CD] Jenkins Job을 수행하는 유저 변경  (0) 2024.01.13
'ETC/ETC' 카테고리의 다른 글
  • [Tech] 순수 프로그래밍 시간 측정(wakatime)
  • [ETC] YAML 문법 정리
  • [CI/CD] Jenkins Build 결과 발송 [Slack]
  • [CI/CD] Jenkins Build 결과 발송 [Email]
dev.parkjh
dev.parkjh
Jay Blog. Github: https://github.com/GreatPark96
  • dev.parkjh
    0과 1을 공부하다.
    dev.parkjh
  • 전체
    오늘
    어제
    • 분류 전체보기 (114) N
      • Profile (2)
      • Paper (6)
      • Column (3)
      • Project (8)
        • Smart Home (3)
        • 3D Printing (5)
      • Front-End (0)
        • Web (3)
      • Back-End (8)
        • API (1)
        • DB (1)
        • Laravel (4)
      • Language (16)
        • Kotlin (11)
        • C, C++ (3)
        • JAVA (0)
        • python (2)
      • System (28)
        • Server (15)
        • Security (1)
        • Network (1)
        • Linux (8)
        • Cloud (3)
      • ETC (34) N
        • Book Recommend (Computer) (3)
        • IoT (7)
        • BlockChain (7)
        • ETC (17) N
      • My YOLO (1)
      • Note (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    데이터 직렬화 포맷
    ci/cd
    3D
    C언어
    Kotlin
    네이버클라우드
    github
    3d프린터 초보
    3D모델링
    data serialization formats
    3D프린터 입문
    리눅스 파일동기화
    linux job
    Database
    Notification
    NAS HDD교체
    git
    coderabbit
    docker private register
    docker container
    Jenkins
    3D프린터
    kubernetes
    docker
    ai code review
    코틀린개발환경
    work hour
    nas
    ncp container registry
    gitlab
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dev.parkjh
[Tech] AI가 해주는 코드리뷰 - CodeRabbit
상단으로

티스토리툴바