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-bison | SaaS 전용 Ultimate 티어 | Experiment |
GitLab Duo Chat | 대화형 방식으로 텍스트와 코드를 처리하고 생성합니다. 이슈, 에픽, 코드, GitLab 문서에서 대량의 텍스트 가운데 유용한 정보를 빠르게 확인하도록 지원합니다. | Anthropic의 Claude 모델textembedding-gecko | SaaS 전용 Ultimate 티어 | Experiment |
Value stream forecasting (가치 흐름 예측) | 소프트웨어 개발 라이프사이클 전반에 걸쳐 생산성 메트릭을 예측하고, 이상 징후를 확인하도록 돕습니다. | 통계적 예측 | SaaS와 자체 관리형 Ultimate 티어 | Experiment |
Discussion summary (토론 요약) | 모두가 긴 대화 내용을 빠르게 파악하도록 도와 이들이 같은 내용을 이해하도록 지 원합니다. | text-bison | SaaS 전용 Ultimate 티어 | Experiment |
Merge Request summary (MR 요약) | Merge Request 변경 사항 영향을 효율적으로 전달합니다. | text-bison | SaaS 전용 Ultimate 티어 | Experiment |
Code review summary (코드 리뷰 요약) | 작성자와 리뷰어 간에 Merge Request를 쉽게 전달하고, 리뷰어가 제안을 효율적으로 이해하도록 지원합니다. | text-bison | SaaS 전용 Ultimate 티어 | Experiment |
Merge Request template population (MR 템플릿 채우기) | 템플릿 내용에 기반해 Merge Request 설명을 생성합니다. | text-bison | SaaS 전용 Ultimate 티어 | Experiment |
Test generation (테스트 생성) | 반복 작업을 자동화하고, 버그를 조기에 발견하도록 지원합니다. | text-bison | SaaS 전용 Ultimate 전용 | Experiment |
Git suggestions (Git 제안) | 필요할 때 Git 명령을 검색하거나 불러오도록 지원합니다. | Google Vertex Codey API | SaaS 전용 Ultimate 티어 | Experiment |
Root cause analysis (근본 원인 분석) | 파이프라인 실패와 CI/CD 빌드 실패의 근본 원인을 파악하도록 지원합니다. | Google Vertex Codey API | SaaS 전용 Ultimate 티어 | Experiment |
Issue description generation (이슈 설명 생성) | 이슈 설명을 생성합니다. | OpenAI의 GPT-3 | SaaS 전용 Ultimate 티어 | Experiment |
AI/ML 기능 활성화하기
- 서드 파티 AI 기능
- Google, Anthropic 또는 OpenAI의 대규모 언어 모델(LLM)에 구축된 모든 기능(코드 제안 제외)을 사용하려면 이 설정을 그룹 수준에서 활성화해야 합니다.
- Generally Available(GA) 기능은 서드 파티 AI 기능이 활성화될 때 이용할 수 있습니다.
- 서드 파티 AI 기능은 기본으로 활성화됩니다.
- 이 설정은 SaaS의 Ultimate 그룹에서 이용할 수 있고, 이는 그룹에서 Owner 권한이 있는 사용자가 설정할 수 있습니다.
- 이 설정을 활성화하는 방법을 확인하세요.
- 실험 기능과 베타 기능
- 실험 기능 또는 베타 기능으로 분류된 모든 기능(코드 제안 제외)을 사용하려면 이 설정을 그룹 수준에서 활성화해야 합니다. 이는 서드 파티 AI 기능 설정에 추가됩니다.
- 이 기능을 사용하는 건 테스트 이용 약관을 적용받습니다.
- 실험 기능과 베타 기능은 기본으로 비활성화됩니다.
- 이 설정은 SaaS의 Ultimate 그룹에서 이용할 수 있고, 이는 그룹에서 Owner 권한이 있는 사용자가 설정할 수 있습니다.
- 이 설정을 활성화하는 방법을 확인하세요.
- 코드 제안
- 자체 관리형에서 활성화하는 방법을 확인하세요.
- SaaS에서 활성화하는 방법을 확인하세요.
실험 AI 기능과 사용 방법
다음 하위 섹션에서는 실험 AI 기능을 더 자세하게 설명합니다.
Code explanation으로 웹 UI에서 코드 설명하기
(Ultimate, SaaS)
이 기능은 GitLab 15.11에 GitLab.com의 실험 기능으로 도입됐습니다.
이 기능을 사용하려면
- 프로젝트의 상위 그룹은
- 서드 파티 AI 기능 설정을 활성화해야 합니다.
- 실험 기능과 베타 기능 설정을 활성화해야 합니다.
- 사용자는 리포지터리를 보는 충분한 권한이 있는 프로젝트 멤버여야 합니다.
GitLab은 다음 상황에서 사용자가 속도를 더 빠르게 높이도록 지원합니다.
- 다른 사람이 만든 코드 조각을 이해하려고 애쓰는 데 많은 시간을 보내거나,
- 익숙하지 않은 언어로 작성된 코드를 이해하는 데 어려움을 겪을 때
대규모 언어 모델을 사용해, GitLab은 코드를 자연어 로 설명할 수 있습니다.
코드를 설명하기 위해:
- 왼쪽 사이드바의 상단에서 Search or go to 아이콘을 클릭해 프로젝트를 찾습니다.
- 프로젝트에서 코드를 포함한 파일을 선택합니다.
- 파일에서 설명하려는 라인을 선택합니다.
- 왼쪽 사이드바에서, 물음표를 선택합니다. 선택된 코드를 보려면 해당 코드의 첫 줄까지 스크롤 해야 합니다. 그러면 선택된 코드가 프롬프트와 함께 대규모 언어 모델에 설명을 제공하기 위해 전송됩니다.
- 드로어(Drawer)가 페이지 오른쪽에 표시됩니다. 설명이 생성될 때까지 잠시 기다립니다.
- 설명에 대한 만족도를 피드백해 주세요. 그러면 GitLab이 결과를 개선할 수 있습니다.
Merge request의 컨텍스트에서 코드를 설명하도록 할 수 있습니다. Merge request에서 코드를 설명하려면:
- 왼쪽 사이드바의 상단에서 Search or go to 아이콘을 클릭해 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Code > Merge requests를 클릭한 다음, Merge request를 선택합니다.
- 보조 메뉴에서 Changes를 클릭합니다.
- 설명하려는 파일에서 점 세 개(⋮)를 클릭하고, View File @ $SHA를 선택합니다. 별도 브라우저 탭이 열리고 최신 변경 사항을 포함한 전체 파일이 표시됩니다.
- 새 탭에서 설명하려는 라인을 선택합니다.
- 왼쪽에서 물음표를 선택합니다. 선택된 코드를 보려면 해당 코드의 첫 줄까지 스크롤 해야 합니다. 그러면 선택된 코드가 프롬프트와 함께 대규모 언어 모델에 설명을 제공하기 위해 전송됩니다.
- 드로어(Drawer)가 페이지 오른쪽에 표시됩니다. 설명이 생성될 때까지 잠시 기다립니다.
- 설명에 대한 만족도를 피드백해 주세요. 그러면 GitLab이 결과를 개선할 수 있습니다.
대규모 언어 모델이 정확한 결과를 생성한다고 보장할 수 없습니다. 설명을 신중하게 사용하세요.
Discussion summary로 이슈 토론 요약하기
(Ultimate, SaaS)
이 기능을 사용하려면
- 이슈 상위 그룹은
- 서드 파티 AI 기능 설정을 활성화해야 합니다.
- 실험 기능과 베타 기능 설정을 활성화해야 합니다.
- 사용자는 이슈를 보는 충분한 권한이 있는 프로젝트 멤버여야 합니다.
이슈 토론 요약을 생성하려면:
- 이슈에서, Activity 섹션으로 스크롤 합니다.
- View summary를 선택합니다.
이슈의 코멘트는 최대 10개 목록 항목으로 요약됩니다. 이 요약은 사용자에게만 표시됩니다.
issue 407779에 이 실험 기능을 피드백해 주세요.
데이터 사용량: 이 기능을 사용할 때, 이슈의 공개 코멘트 텍스트가 위에서 참조한 대규모 언어 모델로 전송됩니다.
Value stream forecasting으로 배포 빈도 예측하기
(Ultimate)
이 기능은 GitLab 16.2에 실험 기능으로 도입됐습니다.
이 기능을 사용하려면
- 프로젝트 상위 그룹은
- 서드 파티 AI 기능 설정을 활성화해야 합니다.
- 실험 기능과 베타 기능 설정을 활성화해야 합니다.
- 사용자는 CI/CD 분석을 보는 충분한 권한이 있는 프로젝트 멤버여야 합니다.
CI/CD Analytics에서, 배포 빈도 예측을 볼 수 있습니다.
- 왼쪽 사이드바 상단에서 Search or go to 아이콘을 클릭해 프로젝트를 찾습니다.
- Analyze > CI/CD analytics를 선택합니다.
- Deployment frequency 탭을 선택합니다.
- Show forecast 토글을 켭니다.
- confirmation dialog에서 Accept testing terms를 선택합니다.
이 예측은 차트에서 점선으로 표시됩니다. 데이터는 선택한 날짜 범위의 절반 기간에 해당하는 예측 결과를 보여줍니다. 예를 들어, 30일 범위를 선택하면 다음 15일의 예측 결과가 표시됩니다.
issue 416833에 이 실험 기능을 피드백해 주세요.
근본 원인 분석하기(Root cause analysis)
(Ultimate, SaaS)
이 기능을 사용하려면
- 프로젝트 상위 그룹은
- 서드 파티 AI 기능 설정을 활성화해야 합니다.
- 실험 기능과 베타 기능 설정을 활성화해야 합니다.
- 사용자는 CI/CD job을 보는 충분한 권한이 있는 프로젝트 멤버여야 합니다.
이 기능을 사용할 수 있을 때, 실패한 CI/CD job에 "Root cause analysis" 버튼이 나타납니다. 이 버튼을 클릭하면 실패 원인과 관련된 분석이 생성됩니다.
Issue description generation으로 이슈 요약하기
(Ultimate, SaaS)
이 기능을 사용하려면
- 프로젝트의 상위 그룹은
- 서드 파티 AI 기능 설정을 활성화해야 합니다.
- 실험 기능과 베타 기능 설정을 활성화해야 합니다.
- 사용자는 이슈를 보는 충분한 권한이 있는 프로젝트 멤버여야 합니다.
이슈 설명을 짧은 요약에서 생성할 수 있습니다.
- 새 이슈를 만듭니다.
- Description 영역 위에, AI actions > Generate issue description을 선택합니다.
- 간략한 설명을 쓰고, 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 모델 평가, 이러한 기능에 직접 구축된 새로운 휴리스틱으로 품질을 향상합니다.
⚠️ 사전 동의 없이 2차 가공 및 영리적인 이용을 금하며, 온·오프라인에 무단 전재 또는 유포할 수 없습니다.