PRMate
2025.07 - present | GitHub

개요
개인 개발자와 소규모 팀은 코드 리뷰 과정에서 반복적인 작업과 시간 소모가 많아 효율적인 자동화 도구가 필요합니다. 본 프로젝트는 GitHub Pull Request의 변경 사항을 AI가 자동으로 분석하고 빠르고 일관된 피드백을 제공하는 코드 리뷰 자동화 시스템을 구축하는 것을 목표로 합니다.
역할
- V1 - LangChain과 LLM 기반 코드 리뷰 프롬프트 설계 및 구축
- V2 - GitHub API 연동 및 변경사항 추출 처리 로직 개발
- V4 - 로컬 CLI 실행 기능 및 Self-hosted Runner 환경 지원 개발
- V3 - GitHub Actions 워크플로우 구성 및 CI/CD 자동화 구현
기술 스택
- Python, LangChain, OpenAI API, Ollama
- GitHub Actions, GitHub REST API
Pull Request 리뷰 자동화 시스템 구축
GitHub PR의 변경 사항을 분석하고, LangChain과 LLM을 활용해 자동으로 코드 리뷰 코멘트를 생성했습니다. 리뷰 언어, 엄격도 등의 설정을 반영해 일관된 피드백을 제공하도록 구성했습니다.

Review
GitHub API 기반 메타데이터 처리
GitHub API를 통해 PR 번호, 레포지토리 정보, diff 등을 수집하는 로직을 구현했습니다. 리뷰 대상 코드를 효율적으로 추출해 리뷰 엔진에 전달할 수 있도록 했습니다.
로컬 CLI 리뷰 실행 기능
PR 번호와 레포지토리 이름을 입력받아 로컬 환경에서도 리뷰를 실행할 수 있는 CLI 명령어를 구현했습니다. GitHub Actions 없이도 코드 리뷰를 테스트할 수 있도록 했습니다.
GitHub Actions 연동 자동화
PR 생성 시 자동으로 리뷰가 실행되도록 GitHub Actions 워크플로우를 구성하고, 설정만으로 바로 사용할 수 있도록 GitHub Marketplace에 배포했습니다. 테스트 및 배포와 함께 코드 리뷰까지 자동화하여 개발 효율과 사용자 접근성을 높였습니다.

Using
LLM 선택 실행 지원
리뷰 엔진 백엔드를 Ollama 또는 OpenAI로 선택할 수 있는 구조를 구현했습니다. 환경 변수 기반 설정으로 유연하게 실행 백엔드를 구성할 수 있도록 했습니다.
Self-hosted 환경 구성 지원
Ollama 서버를 로컬에서 실행할 수 있도록 self-hosted runner 연동 기능을 구현했습니다. 리소스 제약 없이 대규모 코드 리뷰를 처리할 수 있는 환경을 구성했습니다.
회고
자동화된 코드 리뷰 시스템 구축을 통해 수동 리뷰에 비해 개발자들의 부담을 크게 줄이고, 리뷰 품질의 일관성을 확보할 수 있었습니다. 다양한 LLM 백엔드를 유연하게 지원하면서도 로컬 환경과 CI 환경 모두에서 원활히 작동하도록 설계한 점이 큰 성과였습니다. 또한, GitHub Marketplace 배포를 통해 사용자 접근성을 높였으며, 앞으로는 다국어 지원 확대와 코드 스타일 체크, 보안 취약점 탐지 등 기능 확장을 통해 더욱 실용적인 개발 도구로 발전시키고자 합니다.