코드 리뷰 플로우
GitLab v19.3Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
요약
LLM: Anthropic Claude Sonnet 5 Vertex 에이전틱 코드 리뷰 설정을 사용하여 다른 모델을 선택합니다. 자체 호스팅 모델을 사용하는 GitLab Duo에서 사용 가능 GitLab 18.8에서 일반 공개.
모델 정보
-
LLM: Anthropic Claude Sonnet 5 Vertex
-
자체 호스팅 모델을 사용하는 GitLab Duo에서 사용 가능
히스토리
- GitLab 18.7에서
duo_code_review_on_agent_platform라는 기능 플래그와 함께 베타로 도입. 기본적으로 비활성화됨.
-
GitLab 18.8에서 일반 공개. 기능 플래그
duo_code_review_on_agent_platform제거. -
GitLab 18.10에서 GitLab Credits를 사용하여 GitLab.com의 Free 티어에서 사용 가능.
-
GitLab 19.1에서 LLM이 Claude Sonnet 4.6 Vertex로 업데이트됨.
-
GitLab 19.3에서 LLM이 Claude Sonnet 5 Vertex로 업데이트됨.
애드온 및 그룹 설정에 따라 GitLab은 두 가지 코드 리뷰 기능 중 하나를 실행합니다:
-
코드 리뷰 플로우: 에이전틱 버전으로, GitLab Duo Agent Platform의 일부입니다.
-
GitLab Duo 코드 리뷰: 비에이전틱 버전으로, GitLab Duo Enterprise 애드온이 있는 사용자에게만 제공됩니다.
이 페이지는 에이전틱 버전을 설명합니다. 두 기능을 비교하는 방법과 GitLab Duo Enterprise 좌석에 대해 코드 리뷰 플로우를 켜는 방법에 대한 자세한 내용은 GitLab Duo를 사용하여 코드 리뷰하기를 참조하세요.
코드 리뷰 플로우는 에이전틱 AI로 코드 리뷰를 간소화하는 데 도움을 줍니다.
이 플로우는:
-
코드 변경 사항을 분석합니다.
-
저장소 구조와 파일 간 종속성에 대한 향상된 컨텍스트 이해를 제공합니다.
-
실행 가능한 피드백이 있는 자세한 리뷰 댓글을 제공합니다.
-
프로젝트에 맞춤화된 사용자 정의 리뷰 지침을 지원합니다.
이 플로우는 GitLab UI에서만 사용할 수 있습니다.
전제 조건#
-
GitLab Duo Agent Platform의 전제 조건을 충족합니다.
-
최상위 그룹에 대해 기본 플로우 허용 및 코드 리뷰를 켭니다.
-
프로젝트에 대한 Developer, Maintainer, 또는 Owner 권한이 있어야 합니다.
-
여러 GitLab Duo 네임스페이스에 속해 있는 경우 기본 GitLab Duo 네임스페이스를 설정합니다.
-
프로젝트에 대해
gitlab--duo태그와 Docker 이미지를 지원하는 executor로 자체 러너를 구성하거나 GitLab 호스팅 러너를 켭니다. 코드 리뷰 플로우는 CI/CD 작업으로 실행되며 실행하려면 러너가 필요합니다.
플로우 사용#
히스토리
- GitLab 19.2에서 GitLab Duo 에이전틱 채팅 대화에서 플로우를 사용하는 기능이
agentic_foundational_flow_tool이라는 기능 플래그와 함께 도입됨. 기본적으로 활성화됨.
이 기능의 가용성은 기능 플래그로 제어됩니다. 자세한 내용은 히스토리를 참조하세요.
머지 리퀘스트에서 코드 리뷰 플로우를 사용하려면:
-
왼쪽 사이드바에서 코드 > 머지 리퀘스트를 선택하고 머지 리퀘스트를 찾습니다.
-
다음 방법 중 하나를 사용하여 리뷰를 요청합니다:
@GitLabDuo를 검토자로 할당합니다.
-
댓글 상자에 빠른 작업
/assign_reviewer @GitLabDuo를 입력합니다. -
댓글 상자에서
@GitLabDuo를 멘션하고 리뷰를 요청합니다. -
GitLab Duo 사이드바에서 새로운 또는 기존 에이전틱 채팅 대화를 엽니다. 에이전틱 채팅에 머지 리퀘스트를 리뷰하도록 요청합니다.
-
진행 상황을 모니터링하려면 왼쪽 사이드바에서 AI > 세션을 선택합니다.
에이전틱 채팅에 있는 경우 다음도 수행할 수 있습니다:
채팅 대화에서 진행 상황을 확인합니다.
- 대화에서 에이전트 세션 보기를 선택합니다.
리뷰에서 GitLab Duo와 상호작용#
히스토리
- GitLab 19.1에서 댓글 상호작용이 GitLab Duo Agent Platform을 사용하도록 업데이트됨.
GitLab Duo를 검토자로 할당하는 것 외에도 다음을 통해 GitLab Duo와 상호작용할 수 있습니다:
-
리뷰 댓글에 답장하여 명확화 또는 대안적인 접근 방식을 요청합니다.
-
모든 토론 스레드에서
@GitLabDuo를 멘션하여 후속 질문을 합니다.
댓글에서 GitLab Duo와의 토론은 GitLab Duo Agent Platform을 사용하며 크레딧을 소비합니다.
GitLab Duo에 제공된 피드백은 다른 머지 리퀘스트의 이후 리뷰에 영향을 주지 않습니다. 이 기능을 추가하는 것이 이슈 560116에서 제안되어 있습니다.
컨텍스트 인식#
코드 리뷰 플로우는 두 단계로 실행됩니다:
사전 스캔: 플로우가 머지 리퀘스트 diff를 검사하고 이를 사용하여 프로젝트 저장소에서 가져올 관련 컨텍스트를 식별합니다. 사전 스캔에는 일반적으로 디렉터리 목록과 변경 사항에서 참조되는 테스트 및 종속성과 같은 관련 파일의 내용이 포함됩니다. 가져오는 정확한 컨텍스트는 diff 분석에 따라 달라집니다.
리뷰: 플로우가 대형 언어 모델에서 다음 데이터로 리뷰를 실행합니다. 리뷰 단계는 추가 컨텍스트를 온디맨드로 가져올 수 없습니다.
사전 스캔 단계의 결과.
-
머지 리퀘스트 제목.
-
머지 리퀘스트 설명.
-
머지 리퀘스트 diff.
-
파일의 원본 버전.
-
파일 이름.
-
사용자 정의 리뷰 지침.
제외할 콘텐츠를 지정하려면 GitLab Duo에서 컨텍스트 제외를 참조하세요.
파일 및 컨텍스트 제한#
코드 리뷰 플로우는 프롬프트를 실용적인 크기로 유지하기 위해 두 가지 제한을 적용합니다:
-
10,000줄보다 긴 파일의 경우 diff만 모델에 전송됩니다. 전체 파일 내용은 포함되지 않습니다.
-
사전 스캔에서 수집하는 총 컨텍스트는 약 1 MiB로 제한됩니다. 이 제한을 초과하면 리뷰 단계 실행 전에 컨텍스트가 약 800 KiB로 잘립니다.
이러한 제한은 플로우가 수집하는 데이터에 적용되며 선택한 모델의 컨텍스트 창과는 별개입니다.
매우 큰 머지 리퀘스트의 경우 잘린 컨텍스트로 인해 리뷰가 누락될 수 있습니다. 위험을 줄이려면:
-
머지 리퀘스트를 더 작은 머지 리퀘스트로 분할합니다.
-
리뷰와 관련이 없는 파일의 컨텍스트를 제외합니다.
사용자 정의 코드 리뷰 지침#
mr-review-instructions.yaml 파일로 코드 리뷰 플로우의 동작을 사용자 정의합니다.
저장소별 리뷰 지침으로 GitLab Duo를 안내할 수 있습니다:
-
특정 코드 품질 측면(보안, 성능, 유지 관리성 등)에 집중합니다.
-
프로젝트에 고유한 코딩 표준 및 모범 사례를 적용합니다.
-
맞춤화된 리뷰 기준으로 특정 파일 패턴을 대상으로 합니다.
-
특정 유형의 변경 사항에 대한 자세한 설명을 제공합니다.
코드 리뷰 플로우는 AGENTS.md 및 SKILL.md 파일을 참조하지 않습니다.
사용자 정의 지침을 구성하려면 GitLab Duo의 리뷰 지침 사용자 정의를 참조합니다.
자동 리뷰#
히스토리
- GitLab 18.0에서 프로젝트에 대한 자동 리뷰가 UI 설정으로 변경.
-
GitLab 18.4에서 그룹 및 인스턴스에 대한 자동 리뷰가
cascading_auto_duo_code_review_settings라는 기능 플래그와 함께 베타로 도입. 기본적으로 비활성화됨. -
GitLab 18.7에서 기능 플래그
cascading_auto_duo_code_review_settings제거. -
GitLab 19.1에서 GitLab.com의 새로운 GitLab Duo 트라이얼에 대해 그룹 및 애플리케이션의 자동 리뷰가 기본적으로 켜짐.
GitLab Duo의 자동 리뷰는 프로젝트, 그룹 또는 인스턴스의 모든 머지 리퀘스트가 초기 리뷰를 받도록 보장합니다.
사용자가 머지 리퀘스트를 만들면 다음 경우를 제외하고 GitLab Duo가 이를 자동으로 리뷰합니다:
-
초안으로 표시된 경우. GitLab Duo가 머지 리퀘스트를 리뷰하도록 하려면 준비됨으로 표시합니다.
-
변경 사항이 없는 경우. GitLab Duo가 머지 리퀘스트를 리뷰하도록 하려면 변경 사항을 추가합니다.
-
설정한 제외 규칙 중 하나 이상과 일치하는 경우. GitLab Duo가 머지 리퀘스트를 리뷰하도록 하려면 수동으로 리뷰를 요청합니다.
GitLab 19.1 이상에서 GitLab.com의 새로운 GitLab Duo 트라이얼의 경우 그룹에 대한 자동 리뷰가 기본적으로 켜져 있습니다.
프로젝트
전제 조건:
- 프로젝트에 대한 Maintainer 또는 Owner 권한.
프로젝트에 대한 자동 리뷰를 켜려면:
-
상단 표시줄에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
-
왼쪽 사이드바에서 설정 > 머지 리퀘스트를 선택합니다.
-
GitLab Duo 코드 리뷰 섹션에서 GitLab Duo의 자동 리뷰 활성화를 선택합니다.
-
변경 사항 저장을 선택합니다.
그룹
전제 조건:
- 그룹에 대한 Owner 권한.
그룹에 대한 자동 리뷰를 켜려면:
-
상단 표시줄에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
-
왼쪽 사이드바에서 설정 > 일반을 선택합니다.
-
머지 리퀘스트 섹션을 확장합니다.
-
GitLab Duo 코드 리뷰 섹션에서 GitLab Duo의 자동 리뷰 활성화를 선택합니다.
-
변경 사항 저장을 선택합니다.
설정은 그룹에서 프로젝트 순으로 캐스케이드됩니다. 더 구체적인 설정이 더 광범위한 설정을 재정의합니다.
인스턴스
전제 조건:
- 관리자 액세스 권한
인스턴스에 대한 자동 리뷰를 켜려면:
-
오른쪽 상단에서 Admin을 선택합니다.
-
왼쪽 사이드바에서 설정 > 일반을 선택합니다.
-
GitLab Duo 코드 리뷰 섹션에서 GitLab Duo의 자동 리뷰 활성화를 선택합니다.
-
변경 사항 저장을 선택합니다.
설정은 인스턴스에서 그룹, 프로젝트 순으로 캐스케이드됩니다. 더 구체적인 설정이 더 광범위한 설정을 재정의합니다.
자동 리뷰를 활성화한 후에는 특정 머지 리퀘스트를 제외하는 규칙을 지정할 수 있습니다.
자동 리뷰에 대한 크레딧 사용이 어떻게 귀속되는지에 대한 자세한 내용은 실행되는 코드 리뷰 기능 확인을 참조하세요.
프로젝트에 대한 머지 리퀘스트 제외#
- GitLab 19.3에서 일반 공개. 기능 플래그
duo_code_review_automated_rules제거됨.
프로젝트에 대해 자동 리뷰가 켜져 있으면
GitLab Duo가 모든 적격 머지 리퀘스트를 리뷰합니다.
특정 머지 리퀘스트를 제외하려면
.gitlab/duo/mr-review-automated-rules.yaml 파일에 제외 규칙을 정의합니다.
제외 규칙은 자동 리뷰만 방지합니다. 제외된 머지 리퀘스트에 대해서도 수동으로 리뷰를 요청할 수 있습니다.
제외 규칙을 정의하려면:
-
저장소의 루트에
.gitlab/duo디렉터리가 아직 없으면 만듭니다. -
.gitlab/duo디렉터리에mr-review-automated-rules.yaml이라는 파일을 만듭니다. -
다음 형식을 사용하여 제외 규칙을 추가합니다:
exclude: target_branches: - <pattern> source_branches: - <pattern> authors: - <pattern>
각 키는 선택 사항입니다. GitLab Duo는 머지 리퀘스트가 어느 범주에서든 어떤 패턴과 일치하면 자동 리뷰를 건너뜁니다:
target_branches: 머지 리퀘스트의 타겟 브랜치 이름과 일치합니다.
-
source_branches: 머지 리퀘스트의 소스 브랜치 이름과 일치합니다. -
authors: 머지 리퀘스트 작성자의 사용자 이름과 일치합니다.
패턴은 와일드카드(glob) 매칭을 지원합니다.
예를 들어 dependabot/*는 dependabot/으로 시작하는 모든 소스 브랜치와 일치합니다.
예를 들어 릴리스 브랜치를 타겟으로 하거나 봇 계정이 만든 머지 리퀘스트에 대한 자동 리뷰를 건너뛰려면:
exclude:
target_branches:
- "release/*"
authors:
- "*-bot"
- 파일을 저장소의 기본 브랜치에 커밋합니다.
GitLab Duo는 저장소의 기본 브랜치에서 제외 규칙을 읽습니다. GitLab Duo는 다른 브랜치에는 규칙을 적용하지 않습니다.
그룹에 대한 머지 리퀘스트 제외#
그룹 및 하위 그룹의 모든 프로젝트에 대한 제외 규칙을 정의하려면 템플릿으로 사용할
프로젝트를 지정합니다.
템플릿 프로젝트에는 .gitlab/duo/mr-review-automated-rules.yaml 파일이 포함되어 있어야 합니다.
GitLab Duo는 그룹 템플릿 프로젝트의 제외 규칙을 개별 프로젝트에 정의된 규칙과 결합합니다. 두 수준 모두에서 동일한 범주가 정의된 경우 프로젝트의 규칙이 우선합니다. 그룹과 하위 그룹이 각각 템플릿 프로젝트를 설정한 경우 GitLab Duo는 모든 수준의 규칙을 결합합니다.
그룹에 대한 사용자 정의 리뷰 지침을 저장할
프로젝트를 이미 구성한 경우, mr-review-automated-rules.yaml도 동일한 프로젝트에 저장합니다.
그룹의 코드 리뷰를 사용자 정의하는 프로젝트는 하나만 지정할 수 있으므로, GitLab이 해당 프로젝트에서
제외 규칙도 자동으로 확인합니다. 아래 단계를 다시 따를 필요는 없습니다.
전제 조건:
-
그룹에 대한 Owner 권한.
-
그룹의 프로젝트에 설정하려는 제외 규칙이 포함되어 있어야 합니다.
그룹에 대한 제외 규칙을 구성하려면:
-
상단 표시줄에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
-
왼쪽 사이드바에서 설정 > 일반 > GitLab Duo 기능을 선택합니다.
-
코드 리뷰 사용자 정의에서
.gitlab/duo/mr-review-automated-rules.yaml파일이 포함된 프로젝트를 선택합니다. -
변경 사항 저장을 선택합니다.
문제 해결#
코드 리뷰 플로우를 사용할 때 문제가 발생할 수 있습니다.
이러한 문제를 해결하는 방법에 대한 자세한 내용은 문제 해결을 참조하세요.