
CodeRabbit Review 신규 기능 정리: Code Peek, Chat Agent, 그리고 더 많은 것들
해당 블로그는 Konrad Sopala 원저자의 글 'What's new in CodeRabbit Review: Code Peek, Chat Agent and more'을 번역한 것입니다. 더 나은 이해를 위해서 약간의 의역이 반영되었습니다.
CodeRabbit 유저 그룹 카카오톡 오픈채팅방이 있습니다. 관심 있으신분들은 오셔서 함께 소통하면 좋을 것 같습니다.
CodeRabbit Review는 이번 달 초에 정식으로 공개되었습니다. Pull Request를 받아 평면적인 파일 목록 대신 순서가 부여된 코호트(cohort)와 레이어로 재구성해 주는 새로운 리뷰 인터페이스입니다. 실제로 코드가 만들어진 순서대로 변경 사항을 읽어 내려갈 수 있죠. 출시 후 2주 동안 그 위에 여러 기능이 새로 얹혔습니다. 무엇이 달라졌는지 함께 보시죠.
Cohorts: 같은 PR 안에서도 독립된 작업 단위로
요즘 Pull Request는 한 가지만 다루는 경우가 드뭅니다. AI 에이전트가 작성한 PR이라면 더더욱 그렇죠. 하나의 PR이 새 데이터 모델, 그걸 사용하는 백엔드, 전혀 관련 없는 버그 수정, 설정 파일 변경까지 한꺼번에 건드리는 일이 흔합니다. 위에서 아래로 읽다 보면 몇 파일마다 전혀 다른 주제로 머리를 갈아 끼워야 합니다.
Change Stack은 이 diff를 cohort 단위로 묶어 줍니다. 작고 독립적인 작업 단위인 셈이죠. 각 cohort는 자기만의 미니 워크스루를 갖고 자기만의 정렬된 레이어, 범위에 맞춘 요약, 그리고 필요한 곳에만 다이어그램이 따라붙습니다. 한 cohort를 마무리하고 다음으로 넘어가도 PR 전체를 머리에 이고 다닐 필요가 없습니다.
손으로 작성한 80줄짜리 변경에는 이 기능이 크게 와닿지 않을지도 모릅니다. 그런데 서로 무관한 세 가지 주제를 동시에 건드린 1,400줄짜리 AI 작성 PR이라면 이야기가 다릅니다. "내일 리뷰해야지"와 "지금 바로 리뷰할 수 있다" 사이의 차이를 만들어 주거든요.
Code Peek: 리뷰 화면을 떠나지 않고 정의를 들여다보기
diff를 읽다가 함수 호출 한 줄을 만났습니다. 자연스럽게 질문이 떠오릅니다. 이 함수는 어디서 정의됐고 또 어디서 호출되고 있을까?
대부분의 리뷰어가 솔직하게 답하면 이렇습니다. "다른 탭에서 열어 grep 해 봐야지." 그렇게 몇 분간 방향을 잡다 보면, 정작 리뷰하던 위치를 잊어버리기 일쑤입니다.
Code Peek은 그 우회로를 없애 줍니다. diff에 등장하는 변수, 함수, 클래스, 타입 이름을 클릭하면, Change Stack이 GitHub 코드 검색을 사용해 정의와 사용처를 인라인으로 찾아 주위 컨텍스트와 함께 보여 줍니다. 페이지를 떠나지 않고도 코드를 따라갈 수 있죠. 결과가 가리키는 파일이 이 PR에서 실제로 변경된 파일이라면 Open in Change Stack 액션으로 곧장 해당 파일로 이동합니다. CodeRabbit Review는 페이지 안에 이동 히스토리를 남겨 두기 때문에, 심볼을 따라 세 파일 깊이까지 내려갔다가도 원래 자리로 돌아올 수 있습니다.
긴 리뷰를 고고학 발굴처럼 느껴지지 않게 해 주는, 작지만 효과가 큰 기능입니다.

Chat Agent: PR에 직접 질문하기
워크스루와 범위별 요약은 리뷰어가 흔히 던지는 질문에 답해 줍니다. 하지만 거기에 담기지 않는 구체적인 궁금증이 생길 때도 있죠.
- NotificationDispatcher.kt에서 정확히 뭐가 바뀐 거지?
- 디스패처 변경에 어떤 레이어들이 의존하고 있지?
- 이 storage adapter 이름 변경, 처음부터 끝까지 한 번 설명해 줘.
Change Stack의 Chat Agent 탭은 작업하고 있는 바로 그 자리에서 이런 질문을 던지게 해 줍니다. PR의 전체 컨텍스트(모든 cohort, 레이어, 변경된 줄)를 이미 갖고 있고 같은 뷰 안에서 답을 돌려줍니다. 별도 채팅 창으로 넘어가 AI에게 PR을 요약해 달라고 부탁할 일이 없습니다. AI가 이미 같은 diff 위에 앉아 있으니까요.
PR을 작성한 동료에게 물어볼 만한 질문에 가장 잘 어울립니다. 다만 그 동료가 온라인일 필요는 없죠.

Severity Labels: 중요도로 정리하기
긴 PR에는 긴 CodeRabbit 지적 사항이 따라옵니다. 모든 지적이 같은 무게를 갖지는 않죠. 어떤 것은 머지를 막아야 하고 어떤 것은 개선 제안, 또 어떤 것은 사소한 트집입니다.
Change Stack은 이제 네 가지 심각도 버킷을 보여주며 이를 기준으로 필터링하고 묶어볼 수 있습니다.
- Critical
- Major
- Minor
- Trivial
CodeRabbit이 코멘트에 이미 붙여 오던 두 가지 라벨 계열과는 별개입니다. Comment type은 피드백의 성격(잠재적 이슈, 리팩토링 제안, 트집)을 알려주고 Effort는 그 수정이 어느 정도 가치가 있는지(빠른 승, 무거운 작업, 손해 보는 트레이드오프, 가치 낮음)를 알려줍니다. 필터를 겹쳐서 "Critical 또는 Major 잠재적 이슈만 보여줘" 같은 조건도 만들 수 있습니다. 한 시간 안에 배포할 수 있는 PR인지 다시 한번 봐야 하는 PR인지 판단할 때 유용합니다.

직접 써 보기
AI가 생성한 대형 PR을 열어 두고 어떤 코드가 어디에 의존하는지 재구성하려 파일 사이를 오가던 시간이 있었다면, Cohorts와 Code Peek가 그 작업의 상당 부분을 덜어줄 겁니다.
PR을 처음부터 다시 읽어 답을 찾는 대신 그냥 PR에 질문하고 싶었던 적이 있다면, 이제 Chat Agent로 가능합니다.
그리고 CodeRabbit 지적 사항 목록이 길게 늘어진 상태였다면, 심각도 필터로 더 빠르게 정리하실 수 있습니다.
Change Stack은 얼리 액세스 단계이며 현재는 GitHub에서만 사용할 수 있습니다. 출시 기간 동안 모든 사용자가 사용할 수 있고 이후에는 Pro+ 플랜에 포함될 예정입니다. 다음 CodeRabbit PR 코멘트에서 Review Change Stack 버튼을 눌러 보시면 됩니다.