GitLab Duo Chat

Tier: Premium, Ultimate Offering: GitLab.com, Self-Managed, GitLab Dedicated
  • 도입됨 : SaaS용 실험으로 GitLab 16.0에서.
  • SaaS용으로 GitLab 16.6에서 베타로 변경됨.
  • Self-Managed용으로 GitLab 16.8에서 베타로 도입됨.
  • 베타 상태에서 GitLab 16.9에서 Ultimate에서 Premium으로 전환되었습니다 GitLab 16.9에서.
  • GitLab 16.11에서 일반 사용 가능로 변경됨.
  • Ultimate 및 Premium 사용자에게 일정 기간 무료로 제공됩니다.

GitLab Duo Chat은 개인용 AI 기반 어시스턴트로 프로덕션성을 향상시키는 데 도움을 줍니다. AI로 생성된 콘텐츠로 일상 업무의 다양한 작업을 지원할 수 있습니다.

일정 기간 동안 다음 사용자들은 GitLab Duo Chat에 무료 액세스할 수 있습니다:

  • 최소한 하나의 Premium 또는 Ultimate 구독 그룹의 구성원인 GitLab.com 사용자.
  • Premium 또는 Ultimate 구독 Self-Managed GitLab 사용자.
  • GitLab Dedicated 사용자.

결국 구독 애드온이 필요하게 될 것입니다. 저렴한 GitLab Duo Chat 지속 액세스에 대해 자세히 알아보세요. Duo Pro 및 Duo Enterprise 가격 책정.

다음은 일반적인 사용 사례의 예시입니다:

기능 사용 사례 예시 라이선스 요구 사항 지원되는 인터페이스 지원되는 배포
GitLab에 관해 질문하기 GitLab에서 이슈를 생성하는 방법을 알고 싶습니다. Duo Pro 또는 Duo Enterprise GitLab, VS Code, JetBrains IDEs, 및 Web IDE GitLab.com
코드에 관해 질문하기 이 코드가 어떻게 작동하는지 이해하고 싶습니다. Duo Pro 또는 Duo Enterprise GitLab, VS Code, JetBrains IDEs, 및 Web IDE GitLab.com, Self-Managed, 및 GitLab Dedicated
CI/CD에 관해 질문하기 새로운 CI/CD 파이프라인 구성을 만들고 싶습니다. Duo Pro 또는 Duo Enterprise GitLab, VS Code, JetBrains IDEs, 및 Web IDE GitLab.com, Self-Managed, 및 GitLab Dedicated
IDE에서 코드 설명 이 코드가 어떻게 작동하는지 이해하고 싶습니다. Duo Pro 또는 Duo Enterprise VS Code, JetBrains IDEs, 및 Web IDE GitLab.com, Self-Managed, 및 GitLab Dedicated
IDE에서 코드 리팩터링 이 코드를 리팩터링하고 싶습니다. Duo Pro 또는 Duo Enterprise VS Code, JetBrains IDEs, 및 Web IDE GitLab.com, Self-Managed, 및 GitLab Dedicated
IDE에서 테스트 작성 이 코드에 대해 테스트를 작성하고 싶습니다. Duo Pro 또는 Duo Enterprise VS Code, JetBrains IDEs, 및 Web IDE GitLab.com, Self-Managed, 및 GitLab Dedicated
특정 이슈에 대해 질문하기 이 이슈를 요약하고 싶습니다. Duo Enterprise GitLab, VS Code, JetBrains IDEs, 및 Web IDE GitLab.com, Self-Managed, 및 GitLab Dedicated
특정 에픽에 대해 질문하기 이 에픽을 요약하고 싶습니다. Duo Enterprise GitLab, VS Code, JetBrains IDEs, 및 Web IDE GitLab.com, Self-Managed, 및 GitLab Dedicated

데모 시청 및 팁 얻기

GitLab Duo Chat를 AI 기반 DevSecOps 워크플로에 통합하는 팁 및 트릭에 대해 자세히 알아보려면 AI 기반 GitLab Duo Chat 사용의 10가지 최상의 실천 방법 블로그 게시물을 읽어보세요.

GitLab Duo Chat가 도와줄 수 있는 것

GitLab Duo Chat는 다양한 영역에서 도움을 줄 수 있습니다.

GitLab에 관해 질문하기

  • SaaS용으로 GitLab 16.0에서 도입됨.

GitLab이 어떻게 작동하는지에 대해 질문할 수 있습니다. 다음과 같은 것들을 포함합니다:

  • '포크'의 개념을 간결하게 설명해주세요.
  • 사용자의 비밀번호를 재설정하는 방법에 대한 단계별 지침을 제공해주세요.
note
현재 이 기능은 Self-Managed 인스턴스에서 지원되지 않습니다. 자세한 정보는 이슈 451215를 참조하십시오.

코드에 관해 질문하기

  • SaaS용으로 GitLab 16.1에서 도입됨.
  • Self-Managed에서 GitLab 16.8에서 도입됨.

또한, GitLab Duo Chat에게 코드를 생성하도록 요청할 수 있습니다:

  • 'Hello, World!'를 호출할 때 'Hello, World!'를 출력하는 루비 함수를 작성해주세요.
  • 2명의 플레이어가 착수시마다 틱택토 게임을 모방하는 JavaScript 프로그램을 개발해주세요. 필요한 경우 게임 로직과 사용자 인터페이스를 제공해주세요.
  • Python에서 IPv4 및 IPv6 주소를 구문 분석하기 위한 정규 표현식을 생성해주세요.
  • 자바로 syslog 로그 파일을 구문 분석하는 코드를 생성해주세요. 가능한 경우 정규 표현식을 사용하고 결과를 해시 맵에 저장해주세요.
  • C++에서 스레드 및 공유 메모리를 사용하는 프로덕션자 소비자 예제를 작성해주세요. 가능한 경우 원자적 락을 사용해주세요.
  • 고성능 gRPC 호출을 위한 Rust 코드를 생성해주세요. 서버 및 클라이언트에 대한 소스 코드 예제를 제공해주세요.

또한, GitLab Duo Chat에게 코드를 설명하도록 요청할 수 있습니다:

  • 주어진 루비 코드에 대해 명확한 설명을 제공해주세요: def sum(a, b) a + b end. 이 코드가 하는 일과 작동 방식에 대해 설명해주세요.

또는, 선택한 코드를 설명하기 위해 /explain 명령을 사용할 수 있습니다.

더 많은 실용적인 예시는 GitLab Duo 예제를 참조하십시오.

CI/CD에 관해 질문하기

  • SaaS용으로 GitLab 16.7에서 도입됨.
  • Self-Managed에서 GitLab 16.8에서 도입됨.

GitLab Duo Chat에게 CI/CD 구성을 생성하도록 요청할 수 있습니다:

  • Ruby on Rails 애플리케이션을 테스트하고 빌드하기 위한 .gitlab-ci.yml 구성 파일을 작성해주세요.
  • 파이썬 애플리케이션을 빌드하고 검사하기 위한 CI/CD 구성 작성해주세요.
  • Rust 코드 빌드 및 테스트를 위한 CI/CD 구성 작성해주세요.
  • C++을 위한 CI/CD 구성 작성. 컴파일러로 gcc 및 빌드 도구로 cmake을 사용해주세요.
  • VueJS를 위한 CI/CD 구성 작성. npm을 사용하고 SAST 보안 스캔을 추가해주세요.
  • Java용으로 최적화된 보안 스캔 파이프라인 구성 생성해주세요.

또한, 특정 작업 오류를 설명하도록 지정하기 위해 오류 메시지를 복사하여 “<언어>의 맥락에서 이 CI/CD 작업 오류 메시지를 설명해주세요:"로 접두어를 달고 요청할 수 있습니다:언어>

  • Please explain this CI/CD job error message, in the context of a Go project: build.sh: line 14: go command not found

또는, CI/CD의 원인 분석을 사용할 수 있습니다.

더 많은 실용적인 예시는 GitLab Duo 예제를 참조하십시오.

IDE에서 코드 설명

  • GitLab 16.7에서 SaaS용으로 도입되었습니다.
  • GitLab 16.8에서 Self-Managed용으로 도입되었습니다.
note
이 기능은 VS Code, JetBrains IDE 및 Web IDE에서만 사용할 수 있습니다.

/explain은 편집기에서 선택한 코드를 설명하는 특수 명령입니다. 예를 들어 /explain the performance과 같이 고려해야 할 추가 지침을 추가할 수 있습니다. 더 많은 정보는 VS Code에서 GitLab Duo Chat 사용을 참조하세요.

  • /explain 알고리즘에 집중
  • /explain 이 코드를 사용하여 성능 향상 또는 저하
  • /explain 객체 상속 (클래스, 객체지향)
  • /explain 정적 변수를 여기서 사용하는 이유 (C++)
  • /explain 이 함수가 분할 오류를 일으키는 방식 (C)
  • /explain이 문맥에서 동시성이 작동하는 방식 (Go)
  • /explain 요청이 클라이언트에 도달하는 방식 (REST API, 데이터베이스)

실제 예시에 대해서는 GitLab Duo 예시를 참조하세요.

IDE에서 코드 리팩터링

  • GitLab 16.7에서 SaaS용으로 도입되었습니다.
  • GitLab 16.8에서 Self-Managed용으로 도입되었습니다.
note
이 기능은 VS Code, JetBrains IDE 및 Web IDE에서만 사용할 수 있습니다.

/refactor은 편집기에서 선택한 코드에 대한 리팩터링 제안을 생성하는 특수 명령입니다. 고려해야 할 추가 지침을 포함할 수 있습니다. 예를 들어:

  • 특정 코딩 패턴 사용, 예: /refactor with ActiveRecord 또는 /refactor into a class providing static functions.
  • 특정 라이브러리 사용, 예: /refactor using mysql.
  • 특정 함수/알고리즘 사용, 예: C++에서 /refactor into a stringstream with multiple lines.
  • 다른 프로그래밍 언어로 리팩터링, 예: /refactor to TypeScript.
  • 성능에 초점을 맞추기, 예: /refactor 성능 향상.
  • 잠재적인 취약점에 초점을 맞추기, 예: /refactor 메모리 누수 및 악용 피하기.

더 많은 정보는 VS Code에서 GitLab Duo Chat 사용을 참조하세요.

실제 예시에 대해서는 GitLab Duo 예시를 참조하세요.

IDE에서 테스트 작성

  • GitLab 16.7에서 SaaS용으로 도입되었습니다.
  • GitLab 16.8에서 Self-Managed용으로 도입되었습니다.
note
이 기능은 VS Code, JetBrains IDE 및 Web IDE에서만 사용할 수 있습니다.

/tests은 편집기에서 선택한 코드에 대한 테스트 제안을 생성하는 특수 명령입니다. 예를 들어 /tests using the Boost.Test framework과 같이 고려해야 할 추가 지침을 추가할 수 있습니다. 더 많은 정보는 VS Code에서 GitLab Duo Chat 사용을 참조하세요.

  • 특정 테스트 프레임워크 사용, 예: C++에서 /tests using the Boost.test framework 또는 JavaScript에서 /tests using Jest.
  • 극단적인 테스트 케이스에 초점 맞추기, 예: /tests 극단적인 경우에 집중, 강제 회귀 테스트.
  • 성능에 초점 맞추기, 예: /tests 성능에 초점을 맞추기.
  • 회귀 및 잠재적인 악용에 초점 맞추기, 예: /tests 회귀 및 잠재적인 악용에 초점을 맞추기.

실제 예시에 대해서는 GitLab Duo 예시를 참조하세요.

특정 이슈에 대해 문의

  • GitLab 16.0에서 SaaS용으로 도입되었습니다.
  • GitLab 16.8에서 Self-Managed용으로 도입되었습니다.

특정 GitLab 이슈에 대해 문의할 수 있습니다. 예를 들어:

  • 이 링크를 통해 확인된 이슈에 대한 요약 생성
  • GitLab에서 이슈를 보고 있는 경우, 현재 이슈에 대한 간결한 요약 생성
  • <이슈에 대한 링크>의 설명을 향상시키는 방법은?
note
이슈에 대한 긴 텍스트(40,000단어 이상)가 포함된 경우, GitLab Duo Chat이 모든 단어를 고려하지 못할 수 있습니다. AI 모델은 한 번에 처리할 수 있는 입력량에 제한이 있습니다.

이슈 및 이픽스에서 GitLab Duo Chat을 통해 프로덕션성을 향상시킬 수 있는 팁에 대해서는 GitLab Duo Chat으로 프로덕션성 향상시키기를 참조하세요.

특정 이픽에 대해 문의

  • GitLab 16.3에서 SaaS용으로 도입되었습니다.
  • GitLab 16.8에서 Self-Managed용으로 도입되었습니다.

특정 GitLab 이픽에 대해 문의할 수 있습니다. 예를 들어:

  • 이 링크를 통해 확인된 이픽에 대한 요약 생성
  • GitLab에서 이픽을 보고 있는 경우, 개설된 이픽에 대한 간결한 요약 생성
  • <이픽에 대한 링크>에 대한 의견에서 제기된 고유한 사용 사례는 무엇인가?
note
이픽에 대한 긴 텍스트(40,000단어 이상)가 포함된 경우, GitLab Duo Chat이 모든 단어를 고려하지 못할 수 있습니다. AI 모델은 한 번에 처리할 수 있는 입력량에 제한이 있습니다.

오류에 대한 문의

소스 코드를 컴파일하는 것이 필요한 프로그래밍 언어는 암호화된 오류 메시지를 던질 수 있습니다. 마찬가지로 스크립트나 웹 응용 프로그램은 스택 트레이스를 던질 수 있습니다. 예를 들어, 프로그래밍 언어와 같은 특정 컨텍스트로 복사한 오류 메시지에 접두어를 붙여 GitLab Duo Chat에 문의할 수 있습니다.

  • Java에서 이 오류 메시지를 설명하십시오: Int and system cannot be resolved to a type
  • 이 C 함수가 분할 오류를 일으키는 경우를 설명하십시오: sqlite3_prepare_v2()
  • Python에서 이러한 오류가 발생하는 원인을 설명하십시오: ValueError: invalid literal for int()
  • “this”가 VueJS에서 정의되지 않는 이유는 무엇입니까? 일반적인 오류 사례를 제공하고 피하는 방법을 설명하십시오.
  • Ruby on Rails 스택 트레이스를 디버깅하는 방법은 무엇입니까? 일반적인 전략과 예외 사례를 공유해주십시오.

실제 예시에 대해서는 GitLab Duo 예시를 참조하세요.

후속 질문하기

해당 주제나 작업에 대해 더 자세하고 정확한 응답을 얻기 위해 후속 질문을 할 수 있습니다. 이는 명확화, 설명 또는 추가 지원이 필요한 경우에 도움이 됩니다.

예를 들어 루비 함수를 호출하고 실행하는 방법에 대해서도 설명해주실 수 있나요?

또는 C# 프로젝트를 시작하는 방법에 대해 설명해주실 수 있나요?

실제 예시에 대해서는 GitLab Duo 예시를 참조하세요.

지원되는 편집기 확장 기능

Chat을 사용하려면 다음 중 하나의 편집기 확장 기능을 사용합니다.

IDE Extension
VS Code VS Code GitLab Workflow extension
GitLab WebIDE (VS Code in the Cloud) 구성 필요 없음.
JetBrains IDEs GitLab Duo Plugin for JetBrains

Visual Studio 지원은 최신 개발 중입니다. 다른 IDE 확장 지원에 흥미를 표현하려면 이 문제에 관심을 표현할 수 있습니다.

GitLab UI에서 GitLab Duo Chat 사용하기

  1. 오른쪽 상단에서 GitLab Duo Chat을 선택합니다. 화면 오른쪽에 쪽지함이 열립니다.
  2. 대화 입력란에 질문을 입력한 후 Enter를 누르거나 Send를 선택합니다. 대화형 AI 채팅이 답변을 생성하는 데 몇 초가 걸릴 수 있습니다.
  3. 선택 사항. 후속 질문을 할 수 있습니다.

이전 대화와 관련 없는 새 질문을 하려면 /reset을 입력하고 Send를 선택하여 컨텍스트를 지우면 더 나은 답변을 받을 수 있습니다.

note
채팅 기록은 최대 50개의 메시지만 보존됩니다. 마지막 사용 후 3일이 지나면 채팅 기록이 만료됩니다.

모든 대화 삭제하기

이전 대화를 모두 삭제하려면 다음을 수행합니다.

  • 텍스트 상자에 /clear를 입력하고 Send를 선택합니다.

Web IDE에서 GitLab Duo Chat 사용하기

  • GitLab 16.6에서 실험으로 소개됨.
  • GitLab 16.11에서 일반 사용 가능으로 변경됨.

GitLab의 Web IDE에서 GitLab Duo Chat을 사용하려면 다음을 수행합니다:

  1. Web IDE를 엽니다.
    1. GitLab UI에서 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
    2. 파일을 선택한 후, 오른쪽 상단에서 편집 > Web IDE에서 열기를 선택합니다.
  2. 그런 다음 다음 방법 중 하나를 사용하여 채팅을 엽니다:
    • 왼쪽 사이드바에서 GitLab Duo Chat을 선택합니다.
    • 편집기에서 파일을 열면 코드를 선택합니다.
      1. 마우스 오른쪽 버튼을 클릭한 후 GitLab Duo Chat을 선택합니다.
      2. 선택한 코드 설명, 테스트 생성 또는 리팩터를 선택합니다.
    • 키보드 단축키 사용: ALT+d(Windows 및 Linux) 또는 Option+d(Mac)
  3. 메시지 상자에 질문을 입력한 후 Enter를 누르거나 Send를 선택합니다.

편집기에서 코드를 선택한 경우, 이 선택이 함께 AI에게 질문으로 보내집니다. 이렇게 하면 이 코드에 대한 질문을 할 수 있습니다. 예를 들어, 이것을 간단하게 할 수 있을까요?.

note
자체 호스팅된 Web IDE의 GitLab Duo Chat은 사용할 수 없습니다.

컨텍스트 메뉴에서 이용 가능한 IDE의 표준 작업 수행하기 또는 슬래시 명령을 사용하기

코드를 설명하거나 리팩터링하거나 코드에 대해 테스트를 생성합니다.

  1. VS Code 또는 Web IDE에서 편집기에서 코드를 선택합니다.
  2. Chat 상자에 다음 중 하나의 슬래시 명령을 입력합니다:

또는 컨텍스트 메뉴를 사용하여 이러한 작업을 수행합니다.

슬래시 명령을 사용할 때 추가 지침을 추가할 수도 있습니다. 예를 들어, /tests using the Boost.Test framework와 같이 추가 지침을 추가할 수 있습니다.

VS Code에서 GitLab Duo Chat 사용하기

  • GitLab 16.6에서 실험으로 소개됨.
  • GitLab 16.11에서 일반 사용 가능으로 변경됨.

VS Code용 GitLab Workflow 확장에서 GitLab Duo Chat을 사용하려면 다음을 수행합니다:

  1. VS Code에 Workflow 확장을 설치하고 설정합니다:
    1. VS Code에서 GitLab Workflow 확장을 다운로드 및 설치합니다.
    2. GitLab Workflow 확장 구성을 수행합니다.
  2. VS Code에서 파일을 엽니다. 해당 파일은 Git 리포지터리의 파일이 아니여도 됩니다.
  3. 그런 다음 다음 방법 중 하나를 사용하여 채팅을 엽니다:
    • 왼쪽 사이드바에서 GitLab Duo Chat을 선택합니다.
    • 편집기에서 파일을 열면 코드를 선택합니다.
      1. 마우스 오른쪽 버튼을 클릭한 후 GitLab Duo Chat을 선택합니다.
      2. 선택한 코드 설명 또는 테스트 생성을 선택합니다.
    • 키보드 단축키 사용: ALT+d(Windows 및 Linux) 또는 Option+d(Mac)
  4. 메시지 상자에 질문을 입력한 후 Enter를 누르거나 Send를 선택합니다.

편집기에서 코드를 선택한 경우, 이 선택이 함께 AI에게 질문으로 보내집니다. 이렇게 하면 이 코드에 대한 질문을 할 수 있습니다. 예를 들어, 이것을 간단하게 할 수 있을까요?.

컨텍스트 메뉴에서 이용 가능한 IDE의 표준 작업 수행하기 또는 슬래시 명령을 사용하기

코드를 설명하거나 리팩터링하거나 코드에 대해 테스트를 생성합니다. 다음을 수행합니다:

  1. VS Code, JetBrains IDE 또는 Web IDE의 편집기에서 코드를 선택합니다.
  2. Chat 상자에 다음 중 하나의 슬래시 명령을 입력합니다:

또는 이러한 작업을 수행하기 위해 컨텍스트 메뉴를 사용합니다.

슬래시 명령을 사용할 때 추가로 고려해야 할 지침을 추가할 수 있습니다. 예를 들어, /tests using the Boost.Test framework와 같이 추가 지침을 추가할 수 있습니다.

JetBrains IDEs에서 GitLab Duo Chat 사용하기

  • GitLab 16.11에서 일반 사용 가능으로 변경됨.

JetBrains IDE용 GitLab Duo 플러그인에서 GitLab Duo Chat을 사용하려면 다음을 수행합니다:

  1. JetBrains marketplace에서 GitLab Duo 플러그인을 다운로드 및 설치합니다.
    1. GitLab Duo 플러그인을 구성합니다.
  2. JetBrains IDE에서 프로젝트를 엽니다.
  3. 다음 방법 중 하나를 사용하여 채팅을 엽니다:
    • 오른쪽 도구 창 표시줄에서 GitLab Duo Chat을 선택합니다.
    • 키보드 단축키 사용: ALT + d(Windows 및 Linux) 또는 Option + d(macOS).
    • 편집기에서 파일을 열면:
      1. 선택 사항. 코드를 선택합니다.
      2. 마우스 오른쪽 버튼을 클릭한 후 GitLab Duo Chat을 선택합니다.
      3. 채팅 창 열기를 선택합니다.
      4. 코드 설명, 테스트 생성 또는 코드 리팩터링을 선택합니다.
    • 설정Keymap에서 각 작업에 대한 키보드 또는 마우스 단축키 추가하기.
  4. 메시지 상자에 질문을 입력한 후 Enter를 누르거나 Send를 선택합니다.

피드백 제공

귀하의 피드백은 지속적으로 향상되는 GitLab Duo Chat 경험에 중요합니다. 피드백을 남기면 당사가 귀하의 요구에 맞게 채팅을 맞춤화하고 모든 사용자의 성능을 향상시킬 수 있습니다.

특정 응답에 대한 피드백을 제공하려면 응답 메시지의 피드백 버튼을 사용하십시오. 또는 피드백 이슈에 댓글을 추가할 수도 있습니다.