blog.yoouyeon
about/tags
Back to blog
Nov 01, 2025

AI 코드 리뷰 도구 활용기 - CodeRabbit과 PR-Agent

by 유연

왜 AI 코드 리뷰 도구가 필요했을까

코드 리뷰는 내가 정말 좋아하는 과정이다. 내 코드를 점검하고 개선할 수 있다는 점에서도 좋고, 다른 사람의 코드를 읽으며 다른 관점을 얻어가는 것도 즐겁다. 하지만 코드 리뷰가 비용이 많이 드는 프로세스라는 점은 부정할 수가 없다.

아무리 이해하기 쉽게 잘 짜여진 코드라도 다른 개발자의 코드를 이해하는 것은 꽤 피로한 일이다. 개발자적 공감 능력을 최대한으로 발휘해야 하는 과정이기도 하고, 무엇보다 동료가 꼭 있어야 한다는 조건도 있다. 실제로 최근 팀 프로젝트에서는 서로 바빠서 리뷰 타이밍이 안 맞거나 꼼꼼히 확인하기 어려운 상황도 있었고, 혼자 알고리즘 공부를 하면서는 매번 Claude에게 코드를 복사해서 붙여넣고 피드백을 받는 것이 번거롭다는 생각이 들기도 했었다.

이런 코드 리뷰의 애로사항을 해결하기 위해 요즘 CodeRabbit, GitHub Copilot, PR-Agent, Qodo 같은 많은 AI 코드 리뷰 툴들이 나오고 있다. 그러다 최근에 두 가지 상황에서 서로 다른 툴을 설정해서 사용해 볼 기회가 있었다. 팀 프로젝트에서는 CodeRabbit을, 알고리즘 공부에서는 PR-Agent를 도입했는데 둘 다 꽤 만족스러운 경험이었어서 정리해보려고 한다.

팀 프로젝트 × CodeRabbit

우리 팀은 개발자 2명으로 구성되어 있었다. 둘 다 코드 리뷰의 중요성에 공감했기에 "모든 PR은 리뷰 후 머지"하는 것을 원칙으로 세웠다. 하지만 각자 개발 속도가 다르고 개인 일정도 있어서 타이밍이 안 맞을 때가 많았다. 특히 둘 다 주니어 개발자라 "리뷰를 잘하고 있는 건가?" 싶을 때도 있었고 뭔가 놓치고 있다는 찝찝함도 있었다.

프로젝트의 첫 페이즈가 끝난 뒤, 이 문제를 해결하기 위해서 AI 코드 리뷰 도구를 도입해보기로 했다. 여러 도구를 찾아보다 CodeRabbit을 선택했는데, 공개 레포지토리에서 무료 티어를 쓸 수 있었고, 설정이 간단해서 부담이 덜했기 때문이다.

설정은 .coderabbit.yaml 파일로 관리할 수 있다. 우리 팀에 맞게 기본 설정을 조금 조정했다.

language: ko-KR
enable_free_tier: true
reviews:
profile: chill # assertive(엄격) vs chill(기본)
# PR 요약 자동 생성
high_level_summary: true
high_level_summary_placeholder: '@coderabbitai 요약'
# PR 제목 자동 생성
auto_title_placeholder: '@coderabbitai 제목'
auto_title_instructions: >
PR 제목은 한국어로 작성합니다.
제목은 짧고 명확하게, [대상] + [액션] 형식으로 작성합니다.
# 비활성화한 기능들
sequence_diagrams: false
estimate_code_review_effort: false
auto_review:
# draft PR은 리뷰하지 않음
drafts: false

profilechill로 설정했다. assertive는 엄격한 설정으로 피드백이 많은데, 우리는 사람도 직접 리뷰하기 때문에 AI는 적절한 수준의 피드백만 주면 충분했다. PR 제목과 요약 자동 생성 기능도 켰는데, 개인적으로는 좋은 PR 제목을 짓는 것을 어려워해서 이 기능이 정말 유용했다. 시퀀스 다이어그램이나 리뷰 난이도 추정 같은 기능은 기본적으로는 켜져 있는데 우리는 프론트엔드 프로젝트에서는 활용도가 낮다고 판단해 껐다. 그리고 우리 팀은 draft PR을 자주 쓰기 때문에 이 단계에서는 리뷰하지 않도록 설정했다.

그리고 이렇게 리뷰를 받았다: Pull Request #7 · moddo-kr/moddo-frontend

가장 좋았던 점은 실제로 사람이 리뷰해주는 것 처럼 line-by-line 리뷰가 가능하다는 점이었다. 이 PR은 디렉토리 구조를 변경하는 PR이었는데 이렇게 미처 변경하지 못한 package.json의 SVGR 경로까지 짚어줬다.

CodeRabbit Review Comment

가끔은 CodeRabbit이 실수할 때도 있었다. 컴포넌트 import 경로가 잘못되었다는 리뷰가 있었는데 실제로는 문제가 없는 코드였다. 이럴 때에는 CodeRabbit을 멘션해서 질문을 남기면 다시 확인하고 답변해줬다.

CodeRabbit Chat Comment

CodeRabbit을 도입하면서 가장 기대했던 점은 코드 리뷰 과정의 부담을 줄이는 것이었다. 리뷰하는 입장에서는 AI가 기본적인 오류들을 먼저 체크해주면 비즈니스 로직이나 팀 컨벤션, 가독성 같은 부분에 좀 더 집중할 수 있을 것 같았다. 그리고 리뷰받는 입장에서는 크리티컬한 오류를 바로바로 수정할 수 있어 최종 머지까지 걸리는 시간도 줄어들 것이라 예상했다.

아직 비즈니스 로직이 많은 PR을 리뷰받지는 못해서 실제 효과를 확실히 체감하지는 못했다. 하지만 팀원이 "생각보다 괜찮네요." 라며 긍정적인 반응을 보인 걸 보니 CodeRabbit 도입은 괜찮은 선택이었던 것 같다. ✌️

알고리즘 공부 × PR-Agent

알고리즘 공부는 조금 다른 맥락에서 AI 코드 리뷰를 활용했다. 혼자 문제를 풀다 보니 피드백이 필요해졌다. 그래서 Claude에게 매번 코드를 복사해서 물어봤는데, 이게 점점 번거로워졌다. 그래서 GitHub Actions와 PR-Agent를 결합해서 알고리즘 코드를 리뷰받는 프로세스를 자동화했다. 이 워크플로우 덕분에 코드를 푸시하면 자동으로 PR이 생성되고 AI가 리뷰하는 것을 확인할 수 있게 되었다.

앞서 CodeRabbit을 팀 프로젝트에서 써봤지만, 알고리즘 공부 코드 리뷰를 위한 툴로는 PR-Agent를 선택했다. 사실 기능적으로는 상용 프로그램인 CodeRabbit이 더 나았을 것 같다. 하지만 지금까지 Claude로 코드 리뷰를 받아왔고 개인 프로젝트라서 설정이 좀 복잡해도 괜찮았다. 무엇보다 오픈소스 컨트리뷰션 아카데미에서 봤던 프로젝트여서 한번 써보고 싶기도 했다.

PR-Agent 설정은 CodeRabbit과 비슷하게 .pr_agent.toml 파일을 이용해서 할 수 있었다.

[config]
# models
model="anthropic/claude-3-5-sonnet-20241022"
response_language="ko-KR"
[pr_reviewer] # /review - 기본 알고리즘 코드 리뷰
# enable/disable features - 알고리즘 코드리뷰에 과한 설정들 끄기
require_estimate_effort_to_review=false
require_security_review=false
require_ticket_analysis_review=false
# general options
extra_instructions = """
Focus on algorithmic and performance improvements in JS/TS code.
1. Analyze time and space complexity; suggest improvements (e.g., O(n) → O(1) if possible).
2. Propose alternative data structures or patterns (Set/Map, two pointers, sliding window, etc.).
3. Identify potential edge cases and provide at least 2 counterexamples.
4. Suggest minimal code changes that directly improve correctness or efficiency.
Do not focus on cosmetic or style-only changes here.
"""
[pr_code_suggestions] # /improve - 코드 개선 (좀 더 우아한 코드)
extra_instructions = """
Provide improvements to make the code more elegant and maintainable.
Focus on readability, naming, modularity, and idiomatic JS/TS practices.
Do not suggest trivial style-only changes unless they improve clarity or performance.
Always provide concrete refactored code snippets, not abstract advice.
"""

Claude Sonnet을 이용해서 한국어로 리뷰하도록 설정했다. CodeRabbit과 가장 큰 차이는 /review/improve 커맨드가 분리되어 있다는 점이었다. 나는 /review 는 알고리즘 성능에, /improve는 코드 가독성에 집중해서 리뷰하도록 각각 프롬프트를 설정했다.

이렇게 해서 실제로 받은 리뷰 중 하나이다: Pull Request #12 · yoouyeon/algorithm_study

PR-Agent review comment

PR-Agent improve comment

이렇게 프롬프트대로 성능 개선 제안이나 코드 가독성 관련 피드백을 받을 수 있었다.

한가지 아쉬운 점은 line-by-line 리뷰가 상용 버전인 Qodo Merge의 유료 플랜에서만 가능하다는 점이었는데, 알고리즘 코드 리뷰는 코드 양이 많지 않아서 큰 문제는 없었다. 그리고 /ask 커맨드를 이용해서 리뷰와 관련해서 질문도 할 수 있었다.

PR-Agent ask conversation

가장 좋았던 점은 알고리즘 공부에 대한 부담이 확실히 줄었다는 것이다. 이전에는 문제를 풀고 → Claude에 복사 → 질문 → 답변 확인 → 수정 ... 이 과정을 반복해야 했는데, 이제는 푸시만 하면 리뷰를 받을 수 있다. 심리적 장벽이 낮아지니 부담 없이 시작할 수 있게 되었다. 문제를 풀 때에도 성능은 물론이고 코드 가독성까지 한번 더 고민하게 되었다.

정리하며

이렇게 CodeRabbit과 PR-Agent를 각각 다른 환경에서 써봤는데, 결론적으로는 둘 다 만족스러웠다.

CodeRabbitPR-Agent
설정간단복잡
line-by-line무료유료
한국어(주관적)자연스러움약간 어색
비용제한적 무료 티어API 비용 직접 관리

내 경우에는 팀 프로젝트엔 설정이 간단한 CodeRabbit이, 개인 프로젝트엔 자유도가 높은 PR-Agent가 잘 맞았다. 하지만 프롬프트를 잘 짠다면 (비용을 제외하면) 어떤 도구든 비슷하게 활용할 수 있을 것 같긴 하다.

도구와는 별개로 AI 코드 리뷰가 생각보다 훨씬 좋았다. 팀에서는 PR 리뷰 비용을 줄일 수 있었고, 혼자 공부할 때는 즉각적인 피드백을 받을 수 있다는 점이 특히 좋았다. 다음에도 소규모 팀에서 개발할 일이 있다면, AI 코드 리뷰와 함께하고 싶다.

end