InfoGrab DocsInfoGrab Docs

GitLab Duo Agentic Chat

요약

GitLab Duo Agentic Chat 은 GitLab Duo Non-Agentic Chat 의 향상된 버전입니다. Non-Agentic Chat 은 단일 컨텍스트를 기반으로 질문에 답변하는 반면, Agentic Chat 은 GitLab 프로젝트 전반의 여러 소스에서 정보를 검색하고 조회하고 결합해 더 철저하고 관련성 높은 답변을 제공합니다.

Model information
히스토리

GitLab Duo Agentic Chat 은 GitLab Duo Non-Agentic Chat 의 향상된 버전입니다. 이 새로운 Chat 은 복잡한 질문에 더 포괄적으로 답변할 수 있도록 사용자를 대신해 자율적으로 작업을 수행할 수 있습니다.

Non-Agentic Chat 은 단일 컨텍스트를 기반으로 질문에 답변하는 반면, Agentic Chat 은 GitLab 프로젝트 전반의 여러 소스에서 정보를 검색하고 조회하고 결합해 더 철저하고 관련성 높은 답변을 제공합니다.

Agentic Chat 은 다음을 수행할 수 있습니다:

  • 키워드 기반 검색(의미론적 검색이 아닙니다)으로 프로젝트를 검색해 관련 이슈, 머지 리퀘스트, 그 밖의 아티팩트를 찾습니다.
  • 파일 경로를 수동으로 지정하지 않고 로컬 프로젝트의 파일에 접근합니다.
  • 여러 위치에서 파일을 생성하고 편집합니다.
  • 이슈, 머지 리퀘스트, CI/CD 파이프라인 같은 리소스를 가져옵니다.
  • 여러 소스를 분석해 완전한 답변을 제공합니다. 외부 데이터 소스와 도구에 연결하려면 Model Context Protocol 을 사용합니다.
  • 사용자가 맞춤 설정한 규칙을 사용해 맞춤형 응답을 제공합니다.
  • GitLab UI 에서 Chat 을 사용할 때 커밋을 생성합니다.

개요는 GitLab Duo Chat (agentic) 을 참고합니다.

이슈 542198에 피드백을 공유합니다.

GitLab Duo Chat 사용#

GitLab Duo Chat 은 다음에서 사용할 수 있습니다:

  • GitLab UI.
  • VS Code.
  • JetBrains IDE.
  • Windows 용 Visual Studio.

GitLab Duo CLI 를 사용하면 터미널에서도 Agentic Chat 을 사용할 수 있습니다.

GitLab UI 에서 GitLab Duo Chat 사용#

히스토리
  • Chat 이 가장 최근 대화를 기억하는 기능이 GitLab 18.4 에서 추가되었습니다.
  • 새 내비게이션과 GitLab Duo 사이드바가 paneled_view 라는 플래그 와 함께 GitLab 18.6 에서 GitLab.com 에 도입되었습니다. 기본적으로 활성화되어 있습니다.
  • 이전 내비게이션 안내가 GitLab 18.7 에서 제거되었습니다.
  • 새 내비게이션과 GitLab Duo 사이드바가 GitLab 18.8 에서 일반 공개되었습니다. 기능 플래그 paneled_view 는 제거되었습니다.
  • 이전 질문을 다시 시도하는 기능이 agentic_manual_retry_for_duo_chat_responses 라는 플래그와 함께 GitLab 19.5에서 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • 이전 질문을 다시 시도하는 기능이 GitLab 19.5에서 일반 공개되었습니다. 기능 플래그 agentic_manual_retry_for_duo_chat_responses는 제거되었습니다.

사전 요구 사항:

GitLab UI 에서 Chat 을 사용하려면 다음을 수행합니다:

  1. 상단 바에서 Search or go to 를 선택하고 프로젝트를 찾습니다.

  2. GitLab Duo 사이드바에서 Add new chat ([pencil-square]) 또는 Current GitLab Duo Chat ([duo-chat]) 을 선택합니다.

    새 채팅을 선택했다면 드롭다운 목록에서 에이전트를 선택합니다.

    화면 오른쪽 GitLab Duo 사이드바에 Chat 대화가 열립니다.

  3. 채팅 텍스트 상자 아래에서 Agentic 토글이 켜져 있는지 확인합니다.

  4. 채팅 텍스트 상자에 질문을 입력하고 Enter 를 누르거나 Send 를 선택합니다.

    • 채팅에 추가 컨텍스트 를 제공할 수 있습니다.
    • 대화형 AI 채팅이 답변을 만들어 내는 데 몇 초가 걸릴 수 있습니다.
  5. 선택 사항. 다음을 수행할 수 있습니다:

    • Retry ([retry])를 선택하여 질문에 대한 다른 답변을 시도합니다. 화살표를 사용해 원래 답변과 다시 시도한 답변 중에서 선택하여 대화를 이어 갑니다.
    • 후속 질문을 합니다.
    • 다른 대화를 시작합니다.

보고 있는 웹 페이지를 새로 고치거나 다른 웹 페이지로 이동해도 Chat 은 가장 최근 대화를 기억하며, 그 대화는 Chat 드로어에서 계속 활성 상태로 남습니다.

파운데이셔널 플로#

히스토리

적절한 경우 다음 파운데이셔널 플로를 Agentic Chat 대화에서 트리거해 질문에 답하거나 목표를 달성할 수 있습니다.

슬래시 명령어로 플로 트리거#

히스토리

GitLab Duo Agentic Chat에서는 슬래시 명령어로 플로를 시작할 수 있습니다. 플로에 구성된 트리거가 없거나, 트리거를 기다리지 않고 직접 플로를 시작하려는 경우에 플로 명령어를 사용합니다.

사전 요구 사항:

Warning

슬래시 명령어로 플로를 트리거하면 해당 플로는 GitLab API와 Git에 대한 쓰기 액세스 권한을 가집니다. 플로는 변경 사항을 커밋하고 푸시할 수 있으며, 이슈와 머지 리퀘스트에 댓글을 게시할 수 있습니다. Chat과 달리 플로는 이러한 작업에 대한 승인을 요청하지 않습니다. 도구 승인은 Chat 세션에만 적용되며, 세션이 시작하는 플로에는 적용되지 않습니다. GitLab UI에서 시작한 플로는 CI/CD 파이프라인으로 실행되므로, 플로를 실행할 때마다 컴퓨팅 분도 사용됩니다.

Chat에서 플로를 트리거하려면 다음과 같이 합니다:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. GitLab Duo 사이드바에서 새 Chat 대화 또는 기존 Chat 대화를 엽니다.
  3. Chat 메시지 상자에서 메시지의 시작 부분에 /를 입력합니다.
  4. Flows 섹션에서 플로를 선택합니다. 명령어는 /flow: 접두사가 붙은 슬러그 형식의 플로 이름입니다. 예를 들어 Security scanner라는 플로는 /flow:security-scanner가 됩니다. 프로젝트의 두 플로 이름이 같은 명령어가 되면 두 번째 명령어에는 숫자 ID가 덧붙습니다.
  5. 선택 사항. 명령어 뒤에 플로의 목표를 입력합니다. 예: /flow:security-scanner check the auth module.
  6. Enter를 누르거나 Send를 선택합니다.

/goal 명령어로 장기 실행 작업 시작#

히스토리
Feature flag

이 기능의 사용 가능 여부는 기능 플래그로 제어됩니다. 자세한 내용은 히스토리를 참고합니다.

한 턴씩 답변하고 계속하라는 요청을 기다리는 대신, GitLab Duo가 작업을 끝낼 때까지 계속 진행하게 하려면 /goal을 사용합니다.

목표를 보내면 Chat은 목표를 향해 작업하는 개발자 플로 세션을 시작합니다. 목표는 실패하는 테스트 묶음을 고치거나 여러 파일에 걸쳐 변경하는 것처럼 끝 상태가 분명한 구체적인 변경에 가장 적합합니다. 질문하려면 일반 Chat 메시지를 사용합니다.

사전 요구 사항:

Warning

목표는 GitLab API와 Git에 대한 쓰기 액세스 권한을 가진 개발자 플로를 실행합니다. 플로는 변경 사항을 커밋하고 푸시하고, 머지 리퀘스트를 만들고, 이슈와 머지 리퀘스트에 댓글을 게시할 수 있습니다. Chat과 달리 플로는 이러한 작업에 대한 승인을 요청하지 않습니다. 도구 승인은 Chat 세션에만 적용되며, 세션이 시작하는 플로에는 적용되지 않습니다. GitLab UI에서 시작한 플로는 CI/CD 파이프라인으로 실행되므로, 목표마다 컴퓨팅 분도 사용됩니다.

장기 실행 작업을 시작하려면 다음과 같이 합니다:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.

  2. GitLab Duo 사이드바에서 새 Chat 대화 또는 기존 Chat 대화를 엽니다.

  3. Chat 메시지 상자에서 다음 중 하나를 수행합니다:

    • 메시지의 시작 부분에 /goal을 입력하고 목록에서 선택합니다.
    • More actions (+) > Goal을 선택합니다.

    메시지 상자에 Goal 레이블이 나타납니다.

  4. 원하는 작업을 설명합니다. 예를 들면 다음과 같습니다:

    Fix the failing tests in spec/models/user_spec.rb
    
  5. Enter를 누르거나 Send를 선택합니다.

대화에서 메시지에 Goal 레이블이 표시됩니다.

메시지를 보내기 전에 목표를 제거하려면 Goal 레이블에서 Remove goal (✗)을 선택합니다.

VS Code 에서 GitLab Duo Chat 사용#

사전 요구 사항:

GitLab Duo Chat 켜기:

  1. VS Code 에서 Settings 편집기를 엽니다:
    • macOS 는 Command+, 를 누릅니다.
    • Windows 또는 Linux 는 Control+, 를 누릅니다.
  2. Extensions > GitLab > GitLab Duo 를 선택합니다.
  3. GitLab › Duo Agent Platform: Enabled 아래에서 Enable GitLab Duo Agent Platform 체크박스를 선택합니다.

그다음 GitLab Duo Chat 을 사용하려면 다음을 수행합니다:

  1. 왼쪽 사이드바에서 GitLab Duo Agent Platform ([duo-agentic-chat]) 을 선택합니다.
  2. Chat 탭을 선택합니다.
  3. 메시지가 표시되면 Refresh page 를 선택합니다.
  4. 메시지 상자에 질문을 입력하고 Enter 를 누르거나 Send 를 선택합니다.

JetBrains IDE 에서 GitLab Duo Chat 사용#

사전 요구 사항:

GitLab Duo Chat 켜기:

  1. JetBrains IDE 에서 Settings > Tools > GitLab Duo 로 이동합니다.
  2. GitLab Duo Agent Platform 아래에서 Enable GitLab Duo Agent Platform 체크박스를 선택합니다.
  3. 메시지가 표시되면 IDE 를 재시작합니다.

그다음 GitLab Duo Chat 을 사용하려면 다음을 수행합니다:

  1. 오른쪽 도구 창 바에서 GitLab Duo Agent Platform ([duo-agentic-chat]) 을 선택합니다.
  2. Chat 탭을 선택합니다.
  3. 메시지 상자에 질문을 입력하고 Enter 를 누르거나 Send 를 선택합니다.

Visual Studio 에서 GitLab Duo Chat 사용#

사전 요구 사항:

GitLab Duo Chat 켜기:

  1. Visual Studio 에서 Tools > Options > GitLab 로 이동합니다.
  2. GitLab 아래에서 General 을 선택합니다.
  3. Enable Agentic Duo Chat 에서 True 를 선택한 다음 OK 를 선택합니다.

그다음 GitLab Duo Chat 을 사용하려면 다음을 수행합니다:

  1. Extensions > GitLab > Open Agentic Chat 을 선택합니다.
  2. 메시지 상자에 질문을 입력하고 Enter 를 누릅니다.

채팅 기록 보기#

히스토리

채팅 기록을 보려면 다음을 수행합니다:

  • GitLab UI 에서는 GitLab Duo 사이드바에서 GitLab Duo Chat history ([history]) 를 선택합니다.

  • IDE 에서는 메시지 상자 오른쪽 위에서 Chat history ([history]) 를 선택합니다.

GitLab UI 에서는 채팅 기록의 모든 대화를 볼 수 있습니다.

IDE 에서는 최근 20개 대화를 볼 수 있습니다. 이슈 1308 에서 이를 변경하자고 제안하고 있습니다.

여러 대화 하기#

히스토리

GitLab Duo Chat 과 동시에 진행하는 대화의 수에는 제한이 없습니다.

대화는 GitLab UI 의 GitLab Duo Chat 과 IDE 사이에서 동기화됩니다.

  1. GitLab UI 또는 IDE 에서 GitLab Duo Chat 을 엽니다.

  2. 질문을 입력하고 Enter 를 누르거나 Send 를 선택합니다.

  3. 새 Chat 대화를 생성합니다:

    • GitLab UI 에서는 다음 중 하나를 수행할 수 있습니다:

      • 특정 에이전트로 새 대화를 생성하려면 다음을 수행합니다:
        1. GitLab Duo 사이드바에서 Add new chat ([pencil-square]) 을 선택합니다.
        2. 드롭다운 목록에서 에이전트를 선택합니다.
      • 기존 대화와 같은 에이전트로 새 대화를 생성하려면 메시지 상자에 /new 를 입력하고 Enter 를 누르거나 Send 를 선택합니다.

      새 Chat 대화가 기존 대화를 대체합니다.

    • Chat 텍스트 상자 아래에서 Agentic 토글이 켜져 있는지 확인합니다.

    • IDE 에서는 메시지 상자 오른쪽 위에서 New chat (+) 을 선택합니다.

  4. 질문을 입력하고 Enter 를 누르거나 Send 를 선택합니다.

  5. 모든 대화를 보려면 채팅 기록을 확인합니다.

  6. 대화 사이를 전환하려면 채팅 기록에서 해당 대화를 선택합니다.

  7. 채팅 기록에서 특정 대화를 검색하려면 다음을 수행합니다:

    • GitLab UI: Search for a thread 텍스트 상자에 검색어를 입력합니다.
    • IDE: Search chats 텍스트 상자에 검색어를 입력합니다.

LLM 컨텍스트 창 한도 때문에 각 대화는 200,000 토큰 (약 800,000자)으로 잘립니다.

대화 삭제#

히스토리
  1. GitLab UI 또는 IDE 에서 채팅 기록을 선택합니다.
  2. 기록에서 Delete this chat ([remove]) 을 선택합니다.

개별 대화는 30일 동안 활동이 없으면 만료되어 자동으로 삭제됩니다.

로컬 환경에서 GitLab Duo Chat 사용자 정의#

코딩 스타일, 팀 관행, 프로젝트 요구 사항을 반영한 지침을 제공해 로컬 환경에서 GitLab Duo Chat 이 동작하는 방식을 사용자 정의합니다.

GitLab Duo Chat 은 두 가지 방식을 지원합니다:

  • chat-rules.md 의 커스텀 규칙: GitLab 전용입니다. 개인 취향과 팀 표준에 가장 적합합니다.
  • AGENTS.md 의 공유 규칙: GitLab 과 AGENTS.md 명세를 지원하는 다른 AI 도구용입니다. 프로젝트 컨텍스트, 모노레포 구성, 디렉터리별 관례에 가장 적합합니다.

두 파일을 동시에 사용할 수 있습니다. GitLab Duo Chat 은 사용할 수 있는 모든 규칙 파일의 지침을 적용합니다.

GitLab Duo 사용자 정의 방법을 자세히 알아봅니다.

모델 선택#

히스토리

GitLab UI, VS Code, JetBrains IDE 에서 Chat 을 사용할 때는 대화에 사용할 모델을 선택할 수 있습니다.

채팅 기록에서 이전 채팅을 열어 그 대화를 이어 가면 Chat 은 이전에 선택한 모델을 사용합니다.

기존 대화에서 새 모델을 선택하면 Chat 은 새로 선택한 모델로 현재 대화를 이어 갑니다.

사전 요구 사항:

모델을 선택하려면 다음을 수행합니다:

  • GitLab UI 에서는 다음을 수행합니다:
    1. 채팅 텍스트 상자 아래에서 Agentic 토글이 켜져 있는지 확인합니다.
    2. 드롭다운 목록에서 모델을 선택합니다.
  • IDE 에서는 다음을 수행합니다:
    1. 사이드바에서 GitLab Duo Agent Platform ([duo-agentic-chat]) 을 선택합니다.
    2. Chat 탭을 선택합니다.
    3. 드롭다운 목록에서 모델을 선택합니다.

에이전트 선택#

히스토리

GitLab UI, VS Code, JetBrains IDE 의 프로젝트에서 Chat 을 사용할 때는 Chat 이 사용할 특정 에이전트를 선택할 수 있습니다.

사전 요구 사항:

에이전트를 선택하려면 다음을 수행합니다:

  1. GitLab UI 또는 IDE 에서 GitLab Duo Chat 에 새 대화를 엽니다.
  2. GitLab UI 에서는 Chat 텍스트 상자 아래에서 Agentic 토글이 켜져 있는지 확인합니다.
  3. 드롭다운 목록에서 에이전트를 선택합니다. 에이전트를 설정하지 않았다면 드롭다운 목록이 없고 Chat 은 기본 GitLab Duo 에이전트를 사용합니다.
  4. 질문을 입력하고 Enter 를 누르거나 Send 를 선택합니다.

에이전트로 대화를 생성한 뒤에는 다음이 적용됩니다:

  • 대화는 선택한 에이전트를 기억합니다. 그 대화에는 다른 에이전트를 선택할 수 없습니다.
  • 채팅 기록으로 같은 대화로 돌아가면 같은 에이전트를 사용합니다.
  • 대화로 돌아갔을 때 연결된 에이전트를 더 이상 사용할 수 없으면 그 대화를 이어 갈 수 없습니다.

프롬프트 캐싱#

히스토리
  • GitLab 18.7 에서 도입되었습니다.

프롬프트 캐싱은 기본적으로 활성화되어 있고, 선택한 Agentic Chat 모델이 Anthropic 모델이거나 Vertex 를 통해 제공되는 Anthropic 모델일 때만 동작합니다.

프롬프트 캐싱이 활성화되어 있으면 채팅 프롬프트 데이터가 모델 공급업체의 메모리에 일시적으로 저장됩니다.

프롬프트 캐싱은 캐시된 프롬프트와 입력 데이터의 재처리를 피해 지연 시간을 크게 개선합니다.

프롬프트 캐싱을 끌 수 있습니다:

  • GitLab.com 에서는 최상위 그룹 단위로 끕니다.
  • GitLab Self-Managed 에서는 인스턴스 단위로 끕니다.

이 설정은 모든 GitLab Duo Agent Platform 기능에 적용됩니다.

도구 승인#

히스토리

Agentic Chat 이 사용자를 대신해 도구를 사용하기 전에 사용자의 승인이 필요합니다. 기본적으로 도구를 호출할 때마다 승인이 필요합니다.

도구를 신뢰하고 워크플로를 간소화하려면 세션 전체에 대해 한 번만 승인할 수도 있습니다.

세션 승인은 Chat 에만 적용되고 플로에는 적용되지 않습니다.

도구 승인 관리#

Owner 와 관리자는 사용자가 세션 단위로 도구를 승인할 수 있는지를 제어할 수 있습니다. 설정은 인스턴스에서 그룹, 프로젝트로 단계적으로 적용됩니다.

그룹 또는 인스턴스에 다음 옵션 중 하나를 구성합니다:

  • On by default: 사용자가 세션 단위로 도구를 한 번 승인할 수 있습니다. 그룹과 하위 그룹은 이 설정을 끌 수 있습니다.
  • Off by default: (기본값) 사용자가 도구 호출마다 승인해야 합니다. 그룹과 하위 그룹은 이 설정을 켤 수 있습니다.
  • Always off: 사용자가 세션 단위로 도구를 승인할 수 없습니다. 그룹과 하위 그룹은 이 설정을 재정의할 수 없습니다.

기본 설정 관리#

인스턴스 또는 최상위 그룹의 기본 도구 승인 설정을 구성합니다.

사전 요구 사항:

  • 최상위 그룹의 Owner 권한.

기본 도구 승인 설정을 구성하려면 다음을 수행합니다:

  1. 상단 바에서 Search or go to 를 선택하고 그룹을 찾습니다.
  2. Settings > GitLab Duo 를 선택합니다.
  3. Tool approval for session 드롭다운 목록에서 원하는 옵션을 선택합니다.

사전 요구 사항:

  • 관리자 접근 권한.

기본 도구 승인 설정을 구성하려면 다음을 수행합니다:

  1. 오른쪽 위에서 Admin 을 선택합니다.
  2. GitLab Duo 를 선택합니다.
  3. Tool approval for session 드롭다운 목록에서 원하는 옵션을 선택합니다.

사전 요구 사항:

  • 관리자 접근 권한.

기본 도구 승인 설정을 구성하려면 다음을 수행합니다:

  1. 오른쪽 위에서 Admin 을 선택합니다.
  2. GitLab Duo 를 선택합니다.
  3. Tool approval for session 드롭다운 목록에서 원하는 옵션을 선택합니다.

그룹 또는 프로젝트 설정 관리#

특정 그룹 또는 프로젝트의 도구 승인 설정을 구성합니다.

사전 요구 사항:

  • 그룹의 Owner 권한 또는 프로젝트의 Maintainer 권한.

도구 승인 설정을 구성하려면 다음을 수행합니다:

  1. 상단 바에서 Search or go to 를 선택하고 그룹 또는 프로젝트를 찾습니다.
  2. Settings > GitLab Duo 를 선택합니다.
  3. 그룹은 Tool approval for session 드롭다운 목록에서 원하는 옵션을 선택합니다.
  4. 프로젝트는 Allow tool approval for session 체크박스를 선택하거나 선택 해제합니다.

로컬 환경에서 도구 승인#

사전 요구 사항:

현재 세션에서 도구를 승인하거나 거부하려면 다음을 수행합니다:

  1. 도구 승인 프롬프트가 나타나면 승인 버튼 옆의 드롭다운을 선택합니다.
  2. 다음 옵션 중 하나를 선택합니다:
    • Approve: Chat 이 이 인수로 도구를 한 번 사용할 수 있습니다.
    • Approve for session: Chat 이 세션이 끝날 때까지 이 인수로 도구를 사용할 수 있습니다. 인수가 다르면 추가 승인이 필요합니다.
    • Deny: Chat 이 도구를 사용할 수 없습니다.

새 대화를 시작하면 모든 승인이 초기화됩니다.

Chat 기능 비교#

기능 GitLab Duo Non-Agentic Chat GitLab Duo Agentic Chat
일반 프로그래밍 질문하기 예 예
에디터에서 열려 있는 파일에 대한 답변 받기 예 예. 질문에 파일 경로를 제공합니다.
지정한 파일에 대한 컨텍스트 제공 예. /include 를 사용해 대화에 파일을 추가합니다.1 예. 질문에 파일 경로를 제공합니다.
프로젝트 내용 자율 검색 아니요 예
자율적으로 파일 생성 및 변경 아니요 예. 파일을 변경하도록 요청합니다. 수동으로 변경했고 아직 커밋하지 않은 내용을 덮어쓸 수 있습니다.
ID 를 지정하지 않고 이슈와 MR 가져오기 아니요 예. 다른 기준으로 검색합니다. 예를 들어 MR 이나 이슈의 제목 또는 담당자입니다.
여러 소스의 정보 결합 아니요 예
파이프라인 로그 분석 예. GitLab Duo Enterprise 애드온이 필요합니다. 예
대화 재시작 예. /new 또는 /reset 을 사용합니다. 예. /new 를 사용하고, UI 에서는 /reset 도 사용합니다.
대화 삭제 예, 채팅 기록에서 삭제합니다. 예, 채팅 기록에서 삭제합니다
이슈와 MR 생성 아니요 예
Git 읽기 전용 명령 사용 아니요 예
Git 쓰기 명령 사용 아니요 예, UI 전용
셸 명령 실행 아니요 예, IDE 전용
MCP 도구 실행 아니요 예, IDE 전용
세션 단위 도구 승인 아니요 예, IDE 전용

관련 주제#

Footnotes

  1. Web IDE 에서 GitLab Duo Non-Agentic Chat 을 사용할 때는 사용할 수 없습니다. ↩

GitLab Duo Agentic Chat

GitLab v19.5
Tier: [Free](../../subscriptions/gitlab_credits.md#for-the-free-tier), Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed
원문 보기

요약

GitLab Duo Agentic Chat 은 GitLab Duo Non-Agentic Chat 의 향상된 버전입니다. Non-Agentic Chat 은 단일 컨텍스트를 기반으로 질문에 답변하는 반면, Agentic Chat 은 GitLab 프로젝트 전반의 여러 소스에서 정보를 검색하고 조회하고 결합해 더 철저하고 관련성 높은 답변을 제공합니다.

Model information
히스토리

GitLab Duo Agentic Chat 은 GitLab Duo Non-Agentic Chat 의 향상된 버전입니다. 이 새로운 Chat 은 복잡한 질문에 더 포괄적으로 답변할 수 있도록 사용자를 대신해 자율적으로 작업을 수행할 수 있습니다.

Non-Agentic Chat 은 단일 컨텍스트를 기반으로 질문에 답변하는 반면, Agentic Chat 은 GitLab 프로젝트 전반의 여러 소스에서 정보를 검색하고 조회하고 결합해 더 철저하고 관련성 높은 답변을 제공합니다.

Agentic Chat 은 다음을 수행할 수 있습니다:

  • 키워드 기반 검색(의미론적 검색이 아닙니다)으로 프로젝트를 검색해 관련 이슈, 머지 리퀘스트, 그 밖의 아티팩트를 찾습니다.
  • 파일 경로를 수동으로 지정하지 않고 로컬 프로젝트의 파일에 접근합니다.
  • 여러 위치에서 파일을 생성하고 편집합니다.
  • 이슈, 머지 리퀘스트, CI/CD 파이프라인 같은 리소스를 가져옵니다.
  • 여러 소스를 분석해 완전한 답변을 제공합니다. 외부 데이터 소스와 도구에 연결하려면 Model Context Protocol 을 사용합니다.
  • 사용자가 맞춤 설정한 규칙을 사용해 맞춤형 응답을 제공합니다.
  • GitLab UI 에서 Chat 을 사용할 때 커밋을 생성합니다.

개요는 GitLab Duo Chat (agentic) 을 참고합니다.

이슈 542198에 피드백을 공유합니다.

GitLab Duo Chat 사용#

GitLab Duo Chat 은 다음에서 사용할 수 있습니다:

  • GitLab UI.
  • VS Code.
  • JetBrains IDE.
  • Windows 용 Visual Studio.

GitLab Duo CLI 를 사용하면 터미널에서도 Agentic Chat 을 사용할 수 있습니다.

GitLab UI 에서 GitLab Duo Chat 사용#

히스토리
  • Chat 이 가장 최근 대화를 기억하는 기능이 GitLab 18.4 에서 추가되었습니다.
  • 새 내비게이션과 GitLab Duo 사이드바가 paneled_view 라는 플래그 와 함께 GitLab 18.6 에서 GitLab.com 에 도입되었습니다. 기본적으로 활성화되어 있습니다.
  • 이전 내비게이션 안내가 GitLab 18.7 에서 제거되었습니다.
  • 새 내비게이션과 GitLab Duo 사이드바가 GitLab 18.8 에서 일반 공개되었습니다. 기능 플래그 paneled_view 는 제거되었습니다.
  • 이전 질문을 다시 시도하는 기능이 agentic_manual_retry_for_duo_chat_responses 라는 플래그와 함께 GitLab 19.5에서 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • 이전 질문을 다시 시도하는 기능이 GitLab 19.5에서 일반 공개되었습니다. 기능 플래그 agentic_manual_retry_for_duo_chat_responses는 제거되었습니다.

사전 요구 사항:

GitLab UI 에서 Chat 을 사용하려면 다음을 수행합니다:

  1. 상단 바에서 Search or go to 를 선택하고 프로젝트를 찾습니다.

  2. GitLab Duo 사이드바에서 Add new chat ([pencil-square]) 또는 Current GitLab Duo Chat ([duo-chat]) 을 선택합니다.

    새 채팅을 선택했다면 드롭다운 목록에서 에이전트를 선택합니다.

    화면 오른쪽 GitLab Duo 사이드바에 Chat 대화가 열립니다.

  3. 채팅 텍스트 상자 아래에서 Agentic 토글이 켜져 있는지 확인합니다.

  4. 채팅 텍스트 상자에 질문을 입력하고 Enter 를 누르거나 Send 를 선택합니다.

    • 채팅에 추가 컨텍스트 를 제공할 수 있습니다.
    • 대화형 AI 채팅이 답변을 만들어 내는 데 몇 초가 걸릴 수 있습니다.
  5. 선택 사항. 다음을 수행할 수 있습니다:

    • Retry ([retry])를 선택하여 질문에 대한 다른 답변을 시도합니다. 화살표를 사용해 원래 답변과 다시 시도한 답변 중에서 선택하여 대화를 이어 갑니다.
    • 후속 질문을 합니다.
    • 다른 대화를 시작합니다.

보고 있는 웹 페이지를 새로 고치거나 다른 웹 페이지로 이동해도 Chat 은 가장 최근 대화를 기억하며, 그 대화는 Chat 드로어에서 계속 활성 상태로 남습니다.

파운데이셔널 플로#

히스토리

적절한 경우 다음 파운데이셔널 플로를 Agentic Chat 대화에서 트리거해 질문에 답하거나 목표를 달성할 수 있습니다.

슬래시 명령어로 플로 트리거#

히스토리

GitLab Duo Agentic Chat에서는 슬래시 명령어로 플로를 시작할 수 있습니다. 플로에 구성된 트리거가 없거나, 트리거를 기다리지 않고 직접 플로를 시작하려는 경우에 플로 명령어를 사용합니다.

사전 요구 사항:

Warning

슬래시 명령어로 플로를 트리거하면 해당 플로는 GitLab API와 Git에 대한 쓰기 액세스 권한을 가집니다. 플로는 변경 사항을 커밋하고 푸시할 수 있으며, 이슈와 머지 리퀘스트에 댓글을 게시할 수 있습니다. Chat과 달리 플로는 이러한 작업에 대한 승인을 요청하지 않습니다. 도구 승인은 Chat 세션에만 적용되며, 세션이 시작하는 플로에는 적용되지 않습니다. GitLab UI에서 시작한 플로는 CI/CD 파이프라인으로 실행되므로, 플로를 실행할 때마다 컴퓨팅 분도 사용됩니다.

Chat에서 플로를 트리거하려면 다음과 같이 합니다:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. GitLab Duo 사이드바에서 새 Chat 대화 또는 기존 Chat 대화를 엽니다.
  3. Chat 메시지 상자에서 메시지의 시작 부분에 /를 입력합니다.
  4. Flows 섹션에서 플로를 선택합니다. 명령어는 /flow: 접두사가 붙은 슬러그 형식의 플로 이름입니다. 예를 들어 Security scanner라는 플로는 /flow:security-scanner가 됩니다. 프로젝트의 두 플로 이름이 같은 명령어가 되면 두 번째 명령어에는 숫자 ID가 덧붙습니다.
  5. 선택 사항. 명령어 뒤에 플로의 목표를 입력합니다. 예: /flow:security-scanner check the auth module.
  6. Enter를 누르거나 Send를 선택합니다.

/goal 명령어로 장기 실행 작업 시작#

히스토리
Feature flag

이 기능의 사용 가능 여부는 기능 플래그로 제어됩니다. 자세한 내용은 히스토리를 참고합니다.

한 턴씩 답변하고 계속하라는 요청을 기다리는 대신, GitLab Duo가 작업을 끝낼 때까지 계속 진행하게 하려면 /goal을 사용합니다.

목표를 보내면 Chat은 목표를 향해 작업하는 개발자 플로 세션을 시작합니다. 목표는 실패하는 테스트 묶음을 고치거나 여러 파일에 걸쳐 변경하는 것처럼 끝 상태가 분명한 구체적인 변경에 가장 적합합니다. 질문하려면 일반 Chat 메시지를 사용합니다.

사전 요구 사항:

Warning

목표는 GitLab API와 Git에 대한 쓰기 액세스 권한을 가진 개발자 플로를 실행합니다. 플로는 변경 사항을 커밋하고 푸시하고, 머지 리퀘스트를 만들고, 이슈와 머지 리퀘스트에 댓글을 게시할 수 있습니다. Chat과 달리 플로는 이러한 작업에 대한 승인을 요청하지 않습니다. 도구 승인은 Chat 세션에만 적용되며, 세션이 시작하는 플로에는 적용되지 않습니다. GitLab UI에서 시작한 플로는 CI/CD 파이프라인으로 실행되므로, 목표마다 컴퓨팅 분도 사용됩니다.

장기 실행 작업을 시작하려면 다음과 같이 합니다:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.

  2. GitLab Duo 사이드바에서 새 Chat 대화 또는 기존 Chat 대화를 엽니다.

  3. Chat 메시지 상자에서 다음 중 하나를 수행합니다:

    • 메시지의 시작 부분에 /goal을 입력하고 목록에서 선택합니다.
    • More actions (+) > Goal을 선택합니다.

    메시지 상자에 Goal 레이블이 나타납니다.

  4. 원하는 작업을 설명합니다. 예를 들면 다음과 같습니다:

    Fix the failing tests in spec/models/user_spec.rb
    
  5. Enter를 누르거나 Send를 선택합니다.

대화에서 메시지에 Goal 레이블이 표시됩니다.

메시지를 보내기 전에 목표를 제거하려면 Goal 레이블에서 Remove goal (✗)을 선택합니다.

VS Code 에서 GitLab Duo Chat 사용#

사전 요구 사항:

GitLab Duo Chat 켜기:

  1. VS Code 에서 Settings 편집기를 엽니다:
    • macOS 는 Command+, 를 누릅니다.
    • Windows 또는 Linux 는 Control+, 를 누릅니다.
  2. Extensions > GitLab > GitLab Duo 를 선택합니다.
  3. GitLab › Duo Agent Platform: Enabled 아래에서 Enable GitLab Duo Agent Platform 체크박스를 선택합니다.

그다음 GitLab Duo Chat 을 사용하려면 다음을 수행합니다:

  1. 왼쪽 사이드바에서 GitLab Duo Agent Platform ([duo-agentic-chat]) 을 선택합니다.
  2. Chat 탭을 선택합니다.
  3. 메시지가 표시되면 Refresh page 를 선택합니다.
  4. 메시지 상자에 질문을 입력하고 Enter 를 누르거나 Send 를 선택합니다.

JetBrains IDE 에서 GitLab Duo Chat 사용#

사전 요구 사항:

GitLab Duo Chat 켜기:

  1. JetBrains IDE 에서 Settings > Tools > GitLab Duo 로 이동합니다.
  2. GitLab Duo Agent Platform 아래에서 Enable GitLab Duo Agent Platform 체크박스를 선택합니다.
  3. 메시지가 표시되면 IDE 를 재시작합니다.

그다음 GitLab Duo Chat 을 사용하려면 다음을 수행합니다:

  1. 오른쪽 도구 창 바에서 GitLab Duo Agent Platform ([duo-agentic-chat]) 을 선택합니다.
  2. Chat 탭을 선택합니다.
  3. 메시지 상자에 질문을 입력하고 Enter 를 누르거나 Send 를 선택합니다.

Visual Studio 에서 GitLab Duo Chat 사용#

사전 요구 사항:

GitLab Duo Chat 켜기:

  1. Visual Studio 에서 Tools > Options > GitLab 로 이동합니다.
  2. GitLab 아래에서 General 을 선택합니다.
  3. Enable Agentic Duo Chat 에서 True 를 선택한 다음 OK 를 선택합니다.

그다음 GitLab Duo Chat 을 사용하려면 다음을 수행합니다:

  1. Extensions > GitLab > Open Agentic Chat 을 선택합니다.
  2. 메시지 상자에 질문을 입력하고 Enter 를 누릅니다.

채팅 기록 보기#

히스토리

채팅 기록을 보려면 다음을 수행합니다:

  • GitLab UI 에서는 GitLab Duo 사이드바에서 GitLab Duo Chat history ([history]) 를 선택합니다.

  • IDE 에서는 메시지 상자 오른쪽 위에서 Chat history ([history]) 를 선택합니다.

GitLab UI 에서는 채팅 기록의 모든 대화를 볼 수 있습니다.

IDE 에서는 최근 20개 대화를 볼 수 있습니다. 이슈 1308 에서 이를 변경하자고 제안하고 있습니다.

여러 대화 하기#

히스토리

GitLab Duo Chat 과 동시에 진행하는 대화의 수에는 제한이 없습니다.

대화는 GitLab UI 의 GitLab Duo Chat 과 IDE 사이에서 동기화됩니다.

  1. GitLab UI 또는 IDE 에서 GitLab Duo Chat 을 엽니다.

  2. 질문을 입력하고 Enter 를 누르거나 Send 를 선택합니다.

  3. 새 Chat 대화를 생성합니다:

    • GitLab UI 에서는 다음 중 하나를 수행할 수 있습니다:

      • 특정 에이전트로 새 대화를 생성하려면 다음을 수행합니다:
        1. GitLab Duo 사이드바에서 Add new chat ([pencil-square]) 을 선택합니다.
        2. 드롭다운 목록에서 에이전트를 선택합니다.
      • 기존 대화와 같은 에이전트로 새 대화를 생성하려면 메시지 상자에 /new 를 입력하고 Enter 를 누르거나 Send 를 선택합니다.

      새 Chat 대화가 기존 대화를 대체합니다.

    • Chat 텍스트 상자 아래에서 Agentic 토글이 켜져 있는지 확인합니다.

    • IDE 에서는 메시지 상자 오른쪽 위에서 New chat (+) 을 선택합니다.

  4. 질문을 입력하고 Enter 를 누르거나 Send 를 선택합니다.

  5. 모든 대화를 보려면 채팅 기록을 확인합니다.

  6. 대화 사이를 전환하려면 채팅 기록에서 해당 대화를 선택합니다.

  7. 채팅 기록에서 특정 대화를 검색하려면 다음을 수행합니다:

    • GitLab UI: Search for a thread 텍스트 상자에 검색어를 입력합니다.
    • IDE: Search chats 텍스트 상자에 검색어를 입력합니다.

LLM 컨텍스트 창 한도 때문에 각 대화는 200,000 토큰 (약 800,000자)으로 잘립니다.

대화 삭제#

히스토리
  1. GitLab UI 또는 IDE 에서 채팅 기록을 선택합니다.
  2. 기록에서 Delete this chat ([remove]) 을 선택합니다.

개별 대화는 30일 동안 활동이 없으면 만료되어 자동으로 삭제됩니다.

로컬 환경에서 GitLab Duo Chat 사용자 정의#

코딩 스타일, 팀 관행, 프로젝트 요구 사항을 반영한 지침을 제공해 로컬 환경에서 GitLab Duo Chat 이 동작하는 방식을 사용자 정의합니다.

GitLab Duo Chat 은 두 가지 방식을 지원합니다:

  • chat-rules.md 의 커스텀 규칙: GitLab 전용입니다. 개인 취향과 팀 표준에 가장 적합합니다.
  • AGENTS.md 의 공유 규칙: GitLab 과 AGENTS.md 명세를 지원하는 다른 AI 도구용입니다. 프로젝트 컨텍스트, 모노레포 구성, 디렉터리별 관례에 가장 적합합니다.

두 파일을 동시에 사용할 수 있습니다. GitLab Duo Chat 은 사용할 수 있는 모든 규칙 파일의 지침을 적용합니다.

GitLab Duo 사용자 정의 방법을 자세히 알아봅니다.

모델 선택#

히스토리

GitLab UI, VS Code, JetBrains IDE 에서 Chat 을 사용할 때는 대화에 사용할 모델을 선택할 수 있습니다.

채팅 기록에서 이전 채팅을 열어 그 대화를 이어 가면 Chat 은 이전에 선택한 모델을 사용합니다.

기존 대화에서 새 모델을 선택하면 Chat 은 새로 선택한 모델로 현재 대화를 이어 갑니다.

사전 요구 사항:

모델을 선택하려면 다음을 수행합니다:

  • GitLab UI 에서는 다음을 수행합니다:
    1. 채팅 텍스트 상자 아래에서 Agentic 토글이 켜져 있는지 확인합니다.
    2. 드롭다운 목록에서 모델을 선택합니다.
  • IDE 에서는 다음을 수행합니다:
    1. 사이드바에서 GitLab Duo Agent Platform ([duo-agentic-chat]) 을 선택합니다.
    2. Chat 탭을 선택합니다.
    3. 드롭다운 목록에서 모델을 선택합니다.

에이전트 선택#

히스토리

GitLab UI, VS Code, JetBrains IDE 의 프로젝트에서 Chat 을 사용할 때는 Chat 이 사용할 특정 에이전트를 선택할 수 있습니다.

사전 요구 사항:

에이전트를 선택하려면 다음을 수행합니다:

  1. GitLab UI 또는 IDE 에서 GitLab Duo Chat 에 새 대화를 엽니다.
  2. GitLab UI 에서는 Chat 텍스트 상자 아래에서 Agentic 토글이 켜져 있는지 확인합니다.
  3. 드롭다운 목록에서 에이전트를 선택합니다. 에이전트를 설정하지 않았다면 드롭다운 목록이 없고 Chat 은 기본 GitLab Duo 에이전트를 사용합니다.
  4. 질문을 입력하고 Enter 를 누르거나 Send 를 선택합니다.

에이전트로 대화를 생성한 뒤에는 다음이 적용됩니다:

  • 대화는 선택한 에이전트를 기억합니다. 그 대화에는 다른 에이전트를 선택할 수 없습니다.
  • 채팅 기록으로 같은 대화로 돌아가면 같은 에이전트를 사용합니다.
  • 대화로 돌아갔을 때 연결된 에이전트를 더 이상 사용할 수 없으면 그 대화를 이어 갈 수 없습니다.

프롬프트 캐싱#

히스토리
  • GitLab 18.7 에서 도입되었습니다.

프롬프트 캐싱은 기본적으로 활성화되어 있고, 선택한 Agentic Chat 모델이 Anthropic 모델이거나 Vertex 를 통해 제공되는 Anthropic 모델일 때만 동작합니다.

프롬프트 캐싱이 활성화되어 있으면 채팅 프롬프트 데이터가 모델 공급업체의 메모리에 일시적으로 저장됩니다.

프롬프트 캐싱은 캐시된 프롬프트와 입력 데이터의 재처리를 피해 지연 시간을 크게 개선합니다.

프롬프트 캐싱을 끌 수 있습니다:

  • GitLab.com 에서는 최상위 그룹 단위로 끕니다.
  • GitLab Self-Managed 에서는 인스턴스 단위로 끕니다.

이 설정은 모든 GitLab Duo Agent Platform 기능에 적용됩니다.

도구 승인#

히스토리

Agentic Chat 이 사용자를 대신해 도구를 사용하기 전에 사용자의 승인이 필요합니다. 기본적으로 도구를 호출할 때마다 승인이 필요합니다.

도구를 신뢰하고 워크플로를 간소화하려면 세션 전체에 대해 한 번만 승인할 수도 있습니다.

세션 승인은 Chat 에만 적용되고 플로에는 적용되지 않습니다.

도구 승인 관리#

Owner 와 관리자는 사용자가 세션 단위로 도구를 승인할 수 있는지를 제어할 수 있습니다. 설정은 인스턴스에서 그룹, 프로젝트로 단계적으로 적용됩니다.

그룹 또는 인스턴스에 다음 옵션 중 하나를 구성합니다:

  • On by default: 사용자가 세션 단위로 도구를 한 번 승인할 수 있습니다. 그룹과 하위 그룹은 이 설정을 끌 수 있습니다.
  • Off by default: (기본값) 사용자가 도구 호출마다 승인해야 합니다. 그룹과 하위 그룹은 이 설정을 켤 수 있습니다.
  • Always off: 사용자가 세션 단위로 도구를 승인할 수 없습니다. 그룹과 하위 그룹은 이 설정을 재정의할 수 없습니다.

기본 설정 관리#

인스턴스 또는 최상위 그룹의 기본 도구 승인 설정을 구성합니다.

사전 요구 사항:

  • 최상위 그룹의 Owner 권한.

기본 도구 승인 설정을 구성하려면 다음을 수행합니다:

  1. 상단 바에서 Search or go to 를 선택하고 그룹을 찾습니다.
  2. Settings > GitLab Duo 를 선택합니다.
  3. Tool approval for session 드롭다운 목록에서 원하는 옵션을 선택합니다.

사전 요구 사항:

  • 관리자 접근 권한.

기본 도구 승인 설정을 구성하려면 다음을 수행합니다:

  1. 오른쪽 위에서 Admin 을 선택합니다.
  2. GitLab Duo 를 선택합니다.
  3. Tool approval for session 드롭다운 목록에서 원하는 옵션을 선택합니다.

사전 요구 사항:

  • 관리자 접근 권한.

기본 도구 승인 설정을 구성하려면 다음을 수행합니다:

  1. 오른쪽 위에서 Admin 을 선택합니다.
  2. GitLab Duo 를 선택합니다.
  3. Tool approval for session 드롭다운 목록에서 원하는 옵션을 선택합니다.

그룹 또는 프로젝트 설정 관리#

특정 그룹 또는 프로젝트의 도구 승인 설정을 구성합니다.

사전 요구 사항:

  • 그룹의 Owner 권한 또는 프로젝트의 Maintainer 권한.

도구 승인 설정을 구성하려면 다음을 수행합니다:

  1. 상단 바에서 Search or go to 를 선택하고 그룹 또는 프로젝트를 찾습니다.
  2. Settings > GitLab Duo 를 선택합니다.
  3. 그룹은 Tool approval for session 드롭다운 목록에서 원하는 옵션을 선택합니다.
  4. 프로젝트는 Allow tool approval for session 체크박스를 선택하거나 선택 해제합니다.

로컬 환경에서 도구 승인#

사전 요구 사항:

현재 세션에서 도구를 승인하거나 거부하려면 다음을 수행합니다:

  1. 도구 승인 프롬프트가 나타나면 승인 버튼 옆의 드롭다운을 선택합니다.
  2. 다음 옵션 중 하나를 선택합니다:
    • Approve: Chat 이 이 인수로 도구를 한 번 사용할 수 있습니다.
    • Approve for session: Chat 이 세션이 끝날 때까지 이 인수로 도구를 사용할 수 있습니다. 인수가 다르면 추가 승인이 필요합니다.
    • Deny: Chat 이 도구를 사용할 수 없습니다.

새 대화를 시작하면 모든 승인이 초기화됩니다.

Chat 기능 비교#

기능 GitLab Duo Non-Agentic Chat GitLab Duo Agentic Chat
일반 프로그래밍 질문하기 예 예
에디터에서 열려 있는 파일에 대한 답변 받기 예 예. 질문에 파일 경로를 제공합니다.
지정한 파일에 대한 컨텍스트 제공 예. /include 를 사용해 대화에 파일을 추가합니다.1 예. 질문에 파일 경로를 제공합니다.
프로젝트 내용 자율 검색 아니요 예
자율적으로 파일 생성 및 변경 아니요 예. 파일을 변경하도록 요청합니다. 수동으로 변경했고 아직 커밋하지 않은 내용을 덮어쓸 수 있습니다.
ID 를 지정하지 않고 이슈와 MR 가져오기 아니요 예. 다른 기준으로 검색합니다. 예를 들어 MR 이나 이슈의 제목 또는 담당자입니다.
여러 소스의 정보 결합 아니요 예
파이프라인 로그 분석 예. GitLab Duo Enterprise 애드온이 필요합니다. 예
대화 재시작 예. /new 또는 /reset 을 사용합니다. 예. /new 를 사용하고, UI 에서는 /reset 도 사용합니다.
대화 삭제 예, 채팅 기록에서 삭제합니다. 예, 채팅 기록에서 삭제합니다
이슈와 MR 생성 아니요 예
Git 읽기 전용 명령 사용 아니요 예
Git 쓰기 명령 사용 아니요 예, UI 전용
셸 명령 실행 아니요 예, IDE 전용
MCP 도구 실행 아니요 예, IDE 전용
세션 단위 도구 승인 아니요 예, IDE 전용

관련 주제#

Footnotes

  1. Web IDE 에서 GitLab Duo Non-Agentic Chat 을 사용할 때는 사용할 수 없습니다. ↩