GitLab Duo 소개

GitLab은 DevSecOps 플랫폼 전반에 걸쳐 AI 기반 기능을 개발하고 있습니다. 이러한 기능은 소프트웨어 개발 라이프사이클 전반에서 속도를 높이고, 주요 문제점을 해결하도록 돕는 게 목표입니다.

기능목적대규모 언어 모델현재 사용할 수 있는 서비스 유형성숙도
Suggested Reviewers
(추천 리뷰어)
Merge Request의 리뷰어를 자동으로 추천해 더 빠르고 품질이 더 높은 리뷰를 작성하도록 돕습니다.GitLab은 각 프로젝트의 머신러닝 모델을 만들며, 리뷰어를 생성하는 데 이를 활용합니다.SaaS 전용

Ultimate 티어(tier)
Generally Available(GA)
Code Suggestions
(코드 제안)
텍스트를 입력할 때 코드 제안을 보면서 코드를 더 효율적으로 작성하도록 지원합니다.code-gecko
code-bison

Anthropic의 Claude 모델
SaaS와 자체 관리형

모든 티어
Beta
Vulnerability summary
(취약점 요약)
취약점을 더 효율적으로 해결하고, 기술을 향상하며, 더 안전한 코드를 작성하도록 지원합니다.text-bison

성능이 낮아지면 Anthropic의 Claude 모델 사용
SaaS 전용

Ultimate 티어
Beta
Code explanation
(코드 설명)
코드를 영어로 설명해 이를 이해하도록 지원합니다.codechat-bisonSaaS 전용

Ultimate 티어
Experiment
GitLab Duo Chat대화형 방식으로 텍스트와 코드를 처리하고 생성합니다. 이슈, 에픽, 코드, GitLab 문서에서 대량의 텍스트 가운데 유용한 정보를 빠르게 확인하도록 지원합니다.Anthropic의 Claude 모델

textembedding-gecko
SaaS 전용

Ultimate 티어
Experiment
Value stream forecasting
(가치 흐름 예측)
소프트웨어 개발 라이프사이클 전반에 걸쳐 생산성 메트릭을 예측하고, 이상 징후를 확인하도록 돕습니다.통계적 예측SaaS와 자체 관리형

Ultimate 티어
Experiment
Discussion summary
(토론 요약)
모두가 긴 대화 내용을 빠르게 파악하도록 도와 이들이 같은 내용을 이해하도록 지원합니다.text-bisonSaaS 전용

Ultimate 티어
Experiment
Merge Request summary
(MR 요약)
Merge Request 변경 사항 영향을 효율적으로 전달합니다.text-bisonSaaS 전용

Ultimate 티어
Experiment
Code review summary
(코드 리뷰 요약)
작성자와 리뷰어 간에 Merge Request를 쉽게 전달하고, 리뷰어가 제안을 효율적으로 이해하도록 지원합니다.text-bisonSaaS 전용

Ultimate 티어
Experiment
Merge Request template population
(MR 템플릿 채우기)
템플릿 내용에 기반해 Merge Request 설명을 생성합니다.text-bisonSaaS 전용

Ultimate 티어
Experiment
Test generation
(테스트 생성)
반복 작업을 자동화하고, 버그를 조기에 발견하도록 지원합니다.text-bisonSaaS 전용

Ultimate 전용
Experiment
Git suggestions
(Git 제안)
필요할 때 Git 명령을 검색하거나 불러오도록 지원합니다.Google Vertex Codey APISaaS 전용

Ultimate 티어
Experiment
Root cause analysis
(근본 원인 분석)
파이프라인 실패와 CI/CD 빌드 실패의 근본 원인을 파악하도록 지원합니다.Google Vertex Codey APISaaS 전용

Ultimate 티어
Experiment
Issue description generation
(이슈 설명 생성)
이슈 설명을 생성합니다.OpenAI의 GPT-3SaaS 전용

Ultimate 티어
Experiment

AI/ML 기능 활성화하기

  • 서드 파티 AI 기능
    • Google, Anthropic 또는 OpenAI의 대규모 언어 모델(LLM)에 구축된 모든 기능(코드 제안 제외)을 사용하려면 이 설정을 그룹 수준에서 활성화해야 합니다.
    • Generally Available(GA) 기능은 서드 파티 AI 기능이 활성화될 때 이용할 수 있습니다.
    • 서드 파티 AI 기능은 기본으로 활성화됩니다.
    • 이 설정은 SaaS의 Ultimate 그룹에서 이용할 수 있고, 이는 그룹에서 Owner 권한이 있는 사용자가 설정할 수 있습니다.
    • 이 설정을 활성화하는 방법을 확인하세요.
  • 실험 기능과 베타 기능
    • 실험 기능 또는 베타 기능으로 분류된 모든 기능(코드 제안 제외)을 사용하려면 이 설정을 그룹 수준에서 활성화해야 합니다. 이는 서드 파티 AI 기능 설정에 추가됩니다.
    • 이 기능을 사용하는 건 테스트 이용 약관을 적용받습니다.
    • 실험 기능과 베타 기능은 기본으로 비활성화됩니다.
    • 이 설정은 SaaS의 Ultimate 그룹에서 이용할 수 있고, 이는 그룹에서 Owner 권한이 있는 사용자가 설정할 수 있습니다.
    • 이 설정을 활성화하는 방법을 확인하세요.
  • 코드 제안

실험 AI 기능과 사용 방법

다음 하위 섹션에서는 실험 AI 기능을 더 자세하게 설명합니다.

Code explanation으로 웹 UI에서 코드 설명하기

(Ultimate, SaaS)

이 기능은 GitLab 15.11에 GitLab.com의 실험 기능으로 도입됐습니다.

이 기능을 사용하려면

GitLab은 다음 상황에서 사용자가 속도를 더 빠르게 높이도록 지원합니다.

  • 다른 사람이 만든 코드 조각을 이해하려고 애쓰는 데 많은 시간을 보내거나,
  • 익숙하지 않은 언어로 작성된 코드를 이해하는 데 어려움을 겪을 때

대규모 언어 모델을 사용해, GitLab은 코드를 자연어로 설명할 수 있습니다.

코드를 설명하기 위해:

  1. 왼쪽 사이드바의 상단에서 Search or go to 아이콘을 클릭해 프로젝트를 찾습니다.
  2. 프로젝트에서 코드를 포함한 파일을 선택합니다.
  3. 파일에서 설명하려는 라인을 선택합니다.
  4. 왼쪽 사이드바에서, 물음표를 선택합니다. 선택된 코드를 보려면 해당 코드의 첫 줄까지 스크롤 해야 합니다. 그러면 선택된 코드가 프롬프트와 함께 대규모 언어 모델에 설명을 제공하기 위해 전송됩니다.
  5. 드로어(Drawer)가 페이지 오른쪽에 표시됩니다. 설명이 생성될 때까지 잠시 기다립니다.
  6. 설명에 대한 만족도를 피드백해 주세요. 그러면 GitLab이 결과를 개선할 수 있습니다.

Merge request의 컨텍스트에서 코드를 설명하도록 할 수 있습니다. Merge request에서 코드를 설명하려면:

  1. 왼쪽 사이드바의 상단에서 Search or go to 아이콘을 클릭해 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Code > Merge requests를 클릭한 다음, Merge request를 선택합니다.
  3. 보조 메뉴에서 Changes를 클릭합니다.
  4. 설명하려는 파일에서 점 세 개(⋮)를 클릭하고, View File @ $SHA를 선택합니다. 별도 브라우저 탭이 열리고 최신 변경 사항을 포함한 전체 파일이 표시됩니다.
  5. 새 탭에서 설명하려는 라인을 선택합니다.
  6. 왼쪽에서 물음표를 선택합니다. 선택된 코드를 보려면 해당 코드의 첫 줄까지 스크롤 해야 합니다. 그러면 선택된 코드가 프롬프트와 함께 대규모 언어 모델에 설명을 제공하기 위해 전송됩니다.
  7. 드로어(Drawer)가 페이지 오른쪽에 표시됩니다. 설명이 생성될 때까지 잠시 기다립니다.
  8. 설명에 대한 만족도를 피드백해 주세요. 그러면 GitLab이 결과를 개선할 수 있습니다.
photo | 인포그랩 GitLab | 인포그랩 GitLab

대규모 언어 모델이 정확한 결과를 생성한다고 보장할 수 없습니다. 설명을 신중하게 사용하세요.

Discussion summary로 이슈 토론 요약하기

(Ultimate, SaaS)

이 기능은 GitLab 16.0에 실험 기능으로 도입됐습니다.

이 기능을 사용하려면

이슈 토론 요약을 생성하려면:

  1. 이슈에서, Activity 섹션으로 스크롤 합니다.
  2. View summary를 선택합니다.

이슈의 코멘트는 최대 10개 목록 항목으로 요약됩니다. 이 요약은 사용자에게만 표시됩니다.

issue 407779에 이 실험 기능을 피드백해 주세요.

데이터 사용량: 이 기능을 사용할 때, 이슈의 공개 코멘트 텍스트가 위에서 참조한 대규모 언어 모델로 전송됩니다.

Value stream forecasting으로 배포 빈도 예측하기

(Ultimate)

이 기능은 GitLab 16.2에 실험 기능으로 도입됐습니다.

이 기능을 사용하려면

CI/CD Analytics에서, 배포 빈도 예측을 볼 수 있습니다.

  1. 왼쪽 사이드바 상단에서 Search or go to 아이콘을 클릭해 프로젝트를 찾습니다.
  2. Analyze > CI/CD analytics를 선택합니다.
  3. Deployment frequency 탭을 선택합니다.
  4. Show forecast 토글을 켭니다.
  5. confirmation dialog에서 Accept testing terms를 선택합니다.

이 예측은 차트에서 점선으로 표시됩니다. 데이터는 선택한 날짜 범위의 절반 기간에 해당하는 예측 결과를 보여줍니다. 예를 들어, 30일 범위를 선택하면 다음 15일의 예측 결과가 표시됩니다.

photo | 인포그랩 GitLab | 인포그랩 GitLab

issue 416833에 이 실험 기능을 피드백해 주세요.

근본 원인 분석하기(Root cause analysis)

(Ultimate, SaaS)

이 기능은 GitLab 16.2에 실험 기능으로 도입됐습니다.

이 기능을 사용하려면

이 기능을 사용할 수 있을 때, 실패한 CI/CD job에 "Root cause analysis" 버튼이 나타납니다. 이 버튼을 클릭하면 실패 원인과 관련된 분석이 생성됩니다.

Issue description generation으로 이슈 요약하기

(Ultimate, SaaS)

이 기능은 GitLab 16.3에 실험 기능으로 도입됐습니다.

이 기능을 사용하려면

이슈 설명을 짧은 요약에서 생성할 수 있습니다.

  1. 새 이슈를 만듭니다.
  2. Description 영역 위에, AI actions > Generate issue description을 선택합니다.
  3. 간략한 설명을 쓰고, Submit를 선택합니다.

이슈 설명은 AI가 생성한 텍스트로 대체됩니다.

issue 409844에 이 실험 기능을 피드백해 주세요.

데이터 사용량: 이 기능을 사용할 때, 입력한 텍스트가 위에서 참조한 대규모 언어 모델로 전송됩니다.

GitLab Duo Chat

(Ultimate, SaaS)

이 실험 기능의 상세 정보를 확인하려면 GitLab Duo Chat 페이지를 클릭하세요.

데이터 사용량

GitLab AI 기능은 생성형 AI를 사용해 속도를 높이도록 돕고, 사용자가 생산성을 더 향상하도록 지원하는 걸 목표로 삼습니다. 각 기능은 다른 기능과 독립적으로 작동하며, 다른 기능을 작동하는 데 필요하지 않습니다.

점진적 향상

이러한 기능은 DevSecOps 플랫폼 전반에 걸쳐 기존 GitLab 기능을 점진적으로 향상하도록 설계됐습니다. 이는 적절하게 중단되도록 설계됐고, 기본 기능의 핵심 기능을 방해하지 말아야 합니다. 각 기능이 관련 기능 지원 정책에서 정의한 대로 예상 기능의 영향을 받을 수 있음을 주의하세요.

안정성과 성능

이러한 기능은 기능 지원 수준이 다양합니다. 이러한 기능의 특성 때문에, 성능이 떨어지거나 기능의 예상치 못한 다운타임이 생길 정도로 이용 수요가 높을 수 있습니다. 우리는 이러한 기능의 성능이 적절하게 저하되도록 구축했으며, 오남용을 완화할 수 있도록 통제권을 갖췄습니다. GitLab은 재량에 따라 언제라도 일부 또는 모든 고객을 대상으로 베타 기능과 실험 기능을 비활성화할 수 있습니다.

서드 파티 서비스

데이터 프라이버시

일부 AI 기능은 구글 AI, OpenAI와 같은 서드 파티 AI 서비스 모델과 API를 사용해야 합니다. 모든 개인 데이터 처리는 GitLab 개인정보 보호 정책을 따릅니다. 아울러 Sub-Processors 페이지에 들어가서 우리가 이러한 기능을 제공하는 데 사용하는 Sub-Processors 목록을 볼 수 있습니다.

그룹 Owner 권한 사용자는 그룹 수준의 서드 파티 AI 기능 설정을 사용해 어떤 최상위 그룹이 서드 파티 AI 기능에 액세스하는지 제어할 수 있습니다.

모델 정확도와 품질

생성형 AI는 아래와 같이 예상치 못한 결과를 생성할 수 있습니다.

  • 낮은 품질
  • 일관성이 부족함
  • 불완전함
  • 실패한 파이프라인을 생성함
  • 불안전한 코드
  • 공격적이거나 무감각함
  • 오래된 정보

GitLab은 생성된 콘텐츠 품질을 향상하기 위해 모든 AI 기능 처리 절차를 적극적으로 반복하고 있습니다. 우리는 프롬프트 엔지니어링과 이러한 기능을 작동시키는 새로운 AI/ML 모델 평가, 이러한 기능에 직접 구축된 새로운 휴리스틱으로 품질을 향상합니다.