0. 목적
- 사이드 프로젝트 프론트엔드가 저 혼자지만 코드리뷰가 하고싶었어요..
- 우리는 AI가 있기때문에 혼자서 북치고 장구치고 다 할수 있습니다.
- 그렇게 찾아냈습니다! PR 생성을 도와주고 코드리뷰도 해주는 PR-Agent 오픈소스!

https://github.com/qodo-ai/pr-agent
GitHub - qodo-ai/pr-agent: 🚀 PR-Agent (Qodo Merge open-source): An AI-Powered 🤖 Tool for Automated Pull Request Analysis,
🚀 PR-Agent (Qodo Merge open-source): An AI-Powered 🤖 Tool for Automated Pull Request Analysis, Feedback, Suggestions and More! 💻🔍 - qodo-ai/pr-agent
github.com
1. PR-Agent 란?
- 자동으로 PR도 만들어주고 코드도 리뷰해주는 LLM 친구
기능은 다음과 같습니다 ( 💎는 유료 기능인 것 같습니다.)
Auto Description (/describe)
: 자동으로 PR 설명을 생성해줍니다. - 제목, 타입, 요약, 코드 동작 설명 및 라벨까지 자동 작성됩니다.
Auto Review (/review)
: PR에 적용 가능한 피드백을 해줍니다, 잠재적인 문제, 보안 이슈, 리뷰 난이도 등을 분석합니다.
Code Suggestions (/improve)
: PR을 발전시키기 위한 코드를 제안합니다.
Question Answering (/ask ...)
: PR에 대해 자유 형식 텍스트로 질문을 하면 답변해줍니다.
Update Changelog (/update_changelog)
: 자동으로 PR이 변경되면 ChangeLog.md를 자동으로 업데이트 합니다.
Help Docs (help_docs)
: 문서를 활용해 레포지토리에 관한 질문에 답변합니다.
Add Documentation 💎
: 문서를 생성합니다. 메소드, 함수, 클래스 등 PR되는 것들에 대해.
Generate Custom Labels 💎
: 유저가 정의한 가이드라인을 기반으로 커스텀 라벨을 생성합니다.
Analyze 💎
: PR에서 변경된 코드 컴포넌트를 규정합니다. 그리고 상호작용하며 각 컴포넌트마다 테스트하고 문서를 만들고 코드를 제안합니
다.
Test 💎
: PR 코드에서 변경된 선택된 컴포넌트에 대해 테스트를 생성합니다.
Custom Prompt 💎
: PR 코드를 개선하기 위한 커스텀 제안을 자동적으로 생성합니다. 유저의 가이드라인을 받습니다.
Generate Tests 💎
: 선택된 컴포넌트에 대해 유닛 테스트를 실행합니다.
CI Feedback 💎
: CI 업무에 대해 자동적으로 피드백을 생성합니다.
Similar Code 💎
: 조직의 코드베이스 내부 또는 오픈 소스 코드에서 가장 유사한 코드 구성 요소를 검색합니다.
Implement 💎
: 리뷰들의 제안에서 구현 코드를 생성합니다.
PR Description
- pr을 생성하고 요약해줍니다.

PR review
- 코드리뷰 해줍니다

PR suggestion
- 코드를 어떻게 바꾸면 좋을지 제안해줍니다.

2. 설정하기 (with. gitHub Action)
gitHubApp으로 추가하면 작동하지만 저는 몇몇 커스텀을 파일로 사용하고 싶어서 gitHub Action을 이용하기로 했습니다.
1. 레포지토리 루트 다음경로에 아래와 같은 파일 생성 .github/workflows/pr_agent.yml:
on:
pull_request:
types: [opened, reopened, ready_for_review]
issue_comment:
jobs:
pr_agent_job:
if: ${{ github.event.sender.type != 'Bot' }}
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
contents: write
name: Run pr agent on every pull request, respond to user comments
steps:
- name: PR Agent action step
id: pragent
uses: qodo-ai/pr-agent@main
env:
OPENAI_KEY: ${{ secrets.OPENAI_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2. LLM key값 설정해주기
LLM 모델을 로컬로 돌릴 수 있으면 연동할 수 있다고 하는데(LLAMA), 저희집 컴퓨터로는 무리일 것 같아 쿨하게 OPENAI 결제했습니다. (코드리뷰 돈받고 받다...) 클로드나 gemini도 쓸 수 있으니 지원하는 모델을 찾아보고 선택하시면 될 것 같습니다
https://qodo-merge-docs.qodo.ai/usage-guide/changing_a_model/?h=model#google-ai-studio
Changing a Model - Qodo Merge (and open-source PR-Agent)
None
qodo-merge-docs.qodo.ai
깃허브 레포 ⇒ settings⇒ security탭의 secrets and variables
GITHUB_TOKEN은 깃허브에서 자동으로 생성해주는 시크릿키이니 굳이 생성하지 않으셔도 됩니다.

3. 메인 브랜치에 설정파일을 metge 하면, 다음 PR부터 자동으로 PR이 생성되고 /review 와 같은 명령어를 사용할 수 있습니다.
4. 추가적인 설정파라미터를 환경변수로 추가할 수 있습니다.
저는 루트폴더의 .pr_agent.toml 파일을 만들었습니다.
3. 옵션 설정 (.pr_agent.toml)
1. 언어설정
전 한국어 동료가 필요하기 때문에 언어설정을 KOREAN으로 했습니다.
[config]
response_language = "ko-KR"
2. 프롬프트 설정하기
제 동료의 성격과, 동료의 입장에서 코드를 이해하기 좋은지, 제 요구사항을 적어서 지시합니다.
[pr_reviewer]
extra_instructions = """\
1. 반말을 사용하세요
2.코드리뷰, suggestion, pr생성 모두 한글로 대답하세요
3.코드 변경 전후의 문맥을 이해하는 데 주변 줄을 참고하되, 실제 변경된 부분에 초점을 맞춰 설명과 제안을 생성해 주세요.
4.너는 이모지를 많이 사용하고 cheer up한 성격의 내 동료 프론트엔드 개발자입니다. 이모지를 많이쓰며 주접떨면서 코드리뷰를 해주세요
5.먼저 칭찬을 하고 이후에 아쉬운 점을 제안해주세요
6.동료의 입장에서 이해하기 좋은지, 어떻게 수정하면 좋을지 피드백해 주세요.
"""
제 동료는 이모지를 많이 쓰고 cheer up 한 성격입니다. 😝 << 이런느낌으로 설정했어요
4. issue : ko-KR설정했는데도 한글이 안나와요
- 모델바꿔주기
- 기본적으로 전 openAI를 사용했는데 자꾸 영어로 나와서 왜 이러나 찾아봤습니다.
- 보니까 한글을 지원하지 않는 모델이 있나보더라구요. 여러 issue탭을 뒤지며 모델을 찾아냈습니다.
- 제가 발견한 지원되는 모델은 아래와 같습니다. (더 있을 것 같은데 테스트하기엔 토큰이 아까워서 ... 추후 발견하면 추가하겠습니다.)
model = "gpt-4-turbo-2024-04-09"
위와 같이 한글로 바꿔주시면 모델이 지원 될거에요!
그런데 이렇게 해도 description 일부분은 한글이 안나오긴 하더라구요, (description도 한글로 하는법 아시는 분 제보 부탁드려요!)
완성된 설정 파일
[config]
response_language = "ko-KR"
model = "gpt-4-turbo-2024-04-09"
use_repo_settings_file = true
patch_extension_skip_types = [".md", ".txt"]
ignore_pr_title = ["^\\[Auto\\]", "^Auto", "^\\[Skip\\]", "^Skip"]
[pr_reviewer]
extra_instructions = """\
1. 반말을 사용하세요
2.코드리뷰, suggestion, pr생성 모두 한글로 대답하세요
3.코드 변경 전후의 문맥을 이해하는 데 주변 줄을 참고하되, 실제 변경된 부분에 초점을 맞춰 설명과 제안을 생성해 주세요.
4.너는 이모지를 많이 사용하고 cheer up한 성격의 내 동료 프론트엔드 개발자입니다. 이모지를 많이쓰며 주접떨면서 코드리뷰를 해주세요
5.먼저 칭찬을 하고 이후에 아쉬운 점을 제안해주세요
6.동료의 입장에서 이해하기 좋은지, 어떻게 수정하면 좋을지 피드백해 주세요.
"""
[pr_code_suggestions]
extra_instructions = """\
1. 반말을 사용하세요
2.코드리뷰, suggestion, pr생성 모두 한글로 대답하세요
3.코드 변경 전후의 문맥을 이해하는 데 주변 줄을 참고하되, 실제 변경된 부분에 초점을 맞춰 설명과 제안을 생성해 주세요.
4.너는 이모지를 많이 사용하고 cheer up한 성격의 내 동료 프론트엔드 개발자입니다. 이모지를 많이쓰며 주접떨면서 코드리뷰를 해주세요
5.먼저 칭찬을 하고 이후에 아쉬운 점을 제안해주세요
6.동료의 입장에서 이해하기 좋은지, 어떻게 수정하면 좋을지 피드백해 주세요.
"""
[pr_description]
extra_instructions = """\
1. 반말을 사용하세요
2.코드리뷰, suggestion, pr생성 모두 한글로 대답하세요
3.코드 변경 전후의 문맥을 이해하는 데 주변 줄을 참고하되, 실제 변경된 부분에 초점을 맞춰 설명과 제안을 생성해 주세요.
4.너는 이모지를 많이 사용하고 cheer up한 성격의 내 동료 프론트엔드 개발자입니다. 이모지를 많이쓰며 주접떨면서 코드리뷰를 해주세요
5.먼저 칭찬을 하고 이후에 아쉬운 점을 제안해주세요
6.동료의 입장에서 이해하기 좋은지, 어떻게 수정하면 좋을지 피드백해 주세요.
"""
도움이 되시길 바라며 제 설정파일을 올립니다. 프롬프트 부분만 원하시는대로 바꾸면 될 거에요
더 많은 옵션은 이 파일을 참고하세용
https://github.com/qodo-ai/pr-agent/blob/main/pr_agent/settings/configuration.toml
pr-agent/pr_agent/settings/configuration.toml at main · qodo-ai/pr-agent
🚀 PR-Agent (Qodo Merge open-source): An AI-Powered 🤖 Tool for Automated Pull Request Analysis, Feedback, Suggestions and More! 💻🔍 - qodo-ai/pr-agent
github.com
5. 결과화면

cheer up 한 친구 고용했습니다. 코딩할 맛 나네요! 나도 동료 있다!
+ 오픈소스 컨트리뷰션

공식 문서에서 오타 발견해서 후다닥 PR올렸습니다
https://github.com/qodo-ai/pr-agent/pull/1721
Docs: fix typo in response_language setting inside .pr-agent.toml configuration guide by bananana0118 · Pull Request #1721 · q
User description This PR fixes a typo in the documentation example regarding the response_language field inside .pr-agent.toml. The original example incorrectly used : instead of = for the value as...
github.com

이틀 후 머지 됐다는 이메일과 함께 오픈소스에 기여했습니다!
첫 오픈소스 컨트리뷰션 성공!
6. 마치며
요금이 궁금하실텐데 1completion당 저렇게 프롬프트를 작성하면 기본 (약 4000토큰) 정도 합니다. 금액으로 환산하면 약 60원입니다.
유료여서 조금 부담되시겠지만 취준생이 코드리뷰를 경험할 수 있는 방법이라고 생각합니다.
gpt한테 일일이 복붙하는 것보다 생산성도 올라가는것 같구요.
전 테스트하느라 약 1000원정도 쓴 것 같아요. 코드가 길어지면 토큰은 더 증가하니까 꼭 필요한 프롬프트만 넣을 수 있도록 하는게 좋을거에요!
저는 gpt 다 쓰면 claude나 gemini로 사용해보고 비교해보는 글도 써보겠습니다.
저처럼 코드리뷰 경험해보시고 싶다거나 PR 작성하기 귀찮다! 하시는 분들은 pr-agent 를 도입해봐도 좋을 것 같아요! 그럼 이만!
+ 레퍼런스 :
https://qodo-merge-docs.qodo.ai/installation/github/
Github - Qodo Merge (and open-source PR-Agent)
None
qodo-merge-docs.qodo.ai
Qodo
Qodo has 4 repositories available. Follow their code on GitHub.
github.com
'Develog > Study' 카테고리의 다른 글
| Babel과 Webpack 그리고 Vite +a (3) | 2025.07.10 |
|---|---|
| 서버컴포넌트와 클라이언트 컴포넌트 분리를 통해 성능 최적화 (with.Next.js) (0) | 2025.04.26 |
| 서버컴포넌트와 클라이언트 컴포넌트 잘 사용하기 (with Next.js) (0) | 2025.04.24 |
| Node.js 패키지 매니저 선택(npm& yarn & pnpm 비교) (0) | 2025.04.20 |
| React의 state는 동기인가 비동기인가. with 이벤트 루프 (0) | 2025.04.17 |