원문 캡처 · github.com
원문 캡처 · github.com

prbot은 풀 리퀘스트(PR)에서 보안·성능 문제를 찾아 패치를 만들고, 네트워크를 차단한 Docker 컨테이너에서 테스트한 뒤 검증된 수정안을 보고하는 오픈소스 에이전트다. GitHub Action으로 PR 검토에 쓰거나, 로컬에서 실제 저장소를 대상으로 실행할 수 있다. 저장소와 설정 안내

검토기는 먼저 수정 전 PR의 테스트를 실행한다. 이 단계에서 테스트가 실패하면 기준 브랜치도 확인한 뒤 검토를 중단한다. 테스트가 통과하면 에이전트가 발견 사항을 검토하고 패치를 작성하며, 테스터가 패치를 적용해 테스트한다. 실패한 패치와 로그는 수정 에이전트에 전달되며, 반복 횟수는 기본 3회로 제한된다. 기본 설정에서는 심각도가 medium 미만인 발견 사항은 보고만 하고 패치하지 않는다.

GitHub Action으로 사용하려면 저장소에 OPENAI_API_KEY 시크릿을 등록하고, 저장소의 examples/prbot-review.yml을 .github/workflows/에 복사한다. 기본 동작은 인라인 검토 의견과 검증된 fix.patch 파일, 작업 요약 보고서를 남기는 것이다. open-fix-pr: "true"와 contents: write 권한을 설정하면 검증된 수정안으로 후속 PR을 열 수 있다. 공개 저장소에서는 포크에서 시작된 워크플로에 시크릿이 제공되지 않으므로, 저장소 내부 브랜치의 PR을 대상으로 검토한다.

프로젝트가 공개한 측정값으로는 gpt-4.1-mini를 사용한 복구 사례에서 버그 3개를 발견했고, 첫 패치의 테스트 실패 후 두 번째 시도에서 통과했다. P90 실행 시간은 Docker 실행 2회 기준 10.03초라고 제시한다. 이는 프로젝트의 자체 측정이며, 저장소는 네트워크 송신 차단을 --network none 설정과 CI의 격리 테스트로 확인한다고 설명한다. 실제 PR에서 쓰기 작업을 하려면 --post-review 또는 --open-fix-pr를 명시해야 하며, --dry-run에서는 GitHub에 내용을 쓸 수 없다.

API 키나 GitHub 토큰 없이 체험하려면 공개 데모 PR을 대상으로 오프라인 모드를 실행할 수 있다. 이 모드는 실제 언어 모델 대신 휴리스틱 검토기와 스크립트 모델을 사용하며, --dry-run으로 GitHub 쓰기를 막는다. Docker를 설치하면 테스트를 격리된 컨테이너에서 실행할 수 있다.