pr-agent
무엇인가
PR-Agent는 풀 리퀘스트의 diff를 LLM에 넣어 리뷰·설명·개선안을 생성하는 자동화 에이전트다. CI 파이프라인과 코드 호스팅 플랫폼 사이에 끼어드는 코드 리뷰 자동화 계층에 속한다. Qodo가 커뮤니티에 기부한 레거시 오픈소스 프로젝트로, PR-Agent org에서 커뮤니티가 소유하고 유지한다.
어떻게 동작하나
PR에 달린 코멘트로 `/review`, `/describe`, `/improve`, `/ask` 같은 명령을 받으면 해당 도구가 실행된다. 각 도구는 LLM 호출 한 번으로 결과를 만들고, 큰 PR은 PR Compression 전략으로 압축해 처리한다. 프롬프트는 JSON 기반이라 설정 파일에서 리뷰 카테고리와 동작을 바꿀 수 있다. 모델 호출은 LiteLLM을 거쳐 OpenAI GPT, Anthropic Claude, Google Gemini, DeepSeek, Mistral, Azure OpenAI, AWS Bedrock, Vertex AI, Databricks, OpenRouter, Ollama 등으로 라우팅된다. 실행 경로는 CLI, GitHub Actions, Docker, 웹훅, 자체 호스팅이다.
무엇과 다른가
Qodo의 상용 AI 코드 리뷰 제품(Qodo 2.0)과는 별개 저장소다. 상용 제품은 컨텍스트 인지 리뷰와 오픈소스 프로젝트용 무료 버전을 제공하지만, 이 저장소는 그 무료 티어가 아니다. 자체 호스팅으로 돌리면 코드와 프롬프트가 사용자 인프라와 사용자가 지정한 LLM 제공자 사이에서만 오간다.
어떻게 쓰나
GitHub에서는 워크플로 파일을 추가해 Actions로 붙이는 방식이 권장된다. 로컬에서는 CLI로 저장소에 직접 실행한다. GitLab은 웹훅, Bitbucket은 앱 설치, Azure DevOps는 별도 설정을 쓴다. Docker 이미지는 0.34.2부터 `pragent/pr-agent` 네임스페이스로 배포되고, v0.31까지의 릴리스는 `codiumai/pr-agent`에 동결 아카이브로 남아 있다. 업그레이드할 때 `image:`, `docker pull`, `uses: docker://` 참조를 갱신해야 한다.
전제와 한계
`/help_docs`는 v0.36.1부터 자격 증명 노출 문제(#2445)로 비활성화되어 있다. 자체 호스팅에서 OpenAI API 키를 쓰는 경우 데이터 처리는 사용자와 OpenAI 사이의 정책을 따른다. 단위 테스트는 `tests/unittest`에 있고 저장소 루트에서 `PYTHONPATH=. uv run pytest`로 실행된다. `tests/e2e_tests`의 종단 간 테스트는 제공자 자격 증명이 필요해 명시적으로 호출해야 한다.
유사 도구
- ai-reviewPR diff를 LLM에 보내 인라인·요약 리뷰 코멘트를 자동 생성하는 Python CLI다. 6개 VCS와 7개 LLM 제공자를 설정 파일로 교체한다.
- kodus-aiLLM 제공자를 직접 골라 PR 코드 리뷰를 돌리는 TypeScript 모노레포다. GitHub·GitLab·Bitbucket·Azure Repos에 붙고 CLI와 CI/CD에서도 실행된다.
- ai-codereviewerGitHub Actions 워크플로에서 풀 리퀘스트 diff를 OpenAI GPT-4 API로 보내 리뷰 코멘트를 자동 생성하는 TypeScript 액션이다.
- pr-afPR마다 리뷰 차원을 동적 컴파일해 전용 리뷰어 에이전트를 띄우는 Go 기반 코드 리뷰 CLI다. Martian Code-Review-Bench 오픈소스 1위.
- vet코드 변경과 코딩 에이전트 대화를 LLM으로 검증해 이슈 목록을 내는 Python CLI다. 터미널·에이전트 스킬·CI에서 같은 검사를 돌린다.
- SWE-agentGitHub 이슈를 언어 모델이 스스로 도구를 호출해 수정하도록 실행하는 CLI 에이전트다. 동작 전체를 단일 YAML 파일로 정의한다.