Open Code Review 사용법: 검토 범위와 지적 사항 확인하기
알리바바 Open Code Review를 설치하고 미리보기로 검토 범위를 본 뒤 실제 AI 검토를 돌리는 순서와, 정밀도와 재현율, 공개 벤치마크 점수, 결과 파일을 읽는 법을 정리했습니다.

세 줄로 먼저 읽기
- Open Code Review는 알리바바가 Apache-2.0으로 공개한 AI 코드 검토 도구로, 터미널의 ocr 명령이 Git 변경 내역을 읽어 문제 후보와 위치를 알려 줍니다.
- 제작 측 AACR-Bench 표에서 같은 Claude-4.6-Opus 모델을 쓴 Open Code Review의 정밀도는 33.90%로 Claude Code의 7.23%보다 높고 재현율은 20.00%로 28.90%보다 낮습니다.
- ocr review --preview는 모델을 부르지 않고 검토 대상과 제외 이유만 보여 주며, 실제 검토 결과는 comments만이 아니라 status와 warnings까지 읽어야 빈 결과와 실패를 구분합니다.
Open Code Review는 알리바바가 공개한 AI 코드 검토 도구입니다. 코드 리뷰는 수정한 코드에 오류나 빠진 조건이 있는지 살펴보는 과정입니다. 터미널에서 ocr 명령으로 실행하면 Git의 변경 내역을 읽어 문제 후보와 위치를 알려 줍니다. Git은 파일의 변경 이력을 관리하는 도구입니다.
이 글은 2026년 10월 4일 공식 문서 기준입니다. 설치한 뒤에는 모델을 부르지 않는 미리보기로 검토 범위부터 보고, 그다음 모델을 연결해 실제 검토를 돌립니다. 지적이 하나도 없는 결과가 나와도 바뀐 동작은 사람이 직접 실행해 봅니다.
어떤 일을 맡기는 도구인가요?
일반 코딩 에이전트가 코드 작성과 수정, 검토를 두루 맡는다면 Open Code Review는 검토 절차만 맡습니다. 검토할 파일을 고르고 규칙을 적용하는 일은 프로그램이, 코드가 문제인지 판단하고 주변 맥락을 읽는 일은 연결한 모델이 맡습니다.
프로그램과 모델이 나눠 맡는 일
| 검토 단계 | ||
|---|---|---|
| 검토할 파일 고르기 | 제공 | – |
| 검토 규칙 적용 | 제공 | – |
| 문제인지 판단 | – | 제공 |
| 주변 코드의 맥락 읽기 | – | 제공 |
공식 문서는 이 구조가 파일을 빠뜨리거나 엉뚱한 줄을 지적하는 문제를 줄이려는 설계라고 설명합니다. 실제로 어떤 파일이 빠졌는지는 제외 규칙과 실행 결과에 나오므로 검토 때마다 함께 봅니다.
프로젝트는 누구나 쓰고 고칠 수 있는 오픈소스 라이선스인 Apache-2.0으로 공개되어 있습니다. 오픈소스여도 회사 코드를 외부 모델로 보내는 일과 새 도구 도입은 회사의 승인 절차를 따릅니다. 모델을 어느 제공자에 연결할지도 그 절차 안에서 정합니다.
그림의 3M+는 코드 리뷰 작업 수로, 다운로드 수와 사용자 수처럼 사용 규모를 나타냅니다. 검토가 얼마나 정확한지는 아래의 정밀도와 재현율로 봅니다.
정밀도와 재현율은 분모가 다릅니다
검토 도구의 성능은 정밀도와 재현율로 표시합니다. 정밀도는 도구가 지적한 것 가운데 진짜 결함의 비율이고, 재현율은 실제 결함 가운데 도구가 찾아낸 비율입니다. 예를 들어 코드에 실제 결함이 12개 있고, 도구가 10개를 지적했는데 그중 6개가 진짜 결함이라면 다음과 같습니다.
결함 12개 중 10개를 지적하고 6개가 맞았을 때
60%정밀도6 ÷ 10, 지적한 것 중 진짜 결함
50%재현율6 ÷ 12, 실제 결함 중 찾은 것
4개오탐결함이 아닌데 지적한 수
6개놓친 결함실제 결함 중 못 찾은 수
같은 6개를 맞혀도 정밀도는 지적한 수 10으로, 재현율은 실제 결함 수 12로 나눕니다. F1은 두 값을 함께 반영하는 조화평균이고, 이 예에서는 2 × 0.6 × 0.5 ÷ (0.6 + 0.5)로 약 54.55%입니다. F1은 도구가 결함을 얼마나 잘 찾는지 보여 주는 점수입니다.
공개 벤치마크는 제작 측 데이터에서 나온 비교입니다
AACR-Bench는 여러 저장소의 코드 검토 결과를 비교하는 평가입니다. 공개 데이터 카드는 올바른 검토 의견 1,505개와 잘못된 의견 640개, 모두 2,145개 의견으로 구성한 데이터를 설명합니다. 데이터 카드에 나오는 ‘10개 언어’는 한국어 같은 자연어가 아니라 프로그래밍 언어를 가리킵니다.
제작 측이 공개한 표에서 같은 모델 Claude-4.6-Opus를 쓴 두 행만 뽑으면 다음과 같습니다.
같은 모델을 쓴 두 검토 도구의 점수
이 표에서 전용 도구인 Open Code Review는 정밀도가 높고 재현율이 낮습니다. 지적 수는 적지만 맞는 비율이 높다는 뜻입니다. 반대로 Claude Code는 결함을 더 많이 찾는 대신 결함이 아닌 지적도 많이 냅니다. 이 비교는 제작 측이 고른 데이터와 표에 적힌 버전 조합에서 나온 결과여서, 내 저장소에서는 같은 코드와 요구사항으로 다시 돌려 봐야 차이를 알 수 있습니다.
검토 한 번에 든 평균 시간과 토큰
1분 23초Open Code Review 평균 시간
13분 6초Claude Code 평균 시간
385KOpen Code Review 평균 토큰
5,664KClaude Code 평균 토큰
토큰은 모델이 입력과 출력을 처리하는 단위입니다. 위 표에서 Open Code Review의 평균 토큰은 Claude Code의 약 6.8%(385 ÷ 5,664), 약 14.7분의 1입니다. 상단 요약 이미지의 ‘9분의 1’은 PR 1,000개를 비교한 수치라 대상이 다릅니다. PR은 코드 변경을 검토해 달라는 요청입니다. 실제 요금은 입력과 출력 단가, 캐시, 재시도에 따라 달라지므로 토큰 비율이 곧 청구액 비율이 되지는 않습니다.
설치하기
npm으로 설치하려면 Git 2.41 이상과 Node.js 18 이상, npm이 필요합니다. Node.js는 자바스크립트를 실행하는 프로그램이고, npm은 Node.js용 패키지를 설치하는 도구입니다.
설치 순서와 성공 표시
1. 버전 보기git, node, npm 버전
Git 2.41, Node.js 18 이상
2. 설치npm install -g
오류 없이 끝나면 다음
3. 설치 확인ocr version
버전 번호가 나오면 성공
먼저 터미널에서 세 도구의 버전을 봅니다.
git --version
node --version
npm --version명령을 찾지 못하거나 요구 버전보다 낮게 나오면 그 도구부터 설치하거나 올립니다. 세 버전이 모두 맞으면 Open Code Review를 설치하고 실행되는지 봅니다.
npm install -g @alibaba-group/open-code-review
ocr version
ocr --helpocr version이 버전 번호를 출력하면 설치가 끝난 것입니다. npm 설치판은 자동으로 업데이트되므로 검토 기록에는 그때 실행한 버전을 적어 둡니다. Node.js 없이 쓰는 운영체제별 실행 파일도 있습니다. ocr을 찾지 못한다는 오류가 나오면 다시 설치하기 전에 터미널이 npm의 전역 설치 위치를 찾는지부터 봅니다.
검토 범위를 미리보기로 확인하기
실제 검토 전에는 어떤 파일의 어떤 변경이 검토 대상인지 봅니다. --preview를 붙이면 모델을 부르지 않고 대상 파일과 제외 이유만 보여 줍니다.
미리보기와 실제 검토의 차이
| 항목 | ||
|---|---|---|
| 모델 호출 | 제공하지 않음 | 제공 |
| 모델 사용료 | 제공하지 않음 | 제공 |
| 보여 주는 것 | 검토 대상 파일 제외 이유 | 지적 목록 검토 상태 |
예를 들어 가입 화면의 나이 조건을 고친 뒤라면 저장소 폴더에서 다음 순서로 입력합니다.
git diff
ocr review --previewgit diff로 바꾼 줄이 맞는지 보고, 미리보기 목록에 고친 파일이 들어 있으면 다음 단계로 넘어갑니다. 파일이 제외됐다면 목록에 나온 제외 이유를 읽습니다. 파일이 아예 나오지 않으면 같은 저장소 폴더에서 실행했는지, 수정 내용을 저장했는지, 이미 커밋해 변경 내역에서 사라지지 않았는지 차례로 봅니다.
기본 ocr review는 커밋할 대상으로 고른 변경(스테이징한 변경)뿐 아니라 아직 고르지 않은 변경과 새 파일까지 검토합니다. 파일 하나만 스테이징해도 검토 범위는 그 파일로 줄지 않습니다. 변경분이 아니라 파일 전체를 보려면 ocr scan --path <파일 경로> --preview로 대상을 먼저 봅니다.
실제 AI 검토 실행하기
실제 검토에는 모델 제공자와 모델을 연결해야 합니다. 회사에서 허용한 제공자인지, 사용료와 코드 전송 조건은 어떤지 먼저 확인합니다. API 키는 모델 서비스에 접근하는 인증값이므로 아래 대화형 설정에서만 입력하고 코드나 문서에 붙여 넣지 않습니다.
ocr config provider
ocr config modelocr config provider는 제공자를 고른 뒤 연결 시험까지 합니다. 시험이 통과하면 그 계정으로 API 요청을 보낼 수 있다는 뜻입니다. 채팅 서비스 구독에 API 사용이 모두 포함되지는 않으므로, 구독만 있는 계정은 연결 시험에서 막힐 수 있습니다.
검토를 돌릴 때는 --background로 이번 변경의 요구사항을 함께 넘깁니다. 요구사항을 받은 모델은 그 문장을 기준으로 코드가 맞는지 판단합니다.
ocr review --background "18세 이상이면 canJoin이 true를 반환해야 합니다."결과를 파일로 남기려면 위 명령 대신 아래 명령을 한 번만 실행합니다. 두 명령을 모두 실행하면 검토도 두 번 돌아가 사용료가 두 번 듭니다.
ocr review --background "18세 이상이면 canJoin이 true를 반환해야 합니다." --format json --output ../ocr-result.json../ocr-result.json은 저장소 폴더의 한 단계 위에 결과를 저장하는 경로입니다. 같은 이름의 예전 결과가 있다면 파일이 이번 실행으로 갱신됐는지 수정 시각을 봅니다.
AI가 지적한 내용과 별개로, 바뀐 동작은 직접 실행해 봅니다. 위 요구사항이라면 경계값인 18을 넣었을 때 true가 나와야 합니다. AI가 아무것도 지적하지 않았어도 이 실행 결과가 기대와 다르면 결함입니다.
빈 결과와 실패를 구분하기
JSON은 이름과 값을 정해진 형식으로 저장하는 데이터 형식입니다. 결과 파일의 comments는 지적 목록입니다. 검토가 일부 파일에서 실패했거나 대상이 제외돼도 comments는 빈 채로 남으므로, 결과는 아래 순서로 읽습니다.
결과 파일을 읽는 순서
1. status완료, 일부 완료
실패, 제외
2. files_reviewedsummary 안의
실제 검토한 파일 수
3. warnings특정 파일의
실패나 제한
4. comments파일, 줄 위치
문제 설명
status가 skipped라면 검토할 대상이 없었거나 지원하는 파일이 없었다는 뜻입니다. 종료 코드가 0이어도 warnings에 경고가 남아 있을 수 있습니다. 401이나 403 같은 연결 오류는 코드 결함이 아니라 인증과 접근 권한 문제이므로 ocr config provider부터 다시 봅니다. 일부만 성공했다면 검토된 파일과 검토되지 않은 파일을 나눠 기록합니다.
위임 모드도 기존 AI의 사용량을 씁니다
위임 모드는 Open Code Review가 파일 선정과 규칙만 넘기고, 이미 쓰는 코딩 에이전트가 자기 모델로 검토하는 방식입니다.
일반 모드와 위임 모드
| 항목 | ||
|---|---|---|
| OCR용 API 키 | 제공 | 제공하지 않음 |
| 파일 선정과 규칙 | Open Code Review | Open Code Review |
| 검토하는 모델 | OCR에 설정한 모델 | 코딩 에이전트의 모델 |
| 사용량이 빠지는 곳 | 설정한 제공자 계정 | 에이전트의 구독 한도나 비용 |
ocr delegate preview
ocr delegate rule <파일 경로>위 두 명령은 검토에 필요한 대상 목록과 규칙을 받아 오는 단계입니다. 실제 검토는 이 정보를 코딩 에이전트에 넘겨 맡겨야 끝납니다. 코드가 어디로 전송되는지도 그 에이전트의 모델 연결 조건을 따릅니다. 에이전트가 외부 모델을 쓰면 코드도 그 모델 제공자에게 전송됩니다.
여러 검토 도구를 비교하려면 같은 코드와 같은 요구사항으로 각각 돌립니다. 어떤 지적을 실제로 재현했는지, 무엇을 놓쳤는지, 걸린 시간과 사용량을 함께 적어 두면 공개 순위표와 내 저장소의 결과가 어떻게 다른지 알 수 있습니다.
Sources

제대로 이해했는지 한 문제로 확인해 볼까요?
답을 고르면 바로 풀이가 나와요.
결과의 comments가 빈 배열이면 무엇부터 확인하나요?

새 글과 AI 소식을 메일로 받아 보세요
AI가 바꾸는 일과 도구, 측정 실무 이야기를 매주 한 번 보내 드려요.
이 글이 도움이 되었나요?
메일, 회의록, 리포트처럼 반복되는 일을 AI로 자동화하는 순서와 안전장치를 다룹니다
코스 전체 보기 →