- GitLab에 대해 문의하기
- 특정 문제에 대해 문의하기
- 특정 에픽에 대해 질문하기
- 특정 병합 요청에 대해 질문하기
- 선택한 코드 설명하기
- 코드에 대해 질문하거나 생성하기
- 후속 질문하기
- 오류에 대해 질문하기
- IDE에서 코드 리팩토링
- IDE에서 코드 수정
- IDE에서 테스트 작성하기
- CI/CD에 대한 문의
- 실패한 CI/CD 작업을 루트 원인 분석으로 문제 해결하기
- 취약성 설명하기
- 대화 삭제 또는 재설정하기
- 지원되는 슬래시 명령어
GitLab Duo Chat에 문의하기
GitLab Duo Chat은 다양한 질문에 도움을 줄 수 있습니다. 다음 예시는 GitLab Duo Chat이 가장 유용할 수 있는 영역을 나타냅니다.
추가적인 실제 예시는 GitLab Duo 사용 사례를 참조하세요.
GitLab에 대해 문의하기
GitLab Dedicated: GitLab Duo Pro 또는 Enterprise.
Offering: GitLab.com, Self-managed, GitLab Dedicated
Editors: GitLab UI, Web IDE, VS Code 및 JetBrains IDEs
LLMs: Anthropic Claude 3.5 Sonnet, Vertex AI Search
- Introduced for GitLab.com in GitLab 16.0.
-
Introduced ability to ask doc-related questions on self-managed in GitLab 17.0 with a flag named
ai_gateway_docs_search. Enabled by default. - Generally available and feature flag removed in GitLab 17.1.
GitLab에 대해 작동 방식에 대해 질문할 수 있습니다. 예를 들어:
사본(fork)의 개념을 간결하게 설명해 주세요.사용자의 비밀번호를 재설정하는 방법에 대한 단계별 안내를 제공해 주세요.
GitLab Duo Chat은 GitLab 문서를 소스로 사용합니다. Chat이 문서와 지속적으로 업데이트되도록 하기 위해, 지식 기반은 매일 업데이트됩니다.
- GitLab.com에서는 최신 버전의 문서가 사용됩니다.
- Self-managed 및 GitLab Dedicated에서는 인스턴스 버전의 문서가 사용됩니다.
특정 문제에 대해 문의하기
GitLab Dedicated: GitLab Duo Enterprise.
Offering: GitLab.com, Self-managed, GitLab Dedicated
Editors: GitLab UI, Web IDE, VS Code 및 JetBrains IDEs
LLM: Anthropic Claude 3 Haiku
- Introduced for GitLab.com in GitLab 16.0.
- Introduced for self-managed and GitLab Dedicated in GitLab 16.8.
특정 GitLab 문제에 대해 질문할 수 있습니다. 예를 들어:
이 링크에서 확인된 문제의 요약을 생성하세요: <link to your issue>- GitLab에서 문제를 보고 있을 때,
현재 문제에 대한 간결한 요약을 생성하세요.라고 질문할 수 있습니다. <link to your issue>의 설명을 개선하여 독자가 해결할 가치와 문제를 이해할 수 있도록 하려면 어떻게 해야 합니까?
GitLab Duo Chat이 문제 및 에픽과 함께 생산성을 향상시키는 방법에 대한 팁은 GitLab Duo Chat으로 생산성 향상을 참조하세요.
특정 에픽에 대해 질문하기
GitLab Dedicated: GitLab Duo Enterprise.
Offering: GitLab.com, Self-managed, GitLab Dedicated
Editors: GitLab UI, Web IDE, VS Code, JetBrains IDEs
LLM: Anthropic Claude 3 Haiku
- Introduced for GitLab.com in GitLab 16.3.
- Introduced for self-managed and GitLab Dedicated in GitLab 16.8.
특정 GitLab 에픽에 대해 질문할 수 있습니다. 예를 들어:
Generate a summary for the epic identified via this link: <link to your epic>- GitLab에서 에픽을 보고 있을 때,
Generate a concise summary of the opened epic.이라고 질문할 수 있습니다. -
<link to your epic>에서 댓글 작성자가 제기한 고유한 사용 사례는 무엇인가요?
특정 병합 요청에 대해 질문하기
GitLab Dedicated: GitLab Duo Enterprise.
Offering: GitLab.com, Self-managed, GitLab Dedicated
Editors: GitLab UI
LLM: Anthropic Claude 3.5 Sonnet
- Introduced in GitLab 17.5.
보고 있는 병합 요청에 대해 GitLab에 질문할 수 있습니다. 다음과 같은 것에 대해 질문할 수 있습니다:
- 제목 또는 설명.
- 댓글 및 스레드.
- Changes 탭의 내용.
- 레이블, 소스 브랜치, 작성자, 마일스톤 등과 같은 메타데이터.
병합 요청을 열고 Chat을 열어 질문을 입력하세요. 예:
.vue 파일이 변경된 이유는 무엇인가요?리뷰어들이 이 병합 요청에 대해 무엇이라고 말하나요?이 병합 요청을 어떻게 개선할 수 있나요?어떤 파일과 변경 사항을 먼저 검토해야 하나요?
Chat은 파이프라인이나 커밋에 대해 알지 못합니다. 그러나 root cause analysis를 사용하여 파이프라인의 작업을 문제 해결할 수 있습니다.
선택한 코드 설명하기
GitLab Dedicated: GitLab Duo Pro 또는 Enterprise.
Offering: GitLab.com, Self-managed, GitLab Dedicated
Editors: GitLab UI, Web IDE, VS Code, JetBrains IDEs
LLM: Anthropic Claude 3.5 Sonnet
- Introduced for GitLab.com in GitLab 16.7.
- Introduced for self-managed and GitLab Dedicated in GitLab 16.8.
GitLab Duo Chat에 선택한 코드를 설명하도록 요청할 수 있습니다:
추가 지침을 추가해서 고려될 수 있습니다. 예:
/explain the performance/explain focus on the algorithm/explain the performance gains or losses using this code-
/explain the object inheritance(클래스, 객체 지향) -
/explain why a static variable is used here(C++) -
/explain how this function would cause a segmentation fault(C) -
/explain how concurrency works in this context(Go) -
/explain how the request reaches the client(REST API, 데이터베이스)
자세한 내용은 VS Code에서 GitLab Duo Chat 사용하기를 참조하세요.
GitLab UI에서 코드는 다음에서도 설명할 수 있습니다:
코드에 대해 질문하거나 생성하기
GitLab Dedicated: GitLab Duo Pro 또는 Enterprise.
Offering: GitLab.com, Self-managed, GitLab Dedicated
Editors: GitLab UI, Web IDE, VS Code, JetBrains IDEs
LLM: Anthropic Claude 3.5 Sonnet
코드에 대해 질문하려면 그 코드를 Duo Chat 창에 붙여넣기만 하면 됩니다. 예를 들어:
이 Ruby 코드에 대한 명확한 설명을 제공하세요: def sum(a, b) a + b end.
이 코드가 무엇을 하는지 및 어떻게 작동하는지 설명하세요.
코드 생성을 요청할 수도 있습니다. 예를 들어:
호출될 때 'Hello, World!'를 출력하는 Ruby 함수를 작성하세요.두 플레이어 Tic-Tac-Toe 게임을 시뮬레이션하는 JavaScript 프로그램을 개발하세요. 게임 로직과 사용자 인터페이스를 제공하세요.Python에서 IPv4 및 IPv6 주소를 파싱하는 정규 표현식을 작성하세요.Java에서 syslog 로그 파일을 파싱하는 코드를 생성하세요. 가능한 경우 정규 표현식을 사용하고 결과를 해시맵에 저장하세요.C++에서 스레드와 공유 메모리를 사용하는 생산자-소비자 예제를 만드세요. 가능한 경우 원자 잠금을 사용하세요.높은 성능의 gRPC 호출을 위한 Rust 코드를 생성하세요. 서버와 클라이언트에 대한 소스 코드 예제를 제공하세요.
후속 질문하기
주제나 작업에 대해 더 깊이 파고들기 위해 후속 질문을 할 수 있습니다.
이것은 더 자세하고 정확한 응답을 얻는 데 도움을 주며, 추가 설명, 정교함 또는 추가 지원이 필요할 때 유용합니다.
질문 호출될 때 'Hello, World!'를 출력하는 Ruby 함수를 작성하세요.의 후속 질문은 다음과 같을 수 있습니다:
이 Ruby 함수를 일반적인 Ruby 환경(예: 커맨드 라인)에서 호출하고 실행하는 방법도 설명해 주실 수 있나요?
질문 C# 프로젝트를 시작하는 방법은?의 후속 질문은 다음과 같을 수 있습니다:
C#에 대한 .gitignore 및 .gitlab-ci.yml 파일을 추가하는 방법도 설명해 주실 수 있나요?
오류에 대해 질문하기
소스 코드를 컴파일해야 하는 프로그래밍 언어는 이해하기 어려운 오류 메시지를 나타낼 수 있습니다. 마찬가지로, 스크립트나 웹 애플리케이션도 스택 트레이스를 표시할 수 있습니다. GitLab Duo Chat에 다음과 같이 복사한 오류 메시지를 접두사로 추가하여 질문할 수 있습니다: 이 오류 메시지를 설명해 주세요:. 특정 컨텍스트(프로그래밍 언어 등)를 추가하세요.
Java에서 이 오류 메시지를 설명하세요: Int와 system은 타입으로 확인할 수 없습니다.이 C 함수가 세그멘테이션 오류를 일으킬 수 있는 경우를 설명하세요: sqlite3_prepare_v2()이 오류를 발생시킬 수 있는 요인을 설명하세요: Python에서 ValueError: invalid literal for int()VueJS에서 "this"가 정의되지 않는 이유는 무엇인가요? 일반적인 오류 사례를 제공하고 이를 피하는 방법을 설명하세요.Ruby on Rails 스택트레이스를 디버깅하는 방법은? 일반적인 전략과 예외를 공유하세요.
IDE에서 코드 리팩토링
Offering: GitLab.com, Self-managed, GitLab Dedicated
Editors: Web IDE, VS Code, JetBrains IDEs
LLM: Anthropic Claude 3.5 Sonnet
GitLab Duo Chat에 선택한 코드를 리팩토링 해달라고 요청할 수 있습니다:
- IDE에서 코드를 선택합니다.
- Duo Chat에
/refactor를 입력합니다.
고려할 추가 지침을 포함할 수 있습니다. 예:
- 특정 코딩 패턴 사용, 예:
/refactor with ActiveRecord또는/refactor into a class providing static functions. - 특정 라이브러리 사용, 예:
/refactor using mysql. - 특정 함수/알고리즘 사용, 예:
/refactor into a stringstream with multiple linesin C++. - 다른 프로그래밍 언어로 리팩토링, 예:
/refactor to TypeScript. - 성능에 집중, 예:
/refactor improving performance. - 잠재적인 취약점에 집중, 예:
/refactor avoiding memory leaks and exploits.
IDE에서 코드 수정
Offering: GitLab.com, Self-managed, GitLab Dedicated
Editors: Web IDE, VS Code, JetBrains IDEs
LLM: Anthropic Claude 3.5 Sonnet
- 도입됨 for GitLab.com, self-managed and GitLab Dedicated in GitLab 17.3.
GitLab Duo Chat에 선택한 코드를 수정해달라고 요청할 수 있습니다:
- IDE에서 코드를 선택합니다.
- Duo Chat에
/fix를 입력합니다.
고려할 추가 지침을 포함할 수 있습니다. 예:
- 문법 및 오타에 집중, 예:
/fix grammar mistakes and typos. - 구체적인 알고리즘 또는 문제 설명에 집중, 예:
/fix duplicate database inserts또는/fix race conditions. - 직접적으로 보이지 않는 잠재적 버그에 집중, 예:
/fix potential bugs. - 코드 성능 문제에 집중, 예:
/fix performance problems. - 코드가 컴파일되지 않을 경우 빌드 수정, 예:
/fix the build.
IDE에서 테스트 작성하기
GitLab Dedicated: GitLab Duo Pro 또는 Enterprise.
Offering: GitLab.com, Self-managed, GitLab Dedicated
Editors: Web IDE, VS Code, JetBrains IDEs
LLM: Anthropic Claude 3.5 Sonnet
- GitLab.com에 도입됨 - GitLab 16.7에서.
- Self-managed 및 GitLab Dedicated에 도입됨 - GitLab 16.8에서.
선택한 코드에 대해 테스트를 생성하도록 GitLab Duo Chat에 요청할 수 있습니다:
- IDE에서 코드를 선택합니다.
- Duo Chat에서
/tests를 입력합니다.
추가 지침을 포함할 수 있습니다. 예를 들어:
- 특정 테스트 프레임워크를 사용, 예:
/tests using the Boost.test framework(C++) 또는/tests using Jest(JavaScript). - 극단적인 테스트 사례에 집중, 예:
/tests focus on extreme cases, force regression testing. - 성능에 집중, 예:
/tests focus on performance. - 회귀 및 잠재적 취약점에 집중, 예:
/tests focus on regressions and potential exploits.
자세한 내용은 VS Code에서 GitLab Duo Chat 사용을 참조하세요.
CI/CD에 대한 문의
GitLab Dedicated: GitLab Duo Pro 또는 Enterprise.
Offering: GitLab.com, Self-managed, GitLab Dedicated
Editors: GitLab UI, Web IDE, VS Code, JetBrains IDEs
LLM: Anthropic Claude 3.5 Sonnet
- GitLab.com에 도입됨 - GitLab 16.7에서.
- Self-managed 및 GitLab Dedicated에 도입됨 - GitLab 16.8에서.
- LLM 업데이트 - GitLab 17.2에서 Claude 2.1에서 Claude 3 Sonnet으로.
- LLM 업데이트 - GitLab 17.2에서 Claude 3 Sonnet에서 Claude 3.5 Sonnet으로.
GitLab Duo Chat에 CI/CD 구성을 생성하도록 요청할 수 있습니다:
Ruby on Rails 애플리케이션을 위한 테스트 및 빌드를 위한 .gitlab-ci.yml 구성 파일 생성.Python 애플리케이션을 위한 빌드 및 린팅용 CI/CD 구성 생성.Rust 코드를 빌드하고 테스트하기 위한 CI/CD 구성 생성.C++를 위한 CI/CD 구성 생성. gcc를 컴파일러로 사용하고, cmake를 빌드 도구로 사용.VueJS를 위한 CI/CD 구성 생성. npm을 사용하고, SAST 보안 스캔 추가.Java에 최적화된 보안 스캔 파이프라인 구성 생성.
또한, 특정 작업 오류에 대해 설명하도록 요청할 수 있습니다. 오류 메시지를 복사하여 붙여넣고 Please explain this CI/CD job error message, in the context of <language>:를 접두어로 붙입니다:
Please explain this CI/CD job error message in the context of a Go project: build.sh: line 14: go command not found
또는 GitLab Duo Root Cause Analysis를 사용하여 CI/CD 작업 실패 문제 해결을 할 수 있습니다.
실패한 CI/CD 작업을 루트 원인 분석으로 문제 해결하기
GitLab Dedicated: GitLab Duo Enterprise.
Offering: GitLab.com, Self-managed, GitLab Dedicated
Editors: GitLab UI
LLM: Anthropic Claude 3.5 Sonnet
- GitLab 16.2에서 실험으로 도입됨.
- GitLab 17.3에서 일반적으로 사용 가능하며 GitLab Duo Chat으로 이동되었습니다.
GitLab Duo Chat에 요청하여 로그를 분석하여 CI/CD 작업 실패의 루트 원인을 확인할 수 있습니다.
Prerequisites:
- CI/CD 작업을 볼 수 있는 권한이 있어야 합니다.
- 유료 GitLab Duo Enterprise 자리가 있어야 합니다.
실패한 CI/CD 작업을 문제 해결하려면:
- 왼쪽 사이드바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- Build > Jobs를 선택합니다.
- 실패한 CI/CD 작업을 선택합니다.
-
작업 로그 페이지에서 아래 중 하나를 수행합니다:
- 작업 로그 아래에서 Troubleshoot을 선택합니다.
- GitLab Duo Chat을 열고
/troubleshoot를 입력합니다.
실패 원인 분석 및 수정 예가 표시됩니다.
취약성 설명하기
GitLab Dedicated: GitLab Duo Enterprise.
Offering: GitLab.com, Self-managed, GitLab Dedicated
Editors: GitLab UI
LLM: Anthropic Claude 3 Haiku
SAST 취약성 보고서를 보고 있을 때 GitLab Duo Chat에 취약성을 설명해 달라고 요청할 수 있습니다.
자세한 정보는 취약성 설명하기를 참조하세요.
대화 삭제 또는 재설정하기
모든 대화를 영구적으로 삭제하고 채팅 창을 지우려면:
- 텍스트 상자에
/clear를 입력하고 Send를 선택합니다.
이전 대화를 채팅 창에 표시하되 새 대화를 시작하려면:
- 텍스트 상자에
/reset를 입력하고 Send를 선택합니다.
두 경우 모두 새로운 질문을 할 때 대화 기록이 고려되지 않습니다.
삭제하거나 재설정하면 Duo Chat이 관련 없는 대화에 혼란스러워하지 않기 때문에 맥락을 전환할 때 답변 품질이 향상될 수 있습니다.
지원되는 슬래시 명령어
Duo Chat에는 각 명령어 앞에 슬래시(/)가 붙은 지원되는 명령어 목록이 있습니다.
다음 명령어를 사용하여 특정 작업을 신속하게 수행할 수 있습니다.
| Command | Purpose |
|---|---|
| /clear | 모든 대화를 영구적으로 삭제하고 채팅 창을 지우기 |
| /reset | 새로운 대화를 시작하되 이전 대화를 채팅 창에 표시하기 |
| /tests | 테스트 작성하기 |
| /explain | 코드 설명하기 |
| /vulnerability_explain | 현재 취약성 설명하기 |
| /refactor | 코드 리팩터링하기 |
| /troubleshoot | 실패한 CI/CD 작업을 루트 원인 분석으로 문제 해결하기 |
| /fix | 코드 수정하기 |
| /help | Duo Chat 작동 방식에 대해 더 알아보기. |

도움말