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 리뷰 자동화 시스템 구축

[ Code ]

GitHub PR의 변경 사항을 분석하고, LangChain과 LLM을 활용해 자동으로 코드 리뷰 코멘트를 생성했습니다. 리뷰 언어, 엄격도 등의 설정을 반영해 일관된 피드백을 제공하도록 구성했습니다.

Review

GitHub API 기반 메타데이터 처리

[ Code ]

GitHub API를 통해 PR 번호, 레포지토리 정보, diff 등을 수집하는 로직을 구현했습니다. 리뷰 대상 코드를 효율적으로 추출해 리뷰 엔진에 전달할 수 있도록 했습니다.

로컬 CLI 리뷰 실행 기능

PR 번호와 레포지토리 이름을 입력받아 로컬 환경에서도 리뷰를 실행할 수 있는 CLI 명령어를 구현했습니다. GitHub Actions 없이도 코드 리뷰를 테스트할 수 있도록 했습니다.

GitHub Actions 연동 자동화

[ Code ] [ Marketplace ]

PR 생성 시 자동으로 리뷰가 실행되도록 GitHub Actions 워크플로우를 구성하고, 설정만으로 바로 사용할 수 있도록 GitHub Marketplace에 배포했습니다. 테스트 및 배포와 함께 코드 리뷰까지 자동화하여 개발 효율과 사용자 접근성을 높였습니다.

Using

LLM 선택 실행 지원

[ Code ]

리뷰 엔진 백엔드를 Ollama 또는 OpenAI로 선택할 수 있는 구조를 구현했습니다. 환경 변수 기반 설정으로 유연하게 실행 백엔드를 구성할 수 있도록 했습니다.

Self-hosted 환경 구성 지원

Ollama 서버를 로컬에서 실행할 수 있도록 self-hosted runner 연동 기능을 구현했습니다. 리소스 제약 없이 대규모 코드 리뷰를 처리할 수 있는 환경을 구성했습니다.

회고

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