TL;DR
PR 리뷰는 코드 품질을 지키는 핵심 절차지만 리뷰어의 일정과 경험에 따라 대기 시간과 판단 품질이 달라지고 반복 검증이 시니어 인력에게 집중됩니다. 이 사례는 kt cloud VM에 상시 실행 환경을 만들고, poller가 GitHub PR을 주기적으로 조회해 diff를 수집한 뒤 Claude Code Agent를 호출하는 PR Review Bot을 구성합니다. Signals는 변경 사실을 모으고 Policy Engine은 architecture-rules.json의 규칙으로 위반을 판정하며 Claude는 그 결과를 자연어 코멘트로 정리해 판단과 설명을 분리합니다. tmux와 로그 관리를 더해 SSH 연결이 끊겨도 프로세스를 유지하고 실행 상태를 추적하며, Bot은 반복 검증을 맡고 사람은 비즈니스 로직과 설계 트레이드오프 같은 맥락 기반 판단에 집중합니다.
섹션별 상세


- PR Review Bot은 kt cloud VM에서 poller가 PR을 주기적으로 감지하고 diff 수집, Claude Code Agent 실행, 결과 기록을 반복하는 방식으로 운영된다. — 5장 전체 구조와 8.1~8.2 운영 구성의 VM 기반 운영 및 poller 구조 설명
- Claude는 PR의 품질을 독자적으로 판정하지 않고 Policy Engine의 규칙 검증 결과를 사람이 읽기 쉬운 리뷰 코멘트로 정리한다. — 6장 PR Review Agent 아키텍처의 Signals, Policy Engine, Claude Code Agent 역할 설명과 FAQ의 Claude Code 역할 문단
- Policy Engine은 claude/architecture/architecture-rules.json에 정의된 규칙으로 아키텍처 위반과 의존성 방향, 네이밍 컨벤션을 검증한다. — 6장 PR Review Agent 아키텍처의 Policy Engine 설명
- 규칙을 코드로 정의하면 PR마다 동일한 기준을 적용하고 리뷰 기준을 팀 자산으로 관리할 수 있다. — 7.2~7.5 규칙을 실행 대상으로 전환하고 일관성, 재현성, 확장성을 확보하는 절
- tmux와 로그 관리를 사용해 SSH 세션 종료 이후에도 poller를 유지하고 실행 상태를 추적한다. — 8.3 tmux 장기 실행 구성과 8.4 로그 관리의 명령 예시 tmux attach -t poller 및 tail -f ~/logs/pr-review.log
tmux new -s poller bash ~/projects/ai-team/scripts/schedules/pr_review/poller.shtmux 세션에서 PR 감지용 poller.sh를 실행합니다.
# 세션 생성
tmux new -s poller
# 세션 분리 Ctrl + B, D
# 세션 재접속
tmux attach -t pollerpoller를 장기 실행하고 세션을 분리하거나 다시 접속하는 명령입니다.
tail -f ~/logs/pr-review.logPR Review Bot의 실행 로그를 실시간으로 확인합니다.
용어 해설
- Polling
- — 외부 이벤트를 기다리지 않고 일정한 주기로 상태를 조회해 새로운 작업을 감지하는 방식입니다. 이 글에서는 poller.sh가 GitHub PR 목록을 반복 조회하고 신규 또는 변경된 PR의 diff를 가져옵니다. Webhook 서버를 별도로 구성하지 않아 구조가 단순하지만, 조회 주기만큼 감지 지연이 발생합니다.
- Policy Engine
- — 사전에 정의한 규칙을 입력 데이터에 적용해 위반 여부를 판정하는 실행 계층입니다. 이 글의 Policy Engine은 architecture-rules.json을 읽고 레이어 의존성, 네이밍 컨벤션, 설정 변경 영향도를 검사합니다. 판단 기준을 코드로 관리해 PR마다 동일한 검증 결과를 얻도록 만드는 핵심 구성 요소입니다.
- tmux
- — 터미널 세션과 프로세스를 분리해 SSH 연결이 끊겨도 장기 실행 작업을 유지하는 도구입니다. 글에서는 poller를 tmux 세션 안에서 실행하고 세션을 분리한 뒤 필요할 때 다시 접속합니다. VM 재시작이나 세션 단절 상황을 제외하면 사람이 계속 접속해 있지 않아도 Bot을 실행할 수 있게 합니다.
- GitHub CLI
- — 터미널에서 GitHub 저장소와 Pull Request를 조회하고 조작하는 명령줄 도구입니다. 이 구조에서는 poller가 GitHub CLI로 PR 목록을 가져오고 신규 또는 변경된 PR을 감지한 뒤 diff를 수집합니다. Webhook 없이 반복 조회 방식으로 자동화 흐름을 구성하는 입력 접점 역할을 합니다.
- AI 환각(Hallucination)
- — 모델이 근거에 없는 내용을 사실처럼 생성하는 현상입니다. 글에서는 Claude가 코드의 좋고 나쁨을 독자적으로 판정하지 않고 Policy Engine이 산출한 규칙 검증 결과를 자연어 리뷰로 정리하도록 역할을 제한합니다. 판단 기준을 사람과 규칙 파일에 두어 임의 판단의 범위를 줄이는 접근입니다.
기술
- Claude
- Claude Code
- kt cloud VM
- GitHub
- GitHub CLI
- Script
- poller.sh
- architecture-rules.json
- tmux
- FSD
활용 사례
- 팀 단위 Pull Request 1차 검증
- 아키텍처 레이어와 의존성 방향 검사
- 네이밍 컨벤션 및 코드 스타일 점검
- 설정 파일과 공통 모듈 변경 영향도 감지
- AI 기반 PR 리뷰 자동화의 지속 운영
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.