
내가 직접 소유할 수 있는 AI 코드 리뷰를 원했다. 그래서 Codra를 만들었다.
요약
사용자가 직접 모델과 데이터 경계를 통제할 수 있는 오픈 소스 AI 코드 리뷰 엔진 'Codra'를 소개합니다. 중앙 집중식 서비스의 사용량 제한과 블랙박스 방식에서 벗어나, 셀프 호스팅을 통해 완전한 소유권을 제공합니다.
핵심 포인트
- GitHub PR 이벤트를 감지하여 인라인으로 AI 코드 리뷰 수행
- 사용자가 직접 모델을 선택하고 가져오는 BYOM 방식 지원
- Cloudflare Workers 기반의 셀프 호스팅 엔진
- 사용량, 모델 라우팅, 히스토리를 관리하는 대시보드 제공
나는 내가 실제로 소유할 수 있는 AI 코드 리뷰를 원했다.
구독을 통해 접근하거나 자체적인 제한이 있는 블랙박스 (black-box) 서비스가 아니라, 배포 (deployment), 자격 증명 (credentials), 제공자 (providers), 그리고 사용량이 모두 내 통제 하에 있는 방식을 원했다.
집중해서 개발하는 세션 도중에 주중 사용 한도에 계속 걸리곤 했다. 모델들은 유능했고, 워크플로우 (workflow)도 유용했다. 하지만 접근 권한은 여전히 타인이 정한 주간 허용량에 의존해야 했고, 중앙 집중식 플랫폼들은 그 뒤의 회사가 결정하는 대로 언제든 변할 수 있었다. 가격, 할당량 (quotas), 모델, 플랜의 경계까지 말이다.
이번 달에 적합했던 워크플로우가 다음 달에는 또 다른 구독 서비스 뒤로 숨어버릴 수도 있다. 내가 원하는 소유 모델 (ownership model)을 제공하는 신뢰할 만한 오픈 소스 (open-source) 옵션을 찾을 수 없었다. 그래서 직접 만들었다.
그것이 바로 **Codra**가 되었다: 사용자가 직접 모델을 가져오고 (bring-your-own models), 자신만의 데이터 경계 (data boundary)를 가지며, Codra가 강제하는 사용량 상한선이 없는 셀프 호스팅 (self-hosted) AI 리뷰 엔진이다.
Codra란 무엇인가
**Codra**는 GitHub 풀 리퀘스트 (pull requests)를 위한 오픈 소스 기반의 셀프 호스팅 AI 코드 리뷰 엔진이다.
이 엔진은 풀 리퀘스트 이벤트를 감지하고, 변경된 파일을 리뷰하며, 인라인 (inline)으로 발견 사항을 게시하고, 작업 (jobs), 저장소 (repositories), 모델 라우팅 (model routing), 히스토리 (history), 사용량 (usage), 그리고 실패 (failures)를 확인할 수 있는 대시보드 (dashboard)를 제공한다.
이 엔진은 Cloudflare Workers에서 실행되며 다음을 사용한다:
- 리뷰 작업을 위한 Cloudflare Queues
- 저장을 위한 Hyperdrive를 통한 PostgreSQL
- 세션 및 캐시 (cache)를 위한 KV
- 운영을 위한 React 대시보드
GitHub 앱, 모델 자격 증명, 데이터베이스, 그리고 리뷰 히스토리는 모두 당신의 것이다. 제공자 키 (Provider keys)는 당신의 배포 비밀값 (deployment secret)을 사용하여 AES-GCM으로 암호화된다.
당신의 모델을 가져오세요, 당신의 제한 사항을 가져오세요 (Bring Your Own Model, Bring Your Own Limits)
제공자 (Provider)를 변경하더라도 리뷰 기록, 설정 또는 워크플로 (workflow)를 교체할 필요가 없습니다.
당신은 제공자와 모델을 설정합니다. 지원되는 항목은 다음과 같습니다:
- OpenAI 호환 API (OpenAI-compatible APIs)
- OpenRouter
- Anthropic
- Google / Gemini
- Cloudflare Workers AI
여기서 셀프 호스팅 (Self-Hosted)이 중요한 이유
규모가 큰 프론트엔드 리포지토리 (frontend repo)와 아주 작은 백엔드 리포지토리 (backend repo)가 동일한 리뷰 전략을 사용할 필요는 없습니다.
각 리포지토리는 고유한 리뷰 설정을 가집니다. 당신은 트리거 (triggers)를 조정하고, 생성된 파일을 건너뛰며, 초안 (drafts)을 무시하고, 멘션 트리거 리뷰 (mention-triggered reviews)를 사용하며, 라벨 (labels)을 구성하고, 파일 제한을 설정하며, 사용자 정의 규칙 (custom rules)을 정의할 수 있습니다.
Codra가 실제로 하는 일
**Codra**는 단순히 디프 (diff)를 감싼 프롬프트 (prompt)가 아닙니다.
Codra는 시스템으로서 AI 리뷰를 운영하는 데 필요한 구성 요소들을 포함하고 있습니다:
- 자동 및 멘션 트리거 리뷰 (Automatic and mention-triggered reviews)
- 인라인 코멘트 (Inline comments), 요약 (summaries), 그리고 체크 런 (check runs)
- 리포지토리별 규칙 (Per-repository rules) 및 건너뛴 경로 (skipped paths)
- 제공자 폴백 (Provider fallbacks) 및 크기 기반 모델 라우팅 (size-based model routing)
- 재시도 기능이 포함된 큐 기반의 청크 처리 (Queue-backed, chunked processing with retries)
- 데드 레터 큐 (Dead letter queue) 복구
- 작업 기록 (Job history), 사용량 (usage), 리포지토리 (repository) 및 모델 대시보드 (model dashboards)
지루한 부분들이 바로 핵심입니다.
프로덕션 소프트웨어 (Production software)는 대부분 불만족스러운 경로 (unhappy paths)로 이루어져 있습니다: 제공자 중단 (provider outages), 잘못된 형식의 출력 (malformed output), 거대한 디프 (large diffs), 오래된 작업 (stale jobs), 대체된 리뷰 (superseded reviews), 그리고 실패한 큐 실행 (failed queue runs) 등이 그것입니다.
Codra는 바로 그러한 세부 사항들이 중요하기 때문에 존재합니다.
오픈 소스 (Open Source)는 제품의 일부입니다
Codra가 AGPL 라이선스를 따르는 이유는 "당신의 AI 리뷰 루프를 소유하라"는 말이 시스템을 조사할 수 있을 때에만 의미가 있기 때문입니다.
개발자들은 작업 (jobs), 디프 (diffs), 프롬프트 (prompts), 폴백 (fallbacks), 코멘트 (comments), 실패 (failures) 및 리포지토리 설정이 어떻게 작동하는지 조사할 수 있습니다. AI 코드 리뷰는 아직 초기 단계이며, 그러한 질문들은 공개된 곳에서 답변되는 것이 더 좋습니다:
AI 코드 리뷰는 아직 초기 단계입니다. 도처에 열린 질문들이 있습니다:
- 다양한 종류의 PR (Pull Request)에는 어떤 모델이 가장 잘 작동할까요?
- 자동화된 리뷰는 얼마나 엄격해야 할까요?
- 로컬 모델 (Local models)과 저장소 컨텍스트 (Repository context)는 어떻게 조화를 이루어야 할까요?
- 실제 버그를 놓치지 않으면서 어떻게 노이즈를 줄일 수 있을까요?
그러한 질문들은 공개된 곳에서 답변되는 것이 더 좋습니다.
Codra는 실제 코드베이스와 프롬프트 (Prompts), 제공자 (Providers), 문서 (Docs), 테스트 (Tests), 그리고 기본 설정 (Defaults)에 대한 커뮤니티 기여를 통해 개선되어야 합니다.
다음 단계
아직 베타 단계이지만, 기반은 마련되었습니다. 다음 단계는 세 가지 트랙으로 진행됩니다.
다음 단계는 세 가지 주요 트랙이 있습니다.
배포 대상 (Deployment Targets)
Cloudflare Workers가 주요 대상입니다. 이 경로들은 이미 제어하고 있는 인프라에서 Codra를 실행하고자 하는 팀과 개인을 위한 것입니다.
- Vercel Functions 어댑터 및 기타 서버리스 런타임 (Serverless runtime) 지원
- EC2 또는 모든 VM을 위한 Node.js 및 PM2를 통한 전통적인 서버 배포
- Hetzner, DigitalOcean, Coolify와 같은 플랫폼을 위한 Docker 우선 (Docker-first) 배포 경로
안정성 및 개발자 경험 (Stability and Developer Experience)
리뷰 파이프라인 (Review pipeline)은 작동합니다. 이제 초점은 실제 부하 상황에서도 견딜 수 있게 만들고, 마찰 없이 더 쉽게 실행할 수 있도록 하는 데 있습니다.
- 대규모 PR을 안정적으로 처리하는 더 강력한 파이프라인
- 처음 배포하는 사용자를 위한 더 깔끔한 설치, 설정 및 디버깅 흐름
- 커뮤니티 주도의 기본 설정 및 실제 사례 기반의 리뷰 설정 예시
제공자 및 모델 지원 (Provider and Model Support)
추론 (Inference)이 호스팅된 API에만 종속되어서는 안 됩니다. 로컬 및 자체 호스팅 모델 (Local and self-hosted models)이 기존 제공자 목록과 함께 일급 시민 (First-class option) 옵션이 될 것입니다.
- 기존 제공자들에 대한 지원 개선
- 로컬 및 자체 호스팅 모델, Ollama, LM Studio 및 유사 도구들을 위한 경로
- 파일 유형별로 더 언어 인지적인 (Language-aware) 리뷰 동작
리뷰 루프를 소유하세요
제공업체(Providers), 가격 정책(pricing), 그리고 할당량(quotas)은 계속해서 변할 것입니다. 여러분의 리뷰 엔진이 그에 따라 함께 변할 필요는 없습니다.
Codra는 GitHub에서 오픈 소스로 제공됩니다. 직접 사용해 보고, Star를 누르고, 테스트해 보며, 이슈(issues)를 등록하여 다음 행보를 함께 만들어가 주세요.
문서(Docs): https://codra.run/docs
더 읽어보기
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기


