Devlery
Blog/AI

Copilot 코드 리뷰 통제 확대, PR 에이전트의 새 승인선

GitHub가 Copilot code review에 조직 runner 잠금, content exclusion, 장문 instructions를 추가했습니다. PR 자동 리뷰의 실행 경계를 봅니다.

Copilot 코드 리뷰 통제 확대, PR 에이전트의 새 승인선
AI 요약
  • 무슨 일: GitHub가 2026년 6월 12일 Copilot code review에 조직 단위 통제 기능 3가지를 추가했습니다.
    • 조직 runner 기본값과 잠금, content exclusion 적용, .github instructions 파일의 4000자 제한 제거가 함께 들어갔습니다.
  • 의미: PR 자동 리뷰가 댓글 생성을 넘어 GitHub Actions runner와 repository policy를 상속합니다.
  • 주의점: Copilot review는 여전히 Comment review이며 required approval을 대체하지 않습니다.
    • Cloud agent로 suggestion을 구현하려면 code review와 cloud agent tools가 모두 켜져 있어야 합니다.

GitHub Changelog가 2026년 6월 12일 Copilot code review에 세 가지 새 설정을 추가했습니다. 조직 단위 runner type 설정과 잠금, Copilot content exclusion 지원, 그리고 .github/copilot-instructions.md.github/*.instructions.md 파일의 4000자 읽기 제한 제거입니다. 발표문만 보면 작은 관리 기능 묶음처럼 보이지만, PR 자동 리뷰를 실제 팀 workflow에 넣어 본 조직에는 꽤 직접적인 변화입니다. 이제 Copilot review는 단순히 diff를 읽고 댓글을 다는 기능이 아니라, 어떤 runner에서 실행되고, 어떤 파일을 보지 못하며, 어떤 조직 지시문을 따라야 하는지까지 관리 대상이 됩니다.

이 변화의 배경은 2026년 3월로 거슬러 올라갑니다. GitHub는 Copilot code review를 agentic architecture로 옮기면서, 이 리뷰가 GitHub Actions 위에서 실행된다고 설명했습니다. 4월에는 Copilot code review를 일반 제공으로 전환했고, 이후 usage metrics API에는 Copilot review가 남긴 comment type과 Copilot-reviewed pull request merge metric이 추가됐습니다. 5월 이후 Copilot billing이 AI credits와 Actions minutes를 더 노골적으로 드러내기 시작한 것도 같은 방향입니다. AI code review는 더 이상 "리뷰어 목록에 Copilot을 하나 추가한다"로 끝나지 않습니다. 실행 환경, 비용, 보안 예외, 리뷰 기준이 함께 붙는 자동화가 됐습니다.

Copilot code review 조직 runner 설정 화면

첫 번째 변경은 조직 단위 runner control입니다. GitHub 발표는 Copilot code review가 기본적으로 standard GitHub-hosted runner에서 실행되지만, 팀이 self-hosted runner나 large runner를 설정할 수 있다고 설명합니다. 이번 업데이트로 runner type을 repository마다 따로 지정하지 않고 organization level에서 기본값으로 정할 수 있습니다. 더 중요한 부분은 lock입니다. Organization admin은 조직 기본 runner가 개별 repository 설정을 override하도록 잠글 수 있습니다. 보안팀이나 플랫폼팀이 "AI 리뷰는 반드시 이 runner class에서만 돌아야 한다"는 정책을 걸 수 있게 된 것입니다.

이 runner 설정은 Copilot code review와 Copilot cloud agent가 둘 다 활성화된 경우 양쪽에 적용됩니다. 이 문장은 짧지만 운영 영향이 큽니다. Copilot review가 남긴 suggestion을 cloud agent가 구현하도록 넘기는 흐름에서는 리뷰와 수정 실행이 분리되지 않습니다. 리뷰는 GitHub Actions runner에서 돌고, suggestion 구현은 cloud agent가 별도 PR을 만듭니다. 같은 조직 설정이 두 표면에 걸리면, platform team은 "리뷰 자동화"와 "수정 자동화"를 하나의 agent execution policy로 다뤄야 합니다.

두 번째 변경은 content exclusion입니다. GitHub는 Copilot code review가 이제 repository, organization, enterprise level의 Copilot content exclusion setting을 존중한다고 밝혔습니다. Repository administrator는 path-based rule로 Copilot이 review context로 쓰지 못할 파일이나 directory를 지정할 수 있습니다. 예를 들어 generated code, vendored dependency, test fixture, 보안 정책상 모델 입력에 넣지 않을 configuration, 고객별 schema snapshot을 제외할 수 있습니다. 이전에는 Copilot Chat이나 일부 IDE 표면에서 content exclusion을 고민했다면, 이제 PR review automation도 같은 경계 안에 들어옵니다.

Content exclusion은 단순한 개인정보 보호 옵션이 아닙니다. PR diff 자체가 공개돼도, reviewer가 참고하는 주변 context에는 더 민감한 내용이 들어갈 수 있습니다. Copilot code review는 변경된 줄만 보는 것이 아니라 주변 파일, repository convention, instructions를 함께 활용하려고 합니다. 그 과정에서 모델이 읽어서는 안 되는 directory가 있으면, 리뷰 품질보다 먼저 governance 문제가 생깁니다. 조직별 제외 설정이 리뷰 표면까지 내려온 것은 "AI가 코드를 얼마나 잘 읽는가"보다 "AI가 무엇을 읽지 않아야 하는가"가 제품 기능이 됐다는 뜻입니다.

세 번째 변경은 custom instructions 제한 제거입니다. GitHub는 이전에 Copilot code review가 .github directory 아래의 copilot-instructions.md*.instructions.md 파일을 읽을 때 4000자에 도달하면 그 뒤를 읽지 않았다고 설명합니다. 이번 업데이트로 그 제한이 없어졌습니다. 짧은 repository convention만 적던 팀에는 작은 변화일 수 있습니다. 그러나 큰 조직에서는 code style, security requirement, migration rule, 테스트 정책, framework별 금지 패턴, accessibility 기준, logging redaction rule이 몇 천 자를 쉽게 넘습니다. 리뷰 에이전트가 이 문서를 끝까지 읽을 수 있으면, 리뷰 기준을 더 명시적으로 관리할 수 있습니다.

여기서 함정도 생깁니다. 제한이 사라졌다고 instructions 파일을 무한히 늘리는 것이 좋은 운영은 아닙니다. 리뷰 에이전트는 길고 모호한 문서를 법무팀처럼 해석하지 않습니다. "가능하면", "일반적으로", "필요 시" 같은 표현이 많아질수록 review comment는 일관성을 잃을 수 있습니다. 장문 instructions가 효과를 내려면 문서가 정책 문서이면서 테스트 가능한 checklist여야 합니다. 예를 들어 "모든 API handler는 tenant boundary를 확인해야 한다"처럼 diff에서 확인할 수 있는 규칙이 좋습니다. "logging에는 access token과 customer secret을 남기지 않는다", "database migration은 rollback path를 포함한다" 같은 문장도 reviewer가 바로 대조할 수 있습니다.

통제 지점은 세 가지입니다. 실행 위치는 조직 runner type과 lock이 맡습니다. 읽기 경계는 content exclusion이 정합니다. 리뷰 기준은 길어진 instructions 파일이 담당합니다. 각 팀은 리뷰와 cloud agent 실행 비용, 제외해야 할 PR context, 장문 규칙의 유지 책임자를 따로 정해야 합니다.

GitHub Docs는 Copilot code review의 현재 역할도 분명히 적고 있습니다. Copilot은 PR에서 항상 Comment review를 남깁니다. ApproveRequest changes를 남기지 않기 때문에 required approval에는 포함되지 않고, merge를 block하지도 않습니다. 이 설계는 중요합니다. Copilot review는 사람 reviewer를 대체하는 승인자가 아니라, 사람이 보기 전에 bug risk, security issue, performance concern, suggested change를 먼저 띄우는 보조 reviewer입니다. 자동 리뷰가 required approval처럼 보이기 시작하면 branch protection과 책임 소재가 흐려집니다.

Suggested change 적용 흐름은 한 단계 더 agentic합니다. Docs는 Copilot review comment에 가능한 경우 suggested changes가 붙고, 개발자가 이를 몇 번의 클릭으로 적용할 수 있다고 설명합니다. 더 나아가 review comment에서 Implement suggestion을 누르면 Copilot cloud agent가 제안을 적용하는 새 pull request를 만들 수 있습니다. 이때 조건이 있습니다. Copilot code review와 Copilot cloud agent의 tools가 모두 enabled여야 합니다. 다시 말해 "리뷰 코멘트"는 잠재적으로 "수정 PR 생성"의 시작점입니다. 조직 runner 설정이 code review와 cloud agent에 함께 적용되는 이유도 여기에 있습니다.

실무적으로는 PR 자동 리뷰를 세 층으로 나눠야 합니다. 첫째는 comment layer입니다. Copilot이 어떤 유형의 문제를 지적하고, 사람 reviewer가 어떤 comment를 채택하거나 무시하는지 측정합니다. GitHub는 이미 usage metrics API에 Copilot suggestion comment type과 applied suggestion 수를 추가했습니다. 둘째는 execution layer입니다. Review나 suggestion 구현이 어떤 runner에서 돌고, Actions minutes와 AI credits가 어디에 청구되는지 확인합니다. 셋째는 policy layer입니다. Content exclusion, instructions, model availability, repository rules, branch protection이 서로 충돌하지 않는지 봐야 합니다.

이 업데이트는 최근 Copilot 흐름과도 맞물립니다. GitHub는 6월 11일 Agentic Workflows public preview, Copilot CLI /settings, agentic workflows의 personal access token 제거를 발표했습니다. 6월 10일에는 Copilot Chat이 agent session을 볼 수 있게 됐고, security review command도 Copilot CLI에 추가됐습니다. 6월 9일에는 Claude Fable 5가 Copilot에서 일반 제공됐습니다. 각각은 별도 changelog 항목이지만, 방향은 같습니다. Copilot은 IDE completion에서 PR, CLI, Actions, cloud agent, security review, usage metrics로 넓어지고 있습니다. 넓어진 표면에는 중앙 설정이 필요합니다.

경쟁 제품과 비교하면 GitHub의 강점은 repository object를 이미 갖고 있다는 점입니다. Cursor, Claude Code, OpenAI Codex, Devin, CodeRabbit 같은 도구도 code review와 agentic coding을 다룹니다. 그러나 GitHub는 PR, Actions, branch protection, repository settings, organization policy, enterprise billing을 같은 control plane에 놓을 수 있습니다. 이번 runner control과 content exclusion은 바로 그 장점을 쓰는 기능입니다. 반대로 GitHub에 lock-in되는 범위도 커집니다. PR review runner와 cloud agent runner가 같은 설정을 공유하면, 다른 agent tool을 병행하는 팀은 "어느 리뷰가 어떤 정책을 따른 것인가"를 문서화해야 합니다.

보안팀에는 두 가지 질문이 남습니다. 첫째, 제외 경로가 충분한가입니다. secrets/ 같은 노골적인 directory만 제외하면 부족합니다. Fixture 안에 고객 데이터가 들어가거나, generated API client에 내부 endpoint가 박혀 있거나, test snapshot에 production-like payload가 남는 경우가 있습니다. Content exclusion rule은 repository owner가 아니라 data owner와 함께 검토해야 합니다. 둘째, self-hosted runner를 쓰는 이유가 명확한가입니다. 네트워크 격리, dependency cache, compliance region, cost control 중 무엇이 목적인지 정하지 않으면, runner만 바꿔도 보안이 좋아졌다는 착각이 생깁니다.

플랫폼팀에는 비용과 신뢰성 문제가 더 직접적입니다. Copilot code review가 GitHub Actions 기반이면, 자동 리뷰 빈도와 PR 규모는 runner queue와 Actions minutes에 영향을 줍니다. Large runner를 쓰면 속도는 좋아질 수 있지만 비용이 달라집니다. Self-hosted runner를 쓰면 네트워크와 cache를 더 통제할 수 있지만 runner 유지보수, patching, scale-out, secret exposure 관리가 따라옵니다. 조직 default와 lock은 이런 결정을 repository별 취향에서 중앙 운영 문제로 올립니다.

개발팀이 바로 할 수 있는 점검은 다섯 가지입니다. 첫째, Copilot code review가 켜진 repository 목록을 뽑고 runner type이 어디서 정해지는지 확인합니다. 둘째, content exclusion rule이 Chat, cloud agent, code review에서 기대한 대로 적용되는지 test PR로 검증합니다. 셋째, .github/copilot-instructions.md를 짧은 규칙과 긴 배경 설명으로 분리하고, 리뷰에 꼭 필요한 규칙을 앞쪽에 둡니다. 넷째, Copilot review comment가 required approval을 대체하지 않는다는 점을 branch protection 문서에 적습니다. 다섯째, Implement suggestion으로 생성된 PR을 어떤 reviewer가 승인할지 정합니다.

커뮤니티 반응은 아직 이 changelog 자체만으로 크게 모이지 않았습니다. Hacker News와 GeekNews에서 6월 12일 항목 단독 토론은 확인하지 못했고, daily.dev 재게시와 GitHub Community discussion 안내가 보이는 정도입니다. 다만 5월 이후 Copilot code review 비용, AI credits, usage metrics, model rules에 대한 논의는 꾸준히 이어졌습니다. 사용자가 민감하게 보는 지점은 "Copilot이 리뷰를 잘하나"만이 아닙니다. 누가 비용을 내는지, 어떤 모델과 runner가 쓰이는지, 어떤 repository content가 입력되는지, 리뷰 comment가 실제 merge 속도와 품질에 어떤 영향을 주는지가 함께 묶입니다.

이번 발표를 과장할 필요는 없습니다. GitHub가 코드 리뷰를 완전히 자동화한 것도 아니고, Copilot이 사람 reviewer의 승인권을 가져간 것도 아닙니다. 그러나 PR 리뷰 에이전트가 조직 정책을 상속하는 방식은 더 선명해졌습니다. Runner는 실행 경계를 정하고, content exclusion은 읽기 경계를 정하고, instructions는 판단 기준을 정합니다. 이 세 가지가 함께 들어간 6월 12일 업데이트는 작은 설정 묶음이 아니라, AI code review를 조직 운영 시스템 안으로 넣는 단계입니다. 팀이 이 경계를 명시하지 않으면, 자동 리뷰는 생산성 도구가 아니라 비용과 권한이 모호한 새 CI job이 됩니다.