본문으로 건너뛰기

© 2026 Molayo

Zenn헤드라인2026. 05. 20. 23:18

커밋 전에 AI가 코드를 검토해준다 — IntelliJ IDEA의 Self-Review with AI 사용 후기

요약

IntelliJ IDEA 2026.1 Ultimate 버전에서 제공하는 'Perform Self-Review with AI' 기능의 사용 후기를 다룹니다. 이 기능은 커밋 전 변경 사항을 AI가 자동으로 검토하여 코드 품질을 높여주며, 팀의 고유한 코딩 규칙을 Markdown 파일로 설정하여 맞춤형 리뷰를 받을 수 있습니다.

핵심 포인트

  • 커밋 전 변경 사항뿐만 아니라 이미 푸시된 커밋에 대해서도 사후 리뷰가 가능함
  • Markdown 파일을 통해 팀 고유의 코딩 컨벤션과 가이드라인을 AI에게 학습시킬 수 있음
  • 별도의 가이드라인 없이도 Kotlin의 베스트 프랙티스를 기반으로 기본적인 코드 문제를 감지함
  • JetBrains AI 구독 또는 Anthropic/OpenAI API 키가 필요함

서론

git push 버튼을 누르기 직전에 '이 커밋, 괜찮을까' 하고 불안해질 때가 있습니다.

리뷰어에게 '또 이 패턴이야?'라는 지적을 받는 경우도 있습니다. 매번 리뷰어의 시간을 뺏는 것도 미안하고요. 그렇다고 해서 커밋 전에 스스로 코드를 다시 읽어보는 '셀프 리뷰(Self-Review)'를 할 때마다 하려면 상당한 집중력과 시간이 필요합니다.

그래서 이번에는 IntelliJ IDEA의 Perform Self-Review with AI 기능을 사용해 보았습니다. 이 기능은 AI가 커밋 전의 변경 사항을 자동으로 검토해 주는 기능입니다.

이 글에서는 실제로 사용해 본 경험과 어떤 문제들을 감지했는지에 대해 작성했습니다.

사용 환경

  • 제품: IntelliJ IDEA 2026.1 (Ultimate)
  • 기능: Perform Self-Review with AI (AI를 이용한 셀프 리뷰)
  • 전제 조건: JetBrains AI 구독 또는 BYOK(Anthropic / OpenAI API 키)가 활성화되어 있어야 함

사용 방법

1. Commit 툴 창 열기

Alt+0을 눌러 Commit 툴 창을 엽니다. 평소에 사용하는 커밋 화면과 동일합니다.

2. 검토할 변경 사항 선택 후 'Self-Review with AI' 클릭

스테이징하고 싶은 파일에 체크 표시를 한 상태에서 'Self-Review with AI' 버튼을 클릭합니다.

3. AI Self-Review 탭에서 결과 확인

Problems 툴 창이 자동으로 열리며, AI Self-Review 탭에 감지된 문제 목록이 표시됩니다.

4. 문제 수정 후 커밋

감지된 문제를 확인하고 수정한 후, 평소처럼 커밋을 진행합니다.

이미 커밋한 변경 사항에도 사용 가능

아직 커밋하지 않은 변경 사항뿐만 아니라, 이미 push한 커밋에 대해서도 나중에 셀프 리뷰를 할 수 있습니다.

Alt+9로 버전 관리 툴 창을 열고, Git 로그에서 대상 커밋을 선택 → 'Self-Review with AI'를 클릭합니다.

팀 고유 규칙을 가이드라인으로 전달 가능

개인적으로 가장 흥미로웠던 점은 리뷰 가이드라인을 Markdown 파일로 지정할 수 있는 기능입니다.

Settings | Tools | AI Assistant | Project Settings의 'Path to rules for AI Self-Review'에 파일 경로를 지정하면, AI가 해당 규칙에 따라 리뷰를 수행합니다.

# Code Review Guidelines
## Naming-
메서드명은 동사로 시작할 것 (get / create / update / delete)
- Boolean 변수는 is / has / should로 시작할 것
...

팀의 규약을 Markdown으로 작성해 두면, AI가 이를 기반으로 리뷰를 진행합니다.

감지 결과 (가이드라인 없음)

심어 놓은 위반 사항을 모두 감지했습니다.

지적내용
varval
id / name / active 3개 속성을 묶어서 1건
activeisActive
Boolean 명명 규칙
usergetUser
메서드명을 동사로 시작할 것
빈 catch 블록
log.severe()로 기록해야 함
if (user != null)?:
엘비스 연산자 사용
  • 지적 사항은 모두 영어로 출력되었습니다.
  • 가이드라인이 없어도 Kotlin의 일반적인 베스트 프랙티스로서 모든 항목을 감지했습니다.

감지 결과 (가이드라인 있음)

감지 건수와 내용은 동일한 5건입니다. 가이드라인 없음과의 차이는 지적 문구의 표현 방식에 있었습니다.

지적 사항가이드라인 없음가이드라인 있음
빈 catch 블록Consider logging the exceptionUse log.severe() ... as per the guidelines
varvalIt is recommended to use valshould be marked as val ... per the guidelines
Boolean 명명renamed to isActivenamed isActive to follow the naming convention
메서드 명명align with naming conventionsadhere to the 動詞で始める rule (일본어 그대로 인용)
null 체크use the Elvis operatorfollowing the guideline
  • 건수 및 검출 위치에는 차이가 없었음
  • 가이드라인이 있는 경우, 「per the guidelines」, 「following the guideline」과 같이 근거가 가이드라인임을 명시함
  • 가이드라인의 일본어(動詞で始める)가 지적 문구에 그대로 인용됨

요약

AI를 통한 셀프 리뷰(Self-Review)는 "PR(Pull Request)을 보내기 전에 한 번 AI에게 보여준다"는 습관을 IDE를 벗어나지 않고 실천할 수 있는 편리한 기능이라고 느꼈다.

  • 리뷰에서 동일한 종류의 지적을 받고 있다
  • 커밋 전에 "누락된 것이 없는지 불안하다"
  • 팀의 코딩 컨벤션(Coding Convention)을 자동으로 확인하고 싶다

반대로, 거대한 커밋을 한꺼번에 보내는 운영 스타일이라면 리뷰 대상이 너무 넓어 실용적이지 않을 수도 있다. 작고 세밀하게 커밋하는 개발 스타일과 궁합이 좋아 보인다.

팀의 규칙을 Guidelines 파일에 작성하기 시작하면, 서서히 효과를 발휘하는 기능이라고 생각한다.

낫토 시스템(Nattou System)에서 알려드립니다

저희는 JetBrains 제품에 관한 질문이나 상담 등을 접수하고 있습니다. 저희의 X(구 Twitter) 또는 이메일로 연락해 주시기 바랍니다.

참고 자료

AI 자동 생성 콘텐츠

본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0