알리바바가 2년간 수만 명의 개발자에게 검증한 AI 코드 리뷰 도구 OCR을 오픈소스로 공개했습니다. 기존 범용 LLM 에이전트들이 겪던 고질적인 문제를 해결하도록 설계했습니다. 특히 대형 PR에서 일부 파일을 건너뛰거나 코드 변경 diff에서 줄 번호를 잘못 지적하는 오류가 빈번했습니다.

LLM 에이전트의 일반적인 한계

기존 Claude Code나 Codex 같은 범용 AI 에이전트는 코드 리뷰에서 몇 가지 한계를 보였습니다. 대형 변경사항인 PR을 다룰 때 특정 파일을 스스로 건너뛰어 커버리지 누락이 발생하곤 했습니다. AI가 코드 변경 diff를 해석하면서 줄 번호 계산을 틀려 엉뚱한 위치를 지적하는 위치 표류 현상도 잦았습니다. 프롬프트나 자연어 지침의 미세한 변화에도 결과 편차가 심해 품질이 불안정해지는 문제도 있었습니다. 개발팀은 OCR로 이런 한계를 극복하고자 했습니다.

역할 분리로 LLM의 약점 보완

OCR의 핵심 설계 철학은 역할 분리 입니다. 순수 LLM에만 의존하지 않고 틀리면 안 되는 구조적 작업과 판단이 필요한 영역을 명확히 나눕니다. 정확성을 요구하는 부분은 코드가 직접 처리하고 판단이 필요한 곳에만 AI를 활용하는 방식입니다. 이 구분이 핵심 설계입니다.

결정론적 엔지니어링 영역은 코드 로직을 담당합니다. 리뷰할 파일을 코드가 직접 필터링하여 누락을 원천 차단합니다. 관련 있는 파일들은 스마트 번들링 기법으로 하나의 단위로 묶어 독립된 컨텍스트에서 병렬 처리합니다. 서브 에이전트 개념과 유사합니다. 파일 특성에 맞는 규칙은 템플릿 기반으로 매칭하고 AI가 지적한 줄 번호와 품질은 별도의 모듈이 검증하고 보정합니다. 오탐을 줄이는 안전장치입니다.

AI 에이전트는 LLM 영역을 담당합니다. 코드 리뷰 시나리오에 특화되어 정제된 도구 세트와 최적화된 프롬프트 템플릿을 활용해 문맥을 이해하고 동적인 판단을 내립니다. LLM의 강점은 살리되 심각한 오류를 낼 수 있는 부분은 시스템적으로 막아둔 설계가 돋보입니다.

실용적인 통합과 남은 숙제

OCR에는 다양한 실용적인 기능이 있습니다. 규칙 시스템은 CLI 플래그, 프로젝트 설정 파일(.opencodereview/rule.json), 전역 설정 등 4단계 우선순위 체인으로 팀의 코딩 표준이나 보안 정책을 AI에게 강제합니다. NPM으로 간편하게 설치하며 Anthropic Claude 환경 변수와도 호환됩니다. CLI 단독 사용은 물론 CI/CD 파이프라인(GitHub Actions, GitLab CI), Claude Code 플러그인 형태로 기존 워크플로우에 통합합니다.

한계도 있습니다. 실제 벤치마크 테스트 결과 결함을 찾아내는 재현율(Recall)은 약 74%로 우수했지만 지적한 부분 중 실제 문제인 비율을 뜻하는 정밀도(Precision)는 약 12%에 그쳤습니다. 오탐이 많다는 초기 평가를 받았습니다. 현재 기본 내장 규칙이 중국어로 작성되어 커뮤니티의 영어 번역 저장소를 활용해야 하는 번거로움도 있습니다. 이는 해결해야 할 과제입니다.

LLM 기반 시스템의 신뢰도를 높이려면 모델이 실수하지 않는 구간 을 얼마나 넓혀놓았느냐가 중요합니다. OCR 사례가 이를 잘 보여줍니다. 아키텍처를 정교하게 설계하더라도 LLM 자체의 한계로 인한 오탐을 줄이는 작업이 향후 실무 도입의 핵심 과제입니다.

요약

  • LLM 기반 시스템의 신뢰도는 ‘모델이 실수할 수 없는 구간’을 얼마나 넓혀놓느냐에 달렸습니다.
  • 아키텍처가 뛰어나도 LLM 자체의 오탐 문제는 여전히 해결해야 할 실용적인 숙제입니다.
  • 결정론적 로직과 AI 에이전트의 역할 분리가 대규모 엔지니어링 도구의 핵심입니다.