GitLab AI/ML 기능 소개
GitLab은 DevSecOps 플랫폼 전반에 걸쳐 AI 기반 기능을 개발하고 있습니다. 이러한 기능은 소프트웨어 개발 라이프사이클 전반에서 속도를 높이고, 주요 문제점을 해결하도록 돕는 게 목표입니다.
AI/ML 기능 활성화하기
이 기능은 GitLab 16.0에 도입돼 활발히 배포되고 있습니다.
전제 조건:
- 사용자는 그룹에 Owner 권한이 있어야 합니다.
최상위 그룹에 AI/ML 기능을 활성화하려면:
- 실험 기능을 활성화합니다.
- 서드 파티 AI 기능을 활성화합니다(기본으로 활성화됨). 서드 파티 API로 실행되는 AI 기능을 비활성화하려면 이 설정을 해제합니다.
이러한 설정은 함께 작동하므로 실험, 서드 파티 AI 기능을 모두 사용할 수 있습니다.
GA(Generally Available) AI 기능
기능을 일반적으로 이용할 수 있을(Generally Available) 때, 실험 기능을 활성화할 필요가 없습니다. 이러한 기능 중 일부는 서드 파티 AI 기능을 활성화해야 할 수 있습니다.
다음 기능은 일반적으로 이용할 수 있습니다.
베타 AI 기능
베타 기능을 사용하려면 실험 기능을 활성화할 필요가 없습니다.
다음 기능은 베타 버전입니다.
실험 AI 기능
실험 AI 기능을 사용하려면 실험 기능과 서드 파티 AI 서비스를 활성화해야 합니다.
다음 기능은 실험 기능입니다.
- Merge request 템플릿 채우기
- Merge request 변경 사항 요약하기
- 내 Merge request 리뷰 요약하기
- merge 또는 squash 커밋 메시지 추천
- Merge request에서 추천 테스트 생성하기
이 페이지에서 설명한 나머지 기능도 실험 단계입니다.
웹 UI에서 선택된 코드 설명하기
(Ultimate, SaaS)
이 기능은 GitLab 15.11에 GitLab.com의 실험 기능으로 도입됐습니다.
이 AI 기능은 GitLab.com의 실험 기능으로, Google의 Code Chat용 Codey(codechat-bison)로 실행됩니다.
GitLab은 다음 상황에서 사용자가 속도를 더 빠르게 높이도록 지원합니다.
- 다른 사람이 만든 코드 조각을 이해하려고 애쓰는 데 많은 시간을 보내거나,
- 익숙하지 않은 언어로 작성된 코드를 이해하는 데 어려움을 겪을 때
대규모 언어 모델을 사용해, GitLab은 코드를 자연어로 설명할 수 있습니다.
전제 조건:
위 두 가지 사항 외에 추가 전제 조건이 있습니다.
- 프로젝트는 GitLab.com에 있어야 합니다.
- GitLab Ultimate 구독 티어가 있어야 합니다.
- 리포지터리를 보는 충분한 권한이 있는 프로젝트의 멤버여야 합니다.
코드를 설명하기 위해:
- 왼쪽 사이드바의 상단에서 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이 결과를 개선할 수 있습니다.

대규모 언어 모델이 정확한 결과를 생성한다고 보장할 수 없습니다. 설명을 신중하게 사용하세요.
GitLab Duo Chat
(Ultimate, SaaS)
이 기능은 GitLab 16.0에 실험 기능으로 도입됐습니다.
이 기능은 GitLab.com의 실험 기능입니다. 이 기능을 사용하려면 그룹 수준의 서드 파티 AI 기능 설정을 활성화해야 합니다.
GitLab Duo Chat은 Anthropic’s Claude-2.0과 Claude-instant-1.1 대규모 언어 모델, OpenAI의 text-embedding-ada-002 임베딩으로 실행됩니다. 대규모 언어 모델은 사용자 질문을 분석해 사용자 프로젝트에서 적절한 컨텍스트 데이터를 모으고, 답변을 생성하는 데 쓰입니다. 때에 따라서는, 임베딩이 사용자 질문을 임베드하고, GitLab 문서에서 관련 내용을 찾아 대규모 언어 모델과 공유해 답변을 생성하는 데 사용됩니다.
GitLab Duo Chat에서 다음 주제에 대한 AI 생성 지원을 받을 수 있습니다.
- GitLab 사용 방법
- 이슈에 대한 질문
- 이슈 요약하기
다음 질문을 할 수 있습니다.
What is a fork?
(fork가 무엇인가요?)How to reset my password
(비밀번호를 재설정하는 방법)Summarize the issue <link to your issue>
(이슈 요약하기 <링크 연결>)Summarize the description of the current issue
(현재 이슈 설명 요약하기)
위 사례는 모두 이슈나 GitLab 문서 데이터를 사용합니다. 그러나 코드, CI/CD 구성을 생성하거나 코드를 설명하도록 요청할 수도 있습니다. 예를 들어:
Write a hello world function in Ruby
(Ruby로 hello world 함수를 작성해 줘)Write a tic tac toe game in JavaScript
(JavaScript로 틱택토 게임을 작성해 줘)Write a .gitlab-ci.yml file to test and build a rails application
(Rails 애플리케이션을 테스트하고 빌드하도록 .gitlab-ci/yml 파일을 작성해 줘)Explain the following code: def sum(a, b) a + b end
(다음 코드를 설명해 줘: def sum(a, b) a + b end)
후속 질문도 할 수 있습니다.
이 기능은 실험 기능이며, 우리는 채팅 기능과 신뢰성을 계속 확대하고 있습니다.
- 왼쪽 하단 코너에서, Help 아이콘을 선택합니다. 새로운 왼쪽 사이드바는 활성화돼야 합니다.
- Ask in GitLab Duo Chat을 선택합니다. 드로어(Drawer)는 화면 오른쪽에서 열립니다.
- 채팅 입력 상자에 질문을 입력하고, Enter를 누르거나 Send를 선택합니다. 인터랙티브 AI 챗이 답변을 생성하는 데 몇 초 걸릴 수 있습니다.
- 후속 질문을 할 수 있습니다.
- 이전 대화와 관련되지 않은 새로운 질문을 하려면, 입력 상자에
/reset
을 입력하고 Send를 선택해 컨텍스트를 지워야 더 나은 답변을 얻을 수 있습니다.
특정 응답에 피드백을 제공하려면, 응답 메시지에 피드백 버튼을 사용하세요. 또는 피드백 이슈에 코멘트를 추가할 수도 있습니다.
가장 최근 메시지 50개만 채팅 기록에 남습니다. 채팅 기록은 마지막으로 사용한 지 3일 뒤에 만료됩니다.
이슈 토론 요약하기
(Ultimate, SaaS)
이 기능은 GitLab.com의 실험 기능으로, OpenAI의 GPT-3로 실행됩니다. 이 기능을 사용하려면 그룹 수준의 서드 파티 AI 기능 설정을 활성화해야 합니다.
이슈 토론 요약을 생성하려면:
- 이슈에서, Activity 섹션으로 스크롤 합니다.
- View Summary를 선택합니다.
이슈의 코멘트는 최대 10개 목록 항목으로 요약됩니다. 이 요약은 사용자에게만 표시됩니다.
issue 407779에 이 실험 기능을 피드백해 주세요.
데이터 사용량: 이 기능을 사용할 때, 이슈의 공개 코멘트 텍스트가 위에서 참조한 대규모 언어 모델로 전송됩니다.
배포 빈도 예측 보기
(Ultimate, SaaS)
이 기능은 GitLab 16.2에 실험 기능으로 도입됐습니다.
이 기능은 GitLab.com의 실험 기능입니다.
CI/CD Analytics에서, 배포 빈도 예측을 볼 수 있습니다.
- 왼쪽 사이드바 상단에서 Search or go to 아이콘을 선택해 프로젝트를 찾습니다.
- Analyze > CI/CD analytics를 선택합니다.
- Deployment frequency 탭을 선택합니다.
- Show forecast 토글을 켭니다.
- confirmation dialog에서 Accept testing terms를 선택합니다.
이 예측은 차트에서 점선으로 표시됩니다. 데이터는 선택한 날짜 범위의 절반 기간에 해당하는 예측 결과를 보여줍니다. 예를 들어, 30일 범위를 선택하면 다음 15일의 예측 결과가 표시됩니다.
issue 416833에 이 실험 기능을 피드백해 주세요.
이슈 설명 생성하기
(Ultimate, SaaS)
이 기능은 GitLab.com의 실험 기능으로, OpenAI의 GPT-3로 실행됩니다. 이 기능을 사용하려면 그룹 수준의 서드 파티 AI 기능 설정을 활성화해야 합니다.
이슈 설명을 짧은 요약에서 생성할 수 있습니다.
- 새 이슈를 만듭니다.
- Description 영역 위에, AI actions > Generate issue description을 선택합니다.
- 간략한 설명을 쓰고, Submit를 선택합니다.
이슈 설명은 AI가 생성한 텍스트로 대체됩니다.
issue 409844에 이 실험 기능을 피드백해 주세요.
데이터 사용량: 이 기능을 사용할 때, 입력한 텍스트가 위에서 참조한 대규모 언어 모델로 전송됩니다.
데이터 사용량
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차 가공 및 영리적인 이용을 금하며, 온·오프라인에 무단 전재 또는 유포할 수 없습니다.