필요한 정보 모아보기
테크

GitHub Copilot 코드 리뷰, 해결 이력 추적·커밋 메시지 자동 생성 — 자동 리뷰 설정과 비용

#GitHub Copilot#코드리뷰#AI 코딩

GitHub Copilot 코드 리뷰는 PR에 Copilot이 리뷰어로 붙어 문제를 찾아 댓글로 남기는 기능이다. 9월 18일 업데이트로 리뷰를 여러 번 돌려도 무엇이 해결됐고 무엇이 남았는지 추적하는 개요 댓글이 생겼고, 제안을 묶어 커밋할 때 커밋 메시지도 자동으로 써 준다. 이번 개선은 정식 출시(GA) 상태로 나왔다.

규모부터 보자. GitHub은 3월 블로그에서 Copilot 코드 리뷰가 누적 6천만 건을 넘었고, GitHub에서 이뤄지는 코드 리뷰의 5분의 1 이상을 차지한다고 밝혔다. 리뷰가 이만큼 쌓이면 "지난번에 지적한 게 고쳐졌나"를 사람이 일일이 따라가기 어렵다. 이번 업데이트가 겨냥한 지점이다.

개요 댓글이 '리뷰 기록'이 됐다

공지 원문은 이렇게 설명한다. "The refreshed overview comment shows Copilot's current assessment of your pull request, the review effort level it used, and lists a summary of the findings it identified in its review."(새 개요 댓글은 PR에 대한 Copilot의 현재 평가, 이번에 쓴 리뷰 강도, 발견 사항 요약을 보여 준다.)

여기서 '리뷰 강도(review effort level)'는 얼마나 깊게 볼지 정하는 설정이다. 기본은 빠른 Lite, 더 강한 추론 모델로 복잡한 로직·보안 민감 코드를 깊게 보는 Balanced가 있다. 개요에 이 값이 찍히니, 같은 PR에 두 번 리뷰를 돌렸을 때 어떤 강도로 본 결과인지 헷갈릴 일이 없다.

발견 사항은 세 갈래로 나뉜다.

분류의미
Open아직 처리되지 않은 문제. 새 커밋으로 생긴 건 new 라벨이 붙을 수 있다
Resolved since last review지난 리뷰 이후 수정이 확인된 문제
Previously missed새 커밋과 무관하게, 기존 코드에서 후속 리뷰 때 새로 찾은 문제

세 번째 분류가 흥미롭다. AI 리뷰는 같은 코드를 다시 봐도 결과가 조금씩 다르다. "처음엔 못 봤다"를 숨기지 않고 따로 표시한 셈이다. 이 항목은 PR 다른 곳에 인라인 댓글로 달리지 않아서, 세부 내용이 개요 안에 그대로 들어간다. 나머지 항목에는 심각도와 해당 인라인 댓글로 가는 링크가 붙는다. 커밋을 더 올리고 리뷰를 다시 요청해도 이 기록은 이어진다.

답글이 곧 처리 상태가 된다

인라인 댓글마다 발견 사항을 요약한 제목이 붙었다. 개요 목록과 댓글을 짝지어 보기 쉬워졌다.

자동 해결도 달라졌다. 원문은 "When a Copilot code review comment gets a reply to leave the issue open, it honors that reply."(댓글에 문제를 열어 두겠다는 답글이 달리면 그 답글을 존중한다)라고 적었다. 반대로 후속 커밋으로 상황이 정리되면 "Won't Fix"나 "Incorrect" 같은 해결 사유를 Copilot이 스스로 남긴다. 사람이 이 사유를 직접 고르는 기능은 8월 27일에 먼저 들어왔고, 이번엔 그걸 자동으로 채우는 쪽이다.

커밋 메시지 자동 생성은 GitHub의 기존 '제안 일괄 반영' 기능 위에 얹혔다. 리뷰 댓글의 제안마다 Add suggestion to batch를 누르고 Commit suggestions로 한 번에 커밋하는 흐름은 그대로다. 달라진 건 마지막 단계다. "Copilot now generates a relevant commit title and an optional description based on the selected changes."(선택한 변경을 바탕으로 커밋 제목과 선택적 설명을 만들어 준다.) 묶음에 다른 사람이 남긴 제안이 섞여 있어도 된다. 다만 공지는 조건을 "eligible, complete batch"라고만 적었고, 어떤 묶음이 대상인지는 따로 정의하지 않았다.

자동 리뷰를 켜고, 기준을 팀에 맞추려면

코드 리뷰는 Pro, Pro+, Max, Business, Enterprise(학생 플랜 포함) 플랜에 들어 있다. 무료 플랜은 VS Code의 선택 영역 리뷰만 된다. 6월 1일부터는 과금 방식도 바뀌었다. 리뷰 한 번에 AI 크레딧이 쓰이고, 비공개 저장소라면 GitHub Actions 사용 시간도 함께 차감된다. GitHub 문서가 제시하는 대략의 범위는 Lite가 약 0.05~1달러, Balanced가 약 0.25~5달러어치 크레딧이다.

PR마다 자동으로 리뷰를 받으려면 저장소 규칙을 쓴다.

  1. Settings → Rules → Rulesets → New branch ruleset
  2. Automatically request Copilot code review 체크
  3. 필요하면 "Review new pushes"(푸시마다 재리뷰), "Review draft pull requests"(초안 PR도 리뷰)를 함께 켠다

실제로 어떻게 걸려 있는지 GitHub 문서 저장소(github/docs)의 규칙을 API로 열어 봤다(9월 30일, gh api repos/github/docs/rulesets/<id>). 규칙 이름은 "Automatic Copilot code reviews", 대상은 모든 브랜치였다. 규칙 본문은 이랬다.

{"type":"copilot_code_review","parameters":{"review_draft_pull_requests":false,"review_on_push":false}}

두 옵션을 모두 끈 설정이다. 이러면 새 커밋을 푸시해도 자동으로 다시 리뷰하지는 않는다. 다시 받고 싶으면 리뷰를 수동으로 요청하면 된다. 푸시마다 다시 리뷰받고 싶다면 review_on_push를 켜야 하는데, 그만큼 크레딧도 나간다.

리뷰 기준은 지침 파일로 조정한다. 저장소 전체엔 .github/copilot-instructions.md, 특정 경로엔 .github/instructions/ 아래 *.instructions.md 파일을 두고 맨 위에 대상을 적는다.

---
applyTo: "**/*.ts,**/*.tsx"
excludeAgent: "cloud-agent"
---
API 호출부에는 에러 처리를 반드시 요구한다.
any 타입 사용은 지적한다.

excludeAgent로 코드 리뷰나 클라우드 에이전트 중 한쪽을 빼 둘 수 있다. AGENTS.md, CLAUDE.md도 함께 읽는다.

쓰기 전에 알아 둘 한계

GitHub 문서는 스스로 이렇게 적어 둔다. "Copilot is not guaranteed to spot all problems or issues in a pull request. Sometimes it will make mistakes."(모든 문제를 찾아낸다는 보장은 없고, 때로는 틀린다.) 3월 블로그의 수치도 같은 방향이다. 리뷰 71%에서 실행할 만한 피드백을 남겼고, 나머지 29%는 아무 말도 하지 않았다. GitHub은 이걸 "Silence is better than noise."(소음보다 침묵이 낫다)라고 설명했다.

외부 연구도 한 번 볼 만하다. 2024년 12월 arXiv에 공개된 산업 현장 연구(Qodo PR Agent 도입 사례)에서는 자동 리뷰 댓글의 73.8%가 해결됐다. 그런데 PR 평균 종료 시간은 5시간 52분에서 8시간 20분으로 오히려 늘었다. 지적이 많아진 만큼 대응할 일도 늘어난 것이다. 도구가 다르니 그대로 옮길 순 없지만, "AI 리뷰 = 빠른 머지"라는 기대는 조금 낮춰 두는 게 좋겠다.

보안 쪽에서 눈여겨볼 문서 문구도 있다. "Copilot reads repository custom instructions, agent instructions, and agent skills from the head branch (the branch with your changes), not the base branch."(지침을 기준 브랜치가 아니라 변경을 올린 브랜치에서 읽는다.) PR을 올린 사람이 같은 PR에서 지침 파일을 고치면 리뷰 기준도 바뀔 수 있다는 뜻이다. 실제 공격 사례로 보고된 건 찾지 못했다. 그래도 Copilot 승인(현재 공개 프리뷰, 기본 꺼짐)을 필수 승인으로 인정하는 설정과 겹치면 조심할 부분이다. PR 설명에 숨긴 주석으로 AI를 속이는 프롬프트 인젝션은 이미 Copilot Chat에서 실제로 보고됐다(2025년 Legit Security의 'CamoLeak', GitHub이 이미지 렌더링을 꺼서 대응). 코드 리뷰 기능 자체의 CVE는 아직 없다.

개인적으로는 이번 업데이트의 진짜 가치가 커밋 메시지보다 '기록'에 있다고 본다. 리뷰 강도, 해결 여부, 처음에 놓친 것까지 한 댓글에 남으니 사람 리뷰어가 AI 리뷰를 믿고 넘길지, 한 번 더 볼지 판단할 근거가 생긴다. 지침 파일을 바꾸는 PR만큼은 사람이 직접 보는 규칙을 하나 두면, 편의와 안전을 같이 챙길 수 있다.

인용한 GitHub 문서(docs.github.com) 문장은 CC BY 4.0 라이선스이며, 체인지로그·블로그 문장은 GitHub 원문을 짧게 인용했다.

출처 github.blog/…/2026-09-18-copilot-code-review-an-improved-review-experiencedocs.github.comgithub.blog/…/60-million-copilot-code-reviews-and-countingarxiv.org

내용이 틀렸나요? 정정 요청

관련 글