InfoGrab DocsInfoGrab Docs

Code Suggestions

요약

Code Suggestions는 다음에서 사용할 수 있습니다. GitLab Duo Code Suggestions를 사용하면 개발 중에 생성형 AI가 코드를 제안하므로 더 효율적으로 코드를 작성할 수 있습니다. GitLab Duo에는 GitLab 17.2 이상이 필요합니다.

Model information
히스토리
  • 2024년 2월 15일부터 GitLab Duo Pro 애드온을 요구하도록 변경됨. 이전에는 이 기능이 Premium 및 Ultimate 구독에 포함되어 있었습니다.
  • 2024년 10월 17일부터 지원되는 모든 GitLab 버전에서 GitLab Duo Pro 또는 GitLab Duo Enterprise 애드온을 요구하도록 변경됨.
  • GitLab 17.6에서 fireworks_qwen_code_completion 플래그와 함께 Fireworks AI 호스팅 Qwen2.5 코드 완성 모델 지원 도입.
  • GitLab 17.11에서 Qwen2.5 코드 완성 모델 지원 제거.
  • GitLab 17.11에서 기능 플래그 use_fireworks_codestral_code_completion을 통해 Fireworks 호스팅 Codestral 이 기본으로 활성화됨.
  • GitLab 18.0에서 GitLab Duo Core를 포함하도록 변경됨.
  • GitLab 18.1에서 Fireworks 호스팅 Codestral 이 기본 모델로 활성화됨.
  • GitLab 18.2에서 코드 생성의 기본 모델이 Claude Sonnet 4로 변경됨.
  • GitLab 18.6에서 기능 플래그 code_suggestions_context 제거.
  • GitLab 18.10에서 GitLab Credits를 사용해 GitLab.com의 Free 티어에서 사용 가능해짐.
  • GitLab Duo Core 사용자의 Code Suggestions 접근 방식이 변경됨. GitLab 19.0부터 GitLab Duo Agent Platform의 일부로 제공됩니다.
Note

Code Suggestions는 다음에서 사용할 수 있습니다.

  • GitLab Duo Agent Platform. 과금은 사용량 기반입니다.
  • GitLab Duo Pro 또는 Enterprise, GitLab Duo with Amazon Q. 과금은 보유한 애드온을 기준으로 합니다.

GitLab Duo Code Suggestions를 사용하면 개발 중에 생성형 AI가 코드를 제안하므로 더 효율적으로 코드를 작성할 수 있습니다.

사전 요구 사항#

Note

GitLab Duo에는 GitLab 17.2 이상이 필요합니다. GitLab Duo Core를 사용하려면, 그리고 최상의 사용 경험과 결과를 얻으려면 GitLab 18.0 이상으로 업그레이드합니다. 이전 버전도 계속 동작할 수 있으나 경험이 저하될 수 있습니다.

Code Suggestions 사용#

Code Suggestions를 사용하려면:

  1. IDE에서 프로젝트를 엽니다.
  2. 코드를 작성합니다. 입력하는 동안 제안이 표시됩니다. Code Suggestions는 커서 위치에 따라 코드 스니펫을 제공하거나 현재 줄을 완성합니다.
  3. 요구 사항을 자연어로 설명합니다. Code Suggestions는 제공된 컨텍스트를 바탕으로 함수와 코드 스니펫을 생성합니다.
  4. 제안을 받으면 다음 중 하나를 수행할 수 있습니다.
    • 제안을 수락하려면 Tab을 누릅니다.
    • 제안의 일부만 수락하려면 Control+Right arrow 또는 Command+Right arrow를 누릅니다.
    • 제안을 거부하려면 Esc를 누릅니다. Neovim에서는 Control+E를 눌러 메뉴를 종료합니다.
    • 제안을 무시하려면 평소대로 계속 입력합니다.

여러 코드 제안 보기#

히스토리

VS Code의 코드 완성 제안에는 여러 제안 옵션이 있을 수 있습니다. 사용 가능한 모든 제안을 보려면:

  1. 코드 완성 제안 위에 마우스를 올립니다.
  2. 대안을 넘겨 봅니다. 방법은 다음과 같습니다.
    • 키보드 단축키를 사용합니다.
      • Mac에서는 Option+[를 눌러 이전 제안을 보고, Option+]를 눌러 다음 제안을 봅니다.
      • Linux와 Windows에서는 Alt+[를 눌러 이전 제안을 보고, Alt+]를 눌러 다음 제안을 봅니다.
    • 표시된 대화 상자에서 오른쪽 또는 왼쪽 화살표를 선택해 다음이나 이전 옵션을 봅니다.
  3. Tab을 눌러 원하는 제안을 적용합니다.

코드 완성과 코드 생성#

Code Suggestions는 코드 완성과 코드 생성을 사용합니다.

코드 완성 코드 생성
목적 현재 코드 줄을 완성하는 제안을 제공합니다. 자연어 주석을 기반으로 새 코드를 생성합니다.
트리거 입력 시 일반적으로 짧은 지연과 함께 트리거됩니다. 특정 키워드를 포함한 주석을 작성한 뒤 Enter를 누르면 트리거됩니다.
범위 현재 줄 또는 작은 코드 블록으로 제한됩니다. 컨텍스트를 기반으로 전체 메서드, 함수 또는 클래스도 생성할 수 있습니다.
정확도 작은 작업과 짧은 코드 블록에 더 정확합니다. 더 큰 대형 언어 모델(LLM)이 사용되고, 요청에 추가 컨텍스트(예: 프로젝트에서 사용하는 라이브러리)가 전송되며, 지시 사항이 LLM에 전달되기 때문에 복잡한 작업과 큰 코드 블록에 더 정확합니다.
사용 방법 코드 완성은 입력 중인 줄에 자동으로 완성 제안을 합니다. 주석을 작성하고 Enter를 누르거나, 빈 함수나 메서드를 입력합니다.
사용 시기 한두 줄의 코드를 빠르게 완성할 때 코드 완성을 사용합니다. 더 복잡한 작업, 더 큰 코드베이스, 자연어 설명을 바탕으로 새 코드를 처음부터 작성하려는 경우, 또는 편집 중인 파일이 다섯 줄 미만일 때 코드 생성을 사용합니다.

Code Suggestions는 항상 이 두 기능을 함께 사용합니다. 코드 생성만 사용하거나 코드 완성만 사용할 수는 없습니다. 둘을 별도로 끌 수도 없습니다.

코드 완성과 코드 생성 비교 데모 보기.

코드 생성 모범 사례#

코드 생성에서 최상의 결과를 얻으려면:

  • 간결함을 유지하면서 최대한 구체적으로 작성합니다.
  • 생성하려는 결과물(예: 함수)을 명시하고 달성하려는 내용을 자세히 제공합니다.
  • 사용하려는 프레임워크나 라이브러리 같은 추가 정보를 덧붙입니다.
  • 각 주석 뒤에 공백이나 줄바꿈을 추가합니다. 이 공백은 지시 사항 작성을 마쳤다는 신호를 코드 생성기에 전달합니다.
  • Code Suggestions가 사용할 수 있는 컨텍스트를 검토하고 조정합니다.

예를 들어 특정 요구 사항을 갖춘 Python 웹 서비스를 만들려면 다음과 같이 작성할 수 있습니다.

# Create a web service using Tornado that allows a user to sign in, run a security scan, and review the scan results.
# Each action (sign in, run a scan, and review results) should be its own resource in the web service
...

AI는 비결정적이므로 같은 입력에도 매번 같은 제안을 받지 못할 수 있습니다. 품질 높은 코드를 생성하려면 명확하고 구체적으로 서술된 작업을 작성합니다.

사용 사례와 모범 사례는 GitLab Duo 예시 문서를 참고합니다.

결과 정확도#

GitLab은 생성되는 콘텐츠 전반의 정확도를 계속 개선하고 있습니다. 다만 Code Suggestions는 다음과 같은 제안을 생성할 수 있습니다.

  • 관련성이 없는 제안.
  • 불완전한 제안.
  • 파이프라인 실패로 이어질 수 있는 제안.
  • 보안상 취약할 수 있는 제안.
  • 불쾌하거나 배려가 부족한 제안.

Code Suggestions를 사용할 때에도 코드 리뷰 모범 사례는 그대로 적용됩니다.

관련 주제#

Code Suggestions

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

요약

Code Suggestions는 다음에서 사용할 수 있습니다. GitLab Duo Code Suggestions를 사용하면 개발 중에 생성형 AI가 코드를 제안하므로 더 효율적으로 코드를 작성할 수 있습니다. GitLab Duo에는 GitLab 17.2 이상이 필요합니다.

Model information
히스토리
  • 2024년 2월 15일부터 GitLab Duo Pro 애드온을 요구하도록 변경됨. 이전에는 이 기능이 Premium 및 Ultimate 구독에 포함되어 있었습니다.
  • 2024년 10월 17일부터 지원되는 모든 GitLab 버전에서 GitLab Duo Pro 또는 GitLab Duo Enterprise 애드온을 요구하도록 변경됨.
  • GitLab 17.6에서 fireworks_qwen_code_completion 플래그와 함께 Fireworks AI 호스팅 Qwen2.5 코드 완성 모델 지원 도입.
  • GitLab 17.11에서 Qwen2.5 코드 완성 모델 지원 제거.
  • GitLab 17.11에서 기능 플래그 use_fireworks_codestral_code_completion을 통해 Fireworks 호스팅 Codestral 이 기본으로 활성화됨.
  • GitLab 18.0에서 GitLab Duo Core를 포함하도록 변경됨.
  • GitLab 18.1에서 Fireworks 호스팅 Codestral 이 기본 모델로 활성화됨.
  • GitLab 18.2에서 코드 생성의 기본 모델이 Claude Sonnet 4로 변경됨.
  • GitLab 18.6에서 기능 플래그 code_suggestions_context 제거.
  • GitLab 18.10에서 GitLab Credits를 사용해 GitLab.com의 Free 티어에서 사용 가능해짐.
  • GitLab Duo Core 사용자의 Code Suggestions 접근 방식이 변경됨. GitLab 19.0부터 GitLab Duo Agent Platform의 일부로 제공됩니다.
Note

Code Suggestions는 다음에서 사용할 수 있습니다.

  • GitLab Duo Agent Platform. 과금은 사용량 기반입니다.
  • GitLab Duo Pro 또는 Enterprise, GitLab Duo with Amazon Q. 과금은 보유한 애드온을 기준으로 합니다.

GitLab Duo Code Suggestions를 사용하면 개발 중에 생성형 AI가 코드를 제안하므로 더 효율적으로 코드를 작성할 수 있습니다.

사전 요구 사항#

Note

GitLab Duo에는 GitLab 17.2 이상이 필요합니다. GitLab Duo Core를 사용하려면, 그리고 최상의 사용 경험과 결과를 얻으려면 GitLab 18.0 이상으로 업그레이드합니다. 이전 버전도 계속 동작할 수 있으나 경험이 저하될 수 있습니다.

Code Suggestions 사용#

Code Suggestions를 사용하려면:

  1. IDE에서 프로젝트를 엽니다.
  2. 코드를 작성합니다. 입력하는 동안 제안이 표시됩니다. Code Suggestions는 커서 위치에 따라 코드 스니펫을 제공하거나 현재 줄을 완성합니다.
  3. 요구 사항을 자연어로 설명합니다. Code Suggestions는 제공된 컨텍스트를 바탕으로 함수와 코드 스니펫을 생성합니다.
  4. 제안을 받으면 다음 중 하나를 수행할 수 있습니다.
    • 제안을 수락하려면 Tab을 누릅니다.
    • 제안의 일부만 수락하려면 Control+Right arrow 또는 Command+Right arrow를 누릅니다.
    • 제안을 거부하려면 Esc를 누릅니다. Neovim에서는 Control+E를 눌러 메뉴를 종료합니다.
    • 제안을 무시하려면 평소대로 계속 입력합니다.

여러 코드 제안 보기#

히스토리

VS Code의 코드 완성 제안에는 여러 제안 옵션이 있을 수 있습니다. 사용 가능한 모든 제안을 보려면:

  1. 코드 완성 제안 위에 마우스를 올립니다.
  2. 대안을 넘겨 봅니다. 방법은 다음과 같습니다.
    • 키보드 단축키를 사용합니다.
      • Mac에서는 Option+[를 눌러 이전 제안을 보고, Option+]를 눌러 다음 제안을 봅니다.
      • Linux와 Windows에서는 Alt+[를 눌러 이전 제안을 보고, Alt+]를 눌러 다음 제안을 봅니다.
    • 표시된 대화 상자에서 오른쪽 또는 왼쪽 화살표를 선택해 다음이나 이전 옵션을 봅니다.
  3. Tab을 눌러 원하는 제안을 적용합니다.

코드 완성과 코드 생성#

Code Suggestions는 코드 완성과 코드 생성을 사용합니다.

코드 완성 코드 생성
목적 현재 코드 줄을 완성하는 제안을 제공합니다. 자연어 주석을 기반으로 새 코드를 생성합니다.
트리거 입력 시 일반적으로 짧은 지연과 함께 트리거됩니다. 특정 키워드를 포함한 주석을 작성한 뒤 Enter를 누르면 트리거됩니다.
범위 현재 줄 또는 작은 코드 블록으로 제한됩니다. 컨텍스트를 기반으로 전체 메서드, 함수 또는 클래스도 생성할 수 있습니다.
정확도 작은 작업과 짧은 코드 블록에 더 정확합니다. 더 큰 대형 언어 모델(LLM)이 사용되고, 요청에 추가 컨텍스트(예: 프로젝트에서 사용하는 라이브러리)가 전송되며, 지시 사항이 LLM에 전달되기 때문에 복잡한 작업과 큰 코드 블록에 더 정확합니다.
사용 방법 코드 완성은 입력 중인 줄에 자동으로 완성 제안을 합니다. 주석을 작성하고 Enter를 누르거나, 빈 함수나 메서드를 입력합니다.
사용 시기 한두 줄의 코드를 빠르게 완성할 때 코드 완성을 사용합니다. 더 복잡한 작업, 더 큰 코드베이스, 자연어 설명을 바탕으로 새 코드를 처음부터 작성하려는 경우, 또는 편집 중인 파일이 다섯 줄 미만일 때 코드 생성을 사용합니다.

Code Suggestions는 항상 이 두 기능을 함께 사용합니다. 코드 생성만 사용하거나 코드 완성만 사용할 수는 없습니다. 둘을 별도로 끌 수도 없습니다.

코드 완성과 코드 생성 비교 데모 보기.

코드 생성 모범 사례#

코드 생성에서 최상의 결과를 얻으려면:

  • 간결함을 유지하면서 최대한 구체적으로 작성합니다.
  • 생성하려는 결과물(예: 함수)을 명시하고 달성하려는 내용을 자세히 제공합니다.
  • 사용하려는 프레임워크나 라이브러리 같은 추가 정보를 덧붙입니다.
  • 각 주석 뒤에 공백이나 줄바꿈을 추가합니다. 이 공백은 지시 사항 작성을 마쳤다는 신호를 코드 생성기에 전달합니다.
  • Code Suggestions가 사용할 수 있는 컨텍스트를 검토하고 조정합니다.

예를 들어 특정 요구 사항을 갖춘 Python 웹 서비스를 만들려면 다음과 같이 작성할 수 있습니다.

# Create a web service using Tornado that allows a user to sign in, run a security scan, and review the scan results.
# Each action (sign in, run a scan, and review results) should be its own resource in the web service
...

AI는 비결정적이므로 같은 입력에도 매번 같은 제안을 받지 못할 수 있습니다. 품질 높은 코드를 생성하려면 명확하고 구체적으로 서술된 작업을 작성합니다.

사용 사례와 모범 사례는 GitLab Duo 예시 문서를 참고합니다.

결과 정확도#

GitLab은 생성되는 콘텐츠 전반의 정확도를 계속 개선하고 있습니다. 다만 Code Suggestions는 다음과 같은 제안을 생성할 수 있습니다.

  • 관련성이 없는 제안.
  • 불완전한 제안.
  • 파이프라인 실패로 이어질 수 있는 제안.
  • 보안상 취약할 수 있는 제안.
  • 불쾌하거나 배려가 부족한 제안.

Code Suggestions를 사용할 때에도 코드 리뷰 모범 사례는 그대로 적용됩니다.

관련 주제#