코드 리뷰 플로우
GitLab v19.2Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
LLM: Anthropic Claude Sonnet 4.6 Vertex 에이전틱 코드 리뷰 설정을 사용하여 다른 모델을 선택합니다. 자체 호스팅 모델을 사용하는 GitLab Duo에서 사용 가능 GitLab 18.8에서 일반 공개.
모델 정보
-
LLM: Anthropic Claude Sonnet 4.6 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은 두 가지 코드 리뷰 기능 중 하나를 실행합니다:
-
코드 리뷰 플로우: 에이전틱 버전으로, 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 Duo의 자동 리뷰#
히스토리
- GitLab 18.0에서 UI 설정으로 변경.
GitLab Duo의 자동 리뷰는 프로젝트의 모든 머지 리퀘스트가 초기 리뷰를 받도록 보장합니다. 머지 리퀘스트가 만들어지면 다음 경우를 제외하고 GitLab Duo가 이를 리뷰합니다:
-
초안으로 표시된 경우. GitLab Duo가 머지 리퀘스트를 리뷰하도록 하려면 준비됨으로 표시합니다.
-
변경 사항이 없는 경우. GitLab Duo가 머지 리퀘스트를 리뷰하도록 하려면 변경 사항을 추가합니다.
전제 조건:
- 프로젝트에서 Maintainer 권한 이상이 있어야 합니다.
@GitLabDuo가 머지 리퀘스트를 자동으로 리뷰하도록 활성화하려면:
-
상단 표시줄에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
-
왼쪽 사이드바에서 설정 > 머지 리퀘스트를 선택합니다.
-
GitLab Duo 코드 리뷰 섹션에서 GitLab Duo의 자동 리뷰 활성화를 선택합니다.
-
변경 사항 저장을 선택합니다.
자동 리뷰에 대한 크레딧 사용이 어떻게 귀속되는지에 대한 자세한 내용은 실행되는 코드 리뷰 기능 확인을 참조하세요.
그룹 및 애플리케이션에 대한 GitLab Duo의 자동 리뷰#
히스토리
- 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 19.1 이상에서 GitLab.com의 새로운 GitLab Duo 트라이얼의 경우 그룹에 대한 자동 리뷰가 기본적으로 켜져 있습니다.
전제 조건:
-
그룹에 대한 자동 리뷰를 켜려면 그룹에 대한 Owner 권한이 있어야 합니다.
-
모든 프로젝트에 대한 자동 리뷰를 켜려면 관리자여야 합니다.
그룹에 대한 자동 리뷰를 활성화하려면:
-
상단 표시줄에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
-
왼쪽 사이드바에서 설정 > 일반을 선택합니다.
-
머지 리퀘스트 섹션을 확장합니다.
-
GitLab Duo 코드 리뷰 섹션에서 GitLab Duo의 자동 리뷰 활성화를 선택합니다.
-
변경 사항 저장을 선택합니다.
모든 프로젝트에 대한 자동 리뷰를 활성화하려면:
-
오른쪽 상단에서 Admin을 선택합니다.
-
왼쪽 사이드바에서 설정 > 일반을 선택합니다.
-
GitLab Duo 코드 리뷰 섹션에서 GitLab Duo의 자동 리뷰 활성화를 선택합니다.
-
변경 사항 저장을 선택합니다.
설정은 애플리케이션에서 그룹, 프로젝트 순으로 캐스케이드됩니다. 더 구체적인 설정이 더 광범위한 설정을 재정의합니다.
자동 리뷰에 대한 크레딧 사용이 어떻게 귀속되는지에 대한 자세한 내용은 실행되는 코드 리뷰 기능 확인을 참조하세요.
자동 리뷰에서 머지 리퀘스트 제외#
- 상태: 베타
이 기능의 가용성은 기능 플래그로 제어됩니다. 자세한 내용은 히스토리를 참조하세요.
프로젝트에 대해 자동 리뷰가 켜져 있으면
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 파일이 포함되어 있어야 합니다.
그룹에 대한 사용자 정의 리뷰 지침을
사용하는 경우 동일한 템플릿 프로젝트에 제외 규칙을 추가합니다.
UI에서 템플릿 프로젝트를 다시 지정할 필요는 없습니다.
GitLab Duo가 자동으로 mr-review-automated-rules.yaml 파일을 읽습니다.
GitLab Duo는 그룹 템플릿 프로젝트의 제외 규칙을 개별 프로젝트에 정의된 규칙과 결합합니다. 두 수준 모두에서 동일한 범주가 정의된 경우 프로젝트의 규칙이 우선합니다. 그룹과 하위 그룹이 각각 템플릿 프로젝트를 설정한 경우 GitLab Duo는 모든 수준의 규칙을 결합합니다.
전제 조건:
-
그룹에 대한 Owner 권한.
-
그룹의 프로젝트에 설정하려는 제외 규칙이 포함되어 있어야 합니다.
그룹에 대한 제외 규칙을 구성하려면:
-
상단 표시줄에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
-
왼쪽 사이드바에서 설정 > 일반 > GitLab Duo 기능을 선택합니다.
-
코드 리뷰 사용자 정의에서
.gitlab/duo/mr-review-automated-rules.yaml파일이 포함된 프로젝트를 선택합니다. -
변경 사항 저장을 선택합니다.
문제 해결#
오류 DCR4000#
Code Review Flow is not enabled. Contact your group administrator to enable the foundational flow in the top-level group. Error code: DCR4000이라는 오류가 발생할 수 있습니다.
이 오류는 기본 플로우 또는 코드 리뷰 플로우가 꺼져 있을 때 발생합니다.
관리자에게 연락하여 최상위 그룹에 대한 코드 리뷰 플로우를 켜도록 요청합니다.
오류 DCR4001#
Code Review Flow is enabled but the service account needs to be verified. Contact your administrator. Error code: DCR4001이라는 오류가 발생할 수 있습니다.
이 오류는 코드 리뷰 플로우가 켜져 있지만 최상위 그룹의 서비스 계정이 존재하지 않거나 준비되지 않았을 때 발생합니다.
관리자에게 서비스 계정이 존재하는지 확인하고 문제를 해결하기 위한 단계를 따르도록 요청합니다.
오류 DCR4002#
No GitLab Credits remain for this billing period. To continue using Code Review Flow, contact your administrator. Error code: DCR4002라는 오류가 발생할 수 있습니다.
이 오류는 현재 청구 기간에 할당된 GitLab Credits를 모두 사용한 경우 발생합니다.
관리자에게 추가 크레딧을 구매하도록 연락하거나 다음 청구 기간 초에 크레딧이 재설정될 때까지 기다립니다.
오류 DCR4003#
, you don't have permission to create a pipeline for Code Review Flow in this project. Contact your administrator to update your permissions. Error code: DCR4003이라는 오류가 발생할 수 있습니다.
이 오류는 코드 리뷰 플로우가 CI/CD 파이프라인에서 실행되는데 이 프로젝트에서 파이프라인을 만들 권한이 없어서 발생합니다.
관리자에게 연락하여 파이프라인을 실행하는 데 필요한 권한을 부여하도록 요청합니다.
오류 DCR4004#
, you need to set a default GitLab Duo namespace to use Code Review Flow in this project. Please set a default GitLab Duo namespace in your preferences. Error code: DCR4004라는 오류가 발생할 수 있습니다.
이 오류는 GitLab Duo가 리뷰를 시작한 사용자의 기본 GitLab Duo 네임스페이스를 식별할 수 없을 때 발생합니다.
기본 설정에서 기본 GitLab Duo 네임스페이스를 설정한 다음 리뷰를 다시 요청합니다.
오류 DCR4005#
Code Review Flow could not obtain the required authentication tokens to connect to the GitLab AI Gateway and the GitLab API. Please request a new review. If the issue persists, contact your administrator. Error code: DCR4005라는 오류가 발생할 수 있습니다.
코드 리뷰 플로우는 GitLab AI Gateway 및 GitLab API에 연결하기 위한 인증 토큰이 필요합니다. 이 오류는 잘못된 GitLab Duo 설정이나 일시적인 인프라 문제로 인해 해당 토큰을 생성할 수 없을 때 발생합니다.
Self-managed 인스턴스의 경우 관리자에게 GitLab Duo 구성을 확인하도록 요청합니다.
오류 DCR4006#
Code Review Flow could not add the service account to this project. Contact your administrator to verify that the service account has the required project access. Error code: DCR4006이라는 오류가 발생할 수 있습니다.
이 오류는 서비스 계정을 프로젝트 멤버로 추가할 수 없을 때 발생합니다. 그룹 구성원 잠금이 활성화되어 있거나 서비스 계정에 필요한 액세스 권한이 없을 때 발생할 수 있습니다.
관리자에게 연락하여 서비스 계정을 개발자로 프로젝트에 추가할 수 있는지 확인하도록 요청합니다.
오류 DCR4007#
Code Review Flow is not available for this project. Contact your administrator to verify that the flow is enabled and the required configuration is in place. Error code: DCR4007이라는 오류가 발생할 수 있습니다.
이 오류는 플로우가 비활성화되어 있거나 프로젝트에 필요한 구성이 없을 때 발생합니다.
관리자에게 연락하여 프로젝트에 대해 플로우가 활성화되어 있는지 확인하도록 요청합니다.
오류 DCR4008#
Code Review Flow could not create the required CI/CD pipeline. Please request a new review. If the problem persists, contact your administrator. Error code: DCR4008이라는 오류가 발생할 수 있습니다.
이 오류는 러너 가용성 문제 또는 내부 구성 문제로 인해 코드 리뷰 플로우가 리뷰를 실행하기 위한 CI/CD 파이프라인을 만들거나 구성할 수 없을 때 발생합니다.
리뷰를 다시 시작해 봅니다. 오류가 지속되면 관리자에게 문의합니다.
오류 DCR4009#
Code Review Flow could not retrieve the source branch for this merge request. Please request a new review. Error code: DCR4009라는 오류가 발생할 수 있습니다.
이 오류는 코드 리뷰 플로우가 머지 리퀘스트의 소스 브랜치를 가져올 수 없을 때 발생합니다.
리뷰를 다시 시작해 봅니다.
오류 DCR5000#
Something went wrong while starting Code Review Flow. Please try again later. Error code: DCR5000이라는 오류가 발생할 수 있습니다.
이 오류는 내부 오류로 인해 GitLab Duo Agent Platform이 코드 리뷰 플로우를 시작할 수 없을 때 발생합니다.
리뷰를 다시 시작해 봅니다. 오류가 지속되면 관리자에게 문의합니다.
오류 DCR5001#
Code Review Flow completed the review but could not post the review comments. Please request a new review to try again. Error code: DCR5001이라는 오류가 발생할 수 있습니다.
이 오류는 코드 리뷰 플로우가 리뷰를 완료했지만 여러 번 시도한 후에도 리뷰 댓글을 게시할 수 없을 때 발생합니다. 이는 종종 일시적인 인프라 문제로 인해 발생합니다.
새 리뷰를 요청합니다. 오류가 지속되면 관리자에게 문의합니다.
대규모 머지 리퀘스트 리뷰에서 누락된 컨텍스트#
머지 리퀘스트에 크게 변경된 파일이 많이 포함된 경우 코드 리뷰 플로우가 컨텍스트를 놓칠 수 있습니다.
이는 사전 스캔 결과가 파일 및 컨텍스트 제한을 초과하고 리뷰 단계 실행 전에 데이터가 잘릴 때 발생할 수 있습니다.
리뷰를 개선하려면:
-
머지 리퀘스트를 더 작은 머지 리퀘스트로 분할합니다.
-
리뷰와 관련이 없는 파일의 컨텍스트를 제외합니다.
-
Maintainer 또는 Owner에게 에이전틱 코드 리뷰 설정을 사용하여 다른 모델을 선택하도록 요청합니다.
구성 진단 스크립트#
오류 코드에서 코드 리뷰 플로우 문제의 원인을 확인할 수 없는 경우 진단 스크립트를 실행하여 GitLab Duo 구성을 확인할 수 있습니다.
이 스크립트는 모든 GitLab Duo Agent Platform 기능에 적용되는 검사를 포함하여 코드 리뷰 플로우에 필요한 전체 구성 체인을 확인합니다.
자세한 내용은 구성 진단 스크립트 실행을 참조하세요.