open-code-review

AI Coding ToolsCLIGo

★ 29,776주당 +6,954조회 12

무엇인가

Open Code Review는 코드 리뷰 자동화 계층에 속하는 CLI 도구다. 규칙 기반 린터가 잡지 못하는 의미적 결함을 사람 리뷰어 대신 지적하는 자리를 차지한다. Go로 작성됐고, 알리바바 그룹 내부의 AI 코드 리뷰 어시스턴트로 출발해 2년간 사내 수만 명의 개발자에게 쓰인 뒤 오픈소스로 공개됐다.

어떻게 동작하나

처리 흐름은 결정적 파이프라인과 에이전트로 나뉜다. 파이프라인이 Git diff에서 리뷰 대상 파일을 선별하고, 관련 파일을 하나의 리뷰 단위로 묶는다. 예를 들어 message_en.properties와 message_zh.properties는 같은 번들로 처리된다. 각 번들은 격리된 컨텍스트를 가진 서브에이전트로 실행되며 동시 리뷰가 가능하다. 파일 특성에 맞는 규칙을 템플릿 엔진으로 매칭한 뒤, 에이전트가 전체 파일 내용과 코드베이스 검색 결과, 다른 변경 파일을 참조해 리뷰한다. 별도의 위치 모듈과 반영(reflection) 모듈이 코멘트의 줄 위치와 내용을 다시 검증한다. `ocr scan`은 diff가 없는 파일이나 디렉터리 전체를 같은 방식으로 훑는다.

무엇과 다른가

비교 대상은 Skills를 붙인 Claude Code 같은 범용 에이전트다. 범용 에이전트는 리뷰 절차를 자연어 프롬프트로만 규정하므로 큰 변경셋에서 파일을 골라 건너뛰고, 지적 위치가 실제 코드와 어긋나며, 프롬프트가 조금만 바뀌어도 품질이 흔들린다. Open Code Review는 파일 선택, 파일 번들링, 규칙 매칭을 언어 모델이 아닌 엔지니어링 로직이 담당하게 해 이 지점을 고정한다. AACR-Bench(공개 저장소 50개, 실제 PR 200건, 10개 언어, 1,505개 정답 이슈)에서 같은 모델로 정밀도와 F1이 더 높고 토큰은 약 1/9만 쓰는 대신 재현율은 낮다. 재현율 손실은 노이즈를 줄이기 위한 의도된 트레이드오프다.

어떻게 쓰나

설치하면 `ocr` 명령이 전역으로 잡힌다. 리뷰 전에 LLM을 설정해야 하며, 대화형 UI가 제공자 선택, API 키 입력, 모델 지정, 연결 테스트를 순서대로 안내한다. 환경 변수와 커스텀 제공자 설정도 CLI에서 할 수 있다. 엔드포인트는 OpenAI와 Anthropic 호환이면 된다. MCP 서버로 리뷰 에이전트에 외부 도구를 붙일 수 있고, Claude Code, Codex, Cursor, Kimi Code, OpenCode에는 리뷰 슬래시 커맨드나 스킬을 담은 플러그인을 설치해 연동한다.

전제와 한계

Git 2.41 이상이 필요하다. diff 생성, 코드 검색, 저장소 조작을 Git에 의존하기 때문이다. LLM 엔드포인트 설정은 필수이며 Delegation Mode를 쓸 때만 예외다. 내장 규칙셋은 NPE, 스레드 안전성, XSS, SQL 인젝션 같은 결함 유형을 다국어로 다룬다. 전체 문서는 open-codereview.ai/docs에 있다.

유사 도구