GitHub Copilot 채팅

완료됨

GitHub Copilot Chat은 개발자에게 개발 환경 내에서 직접 대화형 대화형 AI 도우미를 제공하도록 설계된 GitHub Copilot 에코시스템의 고급 기능입니다. 이를 통해 개발자는 코드에 대한 자연어 대화를 하고, 질문을 하고, 지능형 응답 및 제안을 실시간으로 받을 수 있습니다. 이 단원에서는 다음을 다룹니다.

  • GitHub Copilot 채팅을 사용하여 코드를 생성하는 방법.
  • GitHub Copilot 채팅을 사용하는 디버깅.
  • GitHub Copilot 채팅을 사용하여 코드 설명을 가져오는 방법.
  • GitHub Copilot으로 슬래시 명령을 사용하여 작업 수행.
  • 사용자 지정 GitHub Copilot 에이전트를 사용하여 프롬프트 개선.

IDE(통합 개발 환경)에서 Copilot에 액세스하려면 왼쪽 탐색 모음에서 채팅 아이콘을 클릭합니다.

채팅의 스크린샷.

GitHub 코필로트 채팅은 다음과 같은 특정 시나리오에서 유용합니다.

  • 복잡한 코드 생성 복잡한 알고리즘, 데이터 구조를 구현하거나, 특정 디자인 패턴에 대한 상용구 코드를 생성해야 하는 경우 Copilot 채팅은 프로세스를 간소화할 수 있습니다. 복잡한 정규식을 만들거나, 자세한 SQL 쿼리를 생성하거나, Python에서 거품형 정렬과 같은 고급 데이터 구조를 개발하는 데 도움이 될 수 있습니다.

    채팅 코드 생성 스크린샷.

  • 디버깅 지원 코드에서 오류가 발생하는 경우 Copilot 채팅은 오류 메시지를 분석하고 잠재적인 수정 사항을 제안하는 데 유용할 수 있습니다. 논리적 오류를 식별하고 문제가 있는 코드 섹션에 대한 단계별 설명을 제공할 수 있습니다. 이 결과를 달성하는 한 가지 방법은 오류가 포함된 코드 부분을 강조 표시하고, 코필로트를 마우스 오른쪽 단추로 클릭하고 선택한 다음, 인라인 채팅을 통해 Copilot 인라인 채팅을 사용하는 것입니다.

    코드 선택 채팅 디버깅의 스크린샷.

    예를 들어 "이 메서드에서 NullReferenceException을(를) 받고 있어. 디버그하는 걸 도와줄래?"

    코드 생성 채팅 디버깅의 스크린샷.

  • 코드 설명 Copilot 채팅을 사용하여 복잡한 코드 조각을 더 잘 이해할 수도 있습니다. 코드를 더 간단한 용어로 분석하고, 익숙하지 않은 코드의 목적과 기능을 설명하고, 모범 사례와 잠재적 최적화에 대한 인사이트를 제공할 수 있습니다. 예를 들어 다음과 같이 질문할 수 있습니다. "Python에서 이 비동기/대기 코드가 작동하는 방식을 설명해 줄래?"

    채팅 코드 설명 스크린샷.

GitHub Copilot 채팅 응답을 개선하는 방법

특정 주요 기능을 사용하여 GitHub Copilot 채팅 응답의 품질과 관련성을 크게 향상할 수 있습니다. 이제부터 해당 기능을 자세히 살펴보겠습니다.

코드 참조

GitHub Copilot 채팅에서 제공하는 응답의 정확도와 관련성을 높이려면 참조를 사용하여 질문의 범위를 적절하게 지정하는 것이 중요합니다. 그 방법은 다음과 같습니다.

  • 파일 참조: 파일 이름 앞에 #file:을(를) 추가하여 질문에서 특정 파일을 지정할 수 있습니다.

    채팅 범위 파일 참조 선택 스크린샷.

    예를 들어 controller.js 파일로 작업하는 경우 #file 명령을 사용하여 해당 파일을 선택하고 질문에서 직접 #file:controller.js(으)로 참조할 수 있습니다. 이 기능은 코필로트 채팅이 응답을 생성할 때 해당 파일의 내용에 집중하도록 지시합니다.

    채팅 범위 파일 참조 스크린샷.

  • 환경 참조:@workspace을(를) 사용하여 전체 솔루션 또는 작업 영역을 참조할 수 있습니다. 이 기능을 사용하면 Copilot Chat에서 현재 Visual Studio IDE에서 열려 있는 프로젝트 및 구성의 광범위한 컨텍스트를 고려할 수 있습니다. 예를 들어 "@workspace 계산 함수는 어디에 있나요?" 라고 묻는 경우 Copilot는 전체 솔루션을 고려하여 가장 관련성이 큰 정보를 찾도록 합니다.

    채팅 범위 작업 영역 참조 스크린샷.

슬래시 명령

GitHub Copilot 채팅의 슬래시 명령을 사용하면 쿼리의 의도를 빠르게 지정할 수 있습니다. 이렇게 하면 요청을 더 집중되게 만들어 수신하는 응답의 품질을 크게 향상할 수 있습니다. 다음은 일반적으로 사용되는 슬래시 명령입니다.

  • /doc: 지정하거나 선택한 코드에 주석을 추가합니다. 예를 들어 문서화할 코드 다음에 입력 /doc 할 수 있으며, Copilot는 적절한 주석을 생성합니다.

    /doc 슬래시 명령의 스크린샷.

  • /explain: 선택한 코드에 대한 설명을 제공합니다. 이 명령은 특정 코드 조각이 수행하는 작업을 이해해야 하는 경우에 유용합니다. 예를 들어 해당 /explain the #file:controller.js 파일에 대한 자세한 설명을 제공합니다.

    /explain 슬래시 명령의 스크린샷.

  • /fix: 선택한 코드의 문제에 대한 수정 사항을 제안합니다. 문제가 발생하는 경우 문제가 있는 섹션을 강조 표시하고 /fix을(를) 사용하여 문제 해결을 위한 제안을 받을 수 있습니다.

    /fix 슬래시 명령의 스크린샷.

  • /generate: 요구 사항에 따라 새 코드를 생성합니다. 예를 들어 /generate code to find the root of a number in client.js 작업을 수행하는 함수를 만듭니다.

    /generate 슬래시 명령의 스크린샷.

  • /optimize: 선택한 코드의 실행 시간 또는 효율성에 대한 개선 사항을 분석하고 제안합니다. 예를 들어 계산/optimize the method in controller.js특정 메서드의 성능 향상에 중점을 둡니다.

    /optimize 슬래시 명령의 스크린샷.

  • /tests: 자동으로 선택한 코드에 대한 단위 테스트를 만듭니다. 코드를 강조 표시하고 /tests using Mocha을(를) 사용하여 테스트를 생성할 수 있습니다.

    /tests 슬래시 명령의 스크린샷.

모델 선택 및 프리미엄 기능

GitHub Copilot Chat은 개발 워크플로를 최적화하는 다양한 AI 모델을 제공합니다. 일부 환경에서는 특정 요구 사항에 따라 다양한 기능 수준 중에서 선택할 수 있는 모델 선택 옵션을 제공합니다.

표준 모델(GPT-4o):

  • 대부분의 개발 작업에 대해 빠르고 신뢰할 수 있는 응답 제공
  • 요청당 1 PRU 사용
  • 일상적인 코딩 지원, 코드 설명 및 기본 디버깅에 적합합니다.
  • 예: 간단한 함수 생성, 구문 도움말, 기본 리팩터링 제안

프리미엄 모델(o1-preview, o1-mini):

  • 복잡한 문제에 대한 향상된 추론 기능 제공
  • 요청당 2개 PRU 사용(표준 속도의 두 배)
  • 정교한 분석, 복잡한 알고리즘 및 아키텍처 의사 결정에 더 적합
  • 예: 다중 스레드 코드의 고급 디버깅, 복잡한 알고리즘 디자인, 보안 분석

심층적인 추론이 필요한 어려운 문제를 해결할 때 프리미엄 모델은 보다 철저한 분석과 포괄적인 솔루션을 제공할 수 있습니다. 그러나 다양한 유형의 작업에 대한 모델을 선택할 때 PRU 사용을 고려합니다.

비고

프리미엄 모델(o1-preview, o1-mini)을 사용하면 동일한 요청에 대해 1개 대신 2개의 PRU를 사용합니다. 월별 허용량을 모니터링하고 작업 복잡성에 따라 적절한 모델을 선택합니다. PRU 사용량 및 제한에 대한 현재 세부 정보는 GitHub Copilot 설명서의 요청을 참조하세요.

Copilot 에이전트

GitHub Copilot 에이전트는 GitHub Copilot 채팅을 빌드하고 통합하여 특정 요구 사항에 맞는 추가 기능을 제공하는 사용자 지정 도구입니다. 슬래시 명령 외에도 IDE의 Copilot 채팅 내에서 특정 에이전트를 사용하여 다양한 작업을 처리할 수 있습니다.

  • @workspace: 이 에이전트를 사용하면 Copilot에 요청하는 질문의 컨텍스트를 전체 프로젝트로 확장할 수 있습니다. 전체 프로젝트의 정보를 사용하여 프로젝트에 바로 맞는 코드를 생성하는 데 유용합니다. 전체 코드베이스에 대한 답변을 가져오는 데도 사용할 수 있습니다.

    '@workspace' 에이전트 명령의 스크린샷.

    요구 사항에 따라 처음부터 완전히 새로운 프로젝트를 생성할 수 있는 "@workspace /new" 스마트 작업을 사용할 수도 있습니다. 예를 들어 "@workspace /new는 고급 계산을 위해 새 html 파일 페이지 및 JavaScript를 생성합니다."

    `@workspace \new` 에이전트 명령의 스크린샷.

    “작업 영역 만들기”를 클릭하여 코드 생성을 진행하기만 하면 요청한 코드와 함께 새 프로젝트가 준비됩니다.

    새로 생성된 작업 영역 프로젝트의 스크린샷.

  • @terminal: 이 에이전트는 명령줄 관련 질문에 유용합니다. 예를 들어 디렉터리에서 가장 큰 파일을 찾거나 마지막으로 실행한 명령을 설명하도록 요청할 수 있습니다.

    `@terminal` 에이전트 명령의 스크린샷.

  • @vscode: 이 에이전트를 사용하여 IDE 내에서 설정을 디버그하거나 변경하는 방법과 같은 Visual Studio Code와 관련된 질문을 할 수 있습니다.

    '@vscode' 에이전트 명령의 스크린샷.

    이러한 도구와 기술을 효과적으로 활용하고 GitHub Copilot 채팅에서 수신하는 응답의 품질을 크게 향상하여 더욱 효율적이고 생산적인 코딩 환경을 만들 수 있습니다.

비고

고급 에이전트와 같은 @workspace 복잡한 작업은 더 많은 PRU(프리미엄 요청 단위)를 사용할 수 있습니다. 간단한 쿼리는 일반적으로 1개의 PRU를 사용하지만 복잡한 작업 영역 분석 또는 프로젝트 생성은 2-5개의 PRU를 사용할 수 있습니다. PRU 사용량, 월별 허용량 및 속도 제한에 대한 현재 세부 정보는 GitHub Copilot 설명서의 요청을 참조하세요.

GitHub Copilot 채팅에 대한 피드백 공유

Copilot 채팅 통합을 사용하는 대부분의 IDE에는 기본 제공 피드백 메커니즘이 있습니다. 예를 들어 Visual Studio Code에서 GitHub Copilot 채팅의 제안 시작 부분에서 피드백 옵션을 찾을 수 있습니다. 제안 위로 마우스를 가져가면 "엄지 손가락 위로" 및 "엄지 손가락 아래로" 단추가 표시됩니다.

좋아요 유용함 버튼 스크린샷.

제안이 유용했다고 평가하려면 좋아요를 클릭하세요.

싫어요 유용하지 않음 버튼 스크린샷.

제안이 유용하지 않았다고 평가하려면 싫어요를 클릭하세요.