pr-agent

AI Coding ToolsCLIPython

★ 12,958주당 +103조회 4

무엇인가

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`의 종단 간 테스트는 제공자 자격 증명이 필요해 명시적으로 호출해야 한다.

유사 도구