Skip to main content

IDE에서 GitHub Copilot 채팅의 책임 있는 사용

목적, 기능 및 제한 사항을 이해하여 GitHub Copilot Chat을(를) 책임감 있게 사용하는 방법을 알아봅니다.

누가 이 기능을 사용할 수 있나요?

All users with a GitHub Copilot Individual subscription can access GitHub Copilot Chat in your IDE.

Owners of organizations with a Copilot Business subscription can decide whether to grant access to GitHub Copilot Chat in your IDE.

데이터 변수 GitHub Copilot Chat 정보

GitHub Copilot Chat은(는) GitHub 웹사이트 및 지원되는 IDE에서 코딩 관련 질문을 하고 답변을 받으면서 GitHub Copilot와(과) 상호 작용할 수 있는 채팅 인터페이스입니다. 채팅 인터페이스를 사용하면 설명서를 탐색하거나 온라인 포럼을 검색할 필요 없이 코딩 정보 및 지원에 액세스할 수 있습니다. 자세한 내용은 "GitHub Copilot이란?"을(를) 참조하세요.

GitHub Copilot Chat은 구문, 프로그래밍 개념, 테스트 사례, 디버깅 등의 주제에 대한 광범위한 코딩 관련 질문에 답변할 수 있습니다. GitHub Copilot Chat은 코딩이 아닌 질문에 답변하거나 코딩 이외의 주제에 대한 일반적인 정보를 제공하도록 설계되지 않았습니다.

GitHub Copilot Chat에 주로 지원되는 언어는 영어입니다.

GitHub Copilot Chat은 자연어 처리와 머신 러닝을 결합하여 사용자의 질문을 이해하고 답변을 제공합니다. 이 프로세스는 여러 단계로 나눌 수 있습니다.

입력 처리

사용자의 입력 프롬프트는 Copilot Chat 시스템에서 미리 처리되고 컨텍스트 정보(예시: 사용자가 현재 보고 있는 리포지토리의 이름 및 사용 중인 파일)와 결합되어 큰 언어 모델로 전송됩니다. 사용자 입력은 코드 스니펫 또는 일반 언어의 형태를 취할 수 있습니다.

사용자가 만들 수 있는 선택적 .github/copilot-instructions.md 파일에서 채팅 프롬프트에 추가 컨텍스트 정보를 자동으로 추가할 수 있습니다. 이 추가 정보는 채팅에 표시되지 않지만 지침이 모델로 전송되면 채팅 응답에 해당 파일이 참조로 나열됩니다. 사용자는 Copilot 확장 설정에서 이 기능을 사용하지 않도록 설정할 수 있습니다.

대규모 언어 모델은 프롬프트를 사용하고, 추가 컨텍스트(예시: GitHub에 저장된 리포지토리 데이터)를 수집하고, 프롬프트에 따라 응답을 제공합니다. 이 시스템은 코딩 관련 질문에만 응답하도록 설계되었습니다.

언어 모델 분석

그런 다음 사전 처리된 프롬프트는 대량의 텍스트 데이터로 학습된 신경망인 Copilot Chat 언어 모델을 통과합니다. 언어 모델이 입력 프롬프트를 분석합니다.

응답 생성

언어 모델은 입력 프롬프트와 제공된 컨텍스트에 대한 분석을 기반으로 응답을 생성합니다. 언어 모델은 추가 컨텍스트를 수집하고 프롬프트에 따라 응답을 제공할 수 있습니다. 이 응답은 생성된 코드, 코드 제안 또는 기존 코드에 대한 설명의 형태를 취할 수 있습니다.

@github 채팅 참가자를 사용하는 경우 Copilot Chat은(는) GitHub에 저장된 코드에서 컨텍스트를 수집하고 Bing에서 결과를 검색할 수 있습니다(관리자가 사용하도록 설정한 경우).

출력 형식

데이터 변수 Copilot Chat에서 생성된 응답은 형식이 지정되어 사용자에게 표시됩니다. Copilot Chat는 구문 강조 표시, 들여쓰기 및 기타 서식 지정 기능을 사용하여 생성된 응답에 명확성을 더할 수 있습니다. 사용자의 질문 유형에 따라 소스 코드 파일 또는 설명서 등 모델이 응답을 생성할 때 사용하는 컨텍스트에 대한 링크도 제공될 수 있습니다.

GitHub Copilot Chat은 질문에 가장 관련성이 높은 답변을 제공하기 위한 것입니다. 그러나 항상 원하는 답변을 제공하지는 않을 수도 있습니다. 데이터 변수 Copilot Chat 사용자는 시스템에서 생성된 응답을 검토하고 검증하여 정확하고 적절한지 확인할 책임이 있습니다. 또한 제품 개발 프로세스의 일환으로 Copilot Chat의 안전성을 이해하고 개선하기 위해 레드 팀을 구성합니다. 입력 프롬프트 및 출력 완성은 콘텐츠 필터를 통해 실행됩니다. 콘텐츠 필터링 시스템은 유해, 공격적 또는 오프 토픽 콘텐츠를 포함하여 특정 범주의 콘텐츠에 대한 출력을 감지하고 방지합니다. GitHub Copilot Chat의 성능 향상에 대한 자세한 내용은 "GitHub Copilot Chat의 성능 향상" 항목을 참조하세요.

질문에 대답하기 위해 웹 검색 활용

Note

Copilot Chat의 Bing Search 통합은 현재 공개 미리 보기이며 변경될 수 있습니다.

@github 채팅 참가자를 사용하는 경우 GitHub Copilot Chat은(는) Bing 검색을 통해 관리자가 이 기능을 사용하도록 설정한 경우 질문에 답변할 수 있습니다.

GitHub Enterprise 관리자는 전체 기업에서 Bing을 사용하도록 설정하거나 조직 관리자에게 이 결정을 위임할 수 있습니다. 자세한 내용은 "엔터프라이즈에서 GitHub Copilot에 대한 정책 적용"을(를) 참조하세요.

Bing을 활용하는 경우 Copilot은(는) 프롬프트의 콘텐츠와 사용 가능한 추가 컨텍스트를 사용하여 Bing Search API로 전송되는 Bing 검색 쿼리를 생성합니다. Copilot은(는) 응답과 함께 검색 결과에 대한 링크를 제공합니다. Bing으로 전송되는 검색 쿼리는 Microsoft의 개인정보처리방침에 따라 관리됩니다.

데이터 변수 GitHub Copilot Chat의 사용 사례

데이터 변수 GitHub Copilot Chat은 다양한 시나리오에서 코딩 지원을 제공할 수 있습니다.

단위 테스트 사례 생성

Copilot Chat은(는) 편집기에서 열려 있는 코드 또는 편집기에서 강조 표시한 코드 조각을 기반으로 코드 조각을 생성하여 단위 테스트 사례를 작성하는 데 도움이 될 수 있습니다. 이렇게 하면 반복적인 작업에 많은 시간을 소비하지 않고도 테스트 케이스를 작성하는 데 도움이 될 수 있습니다. 예를 들어 특정 함수에 대한 테스트 케이스를 작성하는 경우 Copilot Chat를 사용하여 함수의 서명 및 본문을 기반으로 가능한 입력 매개변수와 예상 출력 값을 제안할 수 있습니다. 또한 Copilot Chat는 코드의 컨텍스트와 의미에 따라 함수가 올바르게 작동하는지 확인하는 어설션을 제안할 수도 있습니다.

데이터 변수 Copilot Chat는 수동으로 식별하기 어려울 수 있는 에지 케이스 및 경계 조건에 대한 테스트 사례를 작성하는 데에도 도움이 될 수 있습니다. 예를 들어 Copilot Chat는 오류 처리, 널 값 또는 예기치 않은 입력 유형에 대한 테스트 사례를 제안하여 코드의 견고성과 복원력을 보장할 수 있도록 도와줍니다. 하지만 생성된 테스트 케이스가 가능한 모든 시나리오를 다루지는 않을 수 있으며, 코드의 품질을 보장하기 위해서는 여전히 수동 테스트 및 코드 검토가 필요하다는 점에 유의해야 합니다. 단위 테스트 사례를 생성하는 방법에 대한 자세한 내용은 "코드에 대한 GitHub Copilot Chat 질문" 항목을 참조하세요.

코드 설명 및 기능 향상 제안

Copilot Chat는 코드의 기능과 목적에 대한 자연어 설명을 생성하여 선택한 코드를 설명하는 데 도움을 줄 수 있습니다. 코드의 동작을 이해하려는 경우나 코드의 작동 방식을 이해해야 하는 비기술적인 이해 관계자에게 유용할 수 있습니다. 예를 들어 코드 편집기에서 함수나 코드 블록을 선택하면 Copilot Chat가 해당 코드가 수행하는 작업과 전체 시스템에 어떻게 적용되는지에 대한 자연어 설명을 생성할 수 있습니다. 여기에는 함수의 입력 및 출력 매개변수, 종속성, 더 큰 애플리케이션에서의 목적과 같은 정보가 포함될 수 있습니다.

Copilot Chat은(는) 오류 및 에지 사례 처리 개선, 논리 흐름 변경 등 코드를 더 쉽게 읽을 수 있도록 선택한 코드에 대한 잠재적인 개선 사항을 제안할 수 있습니다.

데이터 변수에 대한 설명을 생성하고 관련 문서를 제안함으로써 Copilot Chat는 선택한 코드를 이해하는 데 도움을 주어 협업을 개선하고 보다 효과적인 소프트웨어 개발을 유도할 수 있습니다. 하지만 생성된 설명과 문서가 항상 정확하거나 완전하지 않을 수 있으므로 Copilot Chat의 출력을 검토하고 때때로 수정해야 한다는 점에 유의해야 합니다.

코드 수정 제안하기

Copilot Chat는 오류 또는 문제의 컨텍스트에 따라 코드 스니펫과 해결 방법을 제안하여 코드의 버그에 대한 수정을 제안할 수 있습니다. 이 기능은 버그의 근본 원인을 파악하는 데 어려움을 겪고 있거나 버그를 수정하는 가장 좋은 방법에 대한 지침이 필요한 경우에 유용할 수 있습니다. 예를 들어 코드에서 오류 메시지나 경고가 생성되는 경우 Copilot Chat는 오류 메시지, 코드 구문 및 주변 코드를 기반으로 가능한 수정 사항을 제안할 수 있습니다.

Copilot Chat는 문제를 해결할 수 있는 변수, 제어 구조 또는 함수 호출 변경을 제안하고 코드베이스에 통합할 수 있는 코드 스니펫을 생성할 수 있습니다. 하지만 제안된 수정 사항이 항상 최적이거나 완전하지 않을 수 있으므로 제안 사항을 검토하고 테스트해야 한다는 점에 유의해야 합니다.

코딩 관련 질문에 답하기

데이터 변수 Copilot Chat에 특정 코딩 문제에 대한 도움이나 설명을 요청하고 자연어 형식 또는 코드 스니펫 형식으로 답변을 받을 수 있습니다.

Copilot Chat에서 생성된 응답은 모델의 학습 데이터 집합을 사용하여 질문에 답변합니다.

@github 채팅 참가자를 사용하는 경우 생성된 응답은 Bing의 검색 결과, 리포지토리의 코드 및 기술 자료의 Markdown 설명서를 추가로 사용할 수 있습니다.

일반적인 코딩 작업과 과제에 대한 지침과 지원을 제공할 수 있으므로 프로그래머에게 유용한 도구가 될 수 있습니다.

데이터 변수 GitHub Copilot Chat의 성능 개선

Copilot Chat는 코드 생성, 코드 분석 및 코드 수정과 같은 광범위한 실제 애플리케이션을 지원할 수 있으며, 각각 다른 성능 지표 및 완화 전략을 사용할 수 있습니다. 성능을 개선하고 Copilot Chat의 일부 한계를 해결하기 위해 채택할 수 있는 다양한 방법이 있습니다. Copilot Chat의 제한 사항에 대한 자세한 내용은 "GitHub Copilot Chat의 제한 사항" 항목을 참조하세요.

주제에 맞는 프롬프트 유지

Copilot Chat는 코딩과 관련된 쿼리만 처리하도록 되어 있습니다. 따라서 프롬프트를 코딩 질문이나 작업으로 제한하면 모델의 출력 품질을 향상시킬 수 있습니다.

데이터 변수를 대체하는 것이 아니라 Copilot Chat를 도구로 사용하세요.

데이터 변수 Copilot Chat는 코드 생성을 위한 강력한 도구가 될 수 있지만, 사람의 프로그래밍을 대체하는 것이 아니라 도구로 사용하는 것이 중요합니다. 데이터 변수 Copilot Chat에서 생성된 코드를 항상 검토하고 테스트하여 요구 사항을 충족하고 오류나 보안 문제가 없는지 확인해야 합니다.

보안 코딩 및 코드 검토 관행 사용

Copilot Chat는 구문상 올바른 코드를 생성할 수 있지만 항상 안전하지는 않을 수 있습니다. 하드 코딩된 비밀번호나 SQL 삽입 취약점을 피하고 코드 검토 모범 사례를 따르는 등 항상 보안 코딩 모범 사례를 따라 Copilot Chat의 한계를 해결해야 합니다.

피드백 제공

Copilot Chat에 문제가 있거나 제한 사항이 있는 경우, IDE의 Copilot Chat 인터페이에서 피드백 공유 링크를 통해 피드백을 제공하세요. 이를 통해 개발자가 도구를 개선하고 우려 사항이나 한계를 해결하는 데 도움이 될 수 있습니다.

최신 소식을 받아보세요.

Copilot Chat는 새로운 기술이며 시간이 지남에 따라 발전할 가능성이 높습니다. 도구에 대한 업데이트나 변경사항은 물론 새로운 보안 위험이나 모범 사례에 대한 최신 정보를 파악해야 합니다. 자동 확장 업데이트는 Visual Studio Code, Visual Studio, JetBrains의 IDE 제품군에서 기본적으로 활성화되어 있습니다. GitHub Copilot Chat in GitHub의 경우 항상 최신 제품 환경에 액세스할 수 있습니다. 자동 업데이트를 사용하도록 설정한 경우 IDE를 열면 Copilot Chat가 자동으로 최신 버전으로 업데이트됩니다. IDE의 자동 업데이트에 대한 자세한 내용은 Visual Studio Code 설명서, Visual Studio 설명서, JetBrains IDE 설명서를 참조하세요.

데이터 변수의 제한 사항 GitHub Copilot Chat

코드베이스 및 입력 데이터와 같은 요인에 따라 Copilot Chat를 사용할 때 성능 수준이 달라질 수 있습니다. 다음 정보는 Copilot Chat에 적용되는 시스템 제한 사항 및 성능에 대한 주요 개념을 이해하는 데 도움이 되도록 고안되었습니다.

제한된 범위

Copilot Chat은(는) 대규모 코드 본문에 대해 학습되었지만 범위가 제한되어 있어 더 복잡한 코드 구조나 모호한 프로그래밍 언어를 처리하지 못할 수도 있습니다. 각 언어의 경우 해당 언어에 대한 학습 데이터의 양과 다양성에 따라 제공되는 제안의 품질이 달라질 수 있습니다. 예를 들어 JavaScript는 공용 리포지토리에 잘 표현되어 있으며 GitHub Copilot에서 가장 잘 지원되는 언어 중 하나입니다. 공개 리포지토리에 잘 표현되어 있지 않은 언어는 Copilot Chat에서 지원을 제공하기가 더 어려울 수 있습니다. 또한 Copilot Chat는 작성 중인 코드의 컨텍스트에 기반한 코드만 제안할 수 있으므로 더 큰 디자인이나 아키텍처 문제를 식별하지 못할 수도 있습니다.

잠재적 편향성

Copilot의 학습 데이터는 기존 코드 리포지토리에서 가져온 것으로, 도구에 의해 지속될 수 있는 편견과 오류가 포함될 수 있습니다. 또한 Copilot Chat는 특정 프로그래밍 언어 또는 코딩 스타일에 편향되어 있어 차선책 또는 불완전한 코드 제안으로 이어질 수 있습니다.

보안 위험

Copilot Chat는 작성 중인 코드의 컨텍스트에 따라 코드를 생성하므로 신중하게 사용하지 않을 경우 민감한 정보나 취약점이 노출될 수 있습니다. 보안에 민감한 애플리케이션의 코드를 생성하는 데 Copilot Chat를 사용할 때는 주의해야 하며, 생성된 코드를 항상 철저히 검토하고 테스트해야 합니다.

공개 코드와 일치

Copilot Chat는 새 코드를 생성할 수 있으며, 이 경우 확률적인 방식으로 코드를 생성합니다. 학습 집합의 코드와 일치하는 코드를 생성할 확률은 낮지만 Copilot Chat 제안에는 학습 집합의 코드와 일치하는 코드 조각이 일부 포함될 수 있습니다.

공용 코드와 일치하는 제안을 사용하지 않도록 설정한 경우 Copilot Chat은(는) GitHub의 공용 리포지토리에 있는 코드와 일치하는 코드를 표시하지 못하게 하는 필터를 활용합니다. 그러나 적합성을 보장하기 위한 예방 조치를 포함하여 독립적으로 시작되지 않은 자료를 사용하는 모든 코드와 마찬가지로 항상 동일한 예방 조치를 취해야 합니다. 여기에는 엄격한 테스트, IP 스캔, 보안 취약점 확인 등이 포함됩니다. IDE 또는 편집기가 생성된 코드를 자동으로 컴파일하거나 실행하지 않는지 확인한 후 검토해야 합니다.

공용 코드와 일치하는 제안을 사용하도록 설정한 경우 일치하는 코드가 있으면 Copilot Chat이(가) 메시지를 표시합니다. 메시지에는 VS Code 편집기에서 일치하는 코드의 세부 정보와 발견된 라이선스 세부 정보를 표시할 수 있는 링크가 포함되어 있습니다. 자세한 내용은 "GitHub Copilot 제안과 일치하는 공용 코드 찾기"을(를) 참조하세요.

Copilot Chat는 리포지토리의 공개 코드와의 일치를 차단하는 필터를 사용하지만, 사용자가 직접 작성하지 않은 자료를 사용하는 코드에 대해서는 항상 적합성 확인을 위한 예방 조치를 포함하여 작성할 때와 동일한 예방 조치를 취해야 합니다. 여기에는 엄격한 테스트, IP 스캔, 보안 취약점 확인 등이 포함됩니다. IDE 또는 편집기가 생성된 코드를 자동으로 컴파일하거나 실행하지 않는지 확인한 후 검토해야 합니다.

Copilot Chat는 리포지토리의 공개 코드와의 일치를 차단하는 필터를 사용하지만, 사용자가 직접 작성하지 않은 자료를 사용하는 코드에 대해서는 항상 적합성 확인을 위한 예방 조치를 포함하여 작성할 때와 동일한 예방 조치를 취해야 합니다. 여기에는 엄격한 테스트, IP 스캔, 보안 취약점 확인 등이 포함됩니다. IDE 또는 편집기가 생성된 코드를 자동으로 컴파일하거나 실행하지 않는지 확인한 후 검토해야 합니다.

부정확한 코드

Copilot Chat의 한계 중 하나는 유효해 보이지만 실제로는 의미론적 또는 구문론적으로 올바르지 않거나 개발자의 의도를 정확하게 반영하지 못할 수 있는 코드를 생성할 수 있다는 것입니다. 부정확한 코드의 위험을 줄이려면 특히 중요하거나 민감한 애플리케이션을 다룰 때 생성된 코드를 신중하게 검토하고 테스트해야 합니다. 또한 생성된 코드가 모범 사례 및 디자인 패턴을 준수하고 코드베이스의 전체 아키텍처 및 스타일에 맞는지 확인해야 합니다.

코딩이 아닌 주제에 대한 부정확한 답변

Copilot Chat는 코딩이 아닌 질문에 답변하도록 설계되지 않았으므로 이러한 상황에서 응답이 항상 정확하거나 도움이 되지 않을 수 있습니다. 사용자가 Copilot Chat에 코딩이 아닌 질문을 하면 관련성이 없거나 무의미한 답변을 생성하거나 단순히 유용한 답변을 제공할 수 없음을 나타낼 수 있습니다.

다음 단계

GitHub Copilot Chat 사용 방법에 대한 자세한 내용은 다음을 참조하세요.

추가 참고 자료

데이터 변수 GitHub Copilot Chat 정보

GitHub Copilot Chat은(는) GitHub 웹사이트 및 지원되는 IDE에서 코딩 관련 질문을 하고 답변을 받으면서 GitHub Copilot와(과) 상호 작용할 수 있는 채팅 인터페이스입니다. 채팅 인터페이스를 사용하면 설명서를 탐색하거나 온라인 포럼을 검색할 필요 없이 코딩 정보 및 지원에 액세스할 수 있습니다. 자세한 내용은 "GitHub Copilot이란?"을(를) 참조하세요.

GitHub Copilot Chat은 구문, 프로그래밍 개념, 테스트 사례, 디버깅 등의 주제에 대한 광범위한 코딩 관련 질문에 답변할 수 있습니다. GitHub Copilot Chat은 코딩이 아닌 질문에 답변하거나 코딩 이외의 주제에 대한 일반적인 정보를 제공하도록 설계되지 않았습니다.

GitHub Copilot Chat에 주로 지원되는 언어는 영어입니다.

GitHub Copilot Chat은 자연어 처리와 머신 러닝을 결합하여 사용자의 질문을 이해하고 답변을 제공합니다. 이 프로세스는 여러 단계로 나눌 수 있습니다.

입력 처리

사용자의 입력 프롬프트는 Copilot Chat 시스템에서 미리 처리되고 컨텍스트 정보(예시: 사용자가 현재 보고 있는 리포지토리의 이름 및 사용 중인 파일)와 결합되어 큰 언어 모델로 전송됩니다. 사용자 입력은 코드 스니펫 또는 일반 언어의 형태를 취할 수 있습니다.

사용자가 만들 수 있는 선택적 .github/copilot-instructions.md 파일에서 채팅 프롬프트에 추가 컨텍스트 정보를 자동으로 추가할 수 있습니다. 이 추가 정보는 채팅에 표시되지 않지만 지침이 모델로 전송되면 채팅 응답에 해당 파일이 참조로 나열됩니다. 사용자는 Copilot 확장 설정에서 이 기능을 사용하지 않도록 설정할 수 있습니다.

대규모 언어 모델은 프롬프트를 사용하고, 추가 컨텍스트(예시: GitHub에 저장된 리포지토리 데이터)를 수집하고, 프롬프트에 따라 응답을 제공합니다. 이 시스템은 코딩 관련 질문에만 응답하도록 설계되었습니다.

언어 모델 분석

그런 다음 사전 처리된 프롬프트는 대량의 텍스트 데이터로 학습된 신경망인 Copilot Chat 언어 모델을 통과합니다. 언어 모델이 입력 프롬프트를 분석합니다.

응답 생성

언어 모델은 입력 프롬프트와 제공된 컨텍스트에 대한 분석을 기반으로 응답을 생성합니다. 언어 모델은 추가 컨텍스트를 수집하고 프롬프트에 따라 응답을 제공할 수 있습니다. 이 응답은 생성된 코드, 코드 제안 또는 기존 코드에 대한 설명의 형태를 취할 수 있습니다.

@github 채팅 참가자를 사용하는 경우 Copilot Chat은(는) GitHub에 저장된 코드에서 컨텍스트를 수집하고 Bing에서 결과를 검색할 수 있습니다(관리자가 사용하도록 설정한 경우).

출력 형식

데이터 변수 Copilot Chat에서 생성된 응답은 형식이 지정되어 사용자에게 표시됩니다. Copilot Chat는 구문 강조 표시, 들여쓰기 및 기타 서식 지정 기능을 사용하여 생성된 응답에 명확성을 더할 수 있습니다. 사용자의 질문 유형에 따라 소스 코드 파일 또는 설명서 등 모델이 응답을 생성할 때 사용하는 컨텍스트에 대한 링크도 제공될 수 있습니다.

GitHub Copilot Chat은 질문에 가장 관련성이 높은 답변을 제공하기 위한 것입니다. 그러나 항상 원하는 답변을 제공하지는 않을 수도 있습니다. 데이터 변수 Copilot Chat 사용자는 시스템에서 생성된 응답을 검토하고 검증하여 정확하고 적절한지 확인할 책임이 있습니다. 또한 제품 개발 프로세스의 일환으로 Copilot Chat의 안전성을 이해하고 개선하기 위해 레드 팀을 구성합니다. 입력 프롬프트 및 출력 완성은 콘텐츠 필터를 통해 실행됩니다. 콘텐츠 필터링 시스템은 유해, 공격적 또는 오프 토픽 콘텐츠를 포함하여 특정 범주의 콘텐츠에 대한 출력을 감지하고 방지합니다. GitHub Copilot Chat의 성능 향상에 대한 자세한 내용은 "GitHub Copilot Chat의 성능 향상" 항목을 참조하세요.

질문에 대답하기 위해 웹 검색 활용

Note

Copilot Chat의 Bing Search 통합은 현재 공개 미리 보기이며 변경될 수 있습니다.

@github 채팅 참가자를 사용하는 경우 GitHub Copilot Chat은(는) Bing 검색을 통해 관리자가 이 기능을 사용하도록 설정한 경우 질문에 답변할 수 있습니다.

GitHub Enterprise 관리자는 전체 기업에서 Bing을 사용하도록 설정하거나 조직 관리자에게 이 결정을 위임할 수 있습니다. 자세한 내용은 "엔터프라이즈에서 GitHub Copilot에 대한 정책 적용"을(를) 참조하세요.

Bing을 활용하는 경우 Copilot은(는) 프롬프트의 콘텐츠와 사용 가능한 추가 컨텍스트를 사용하여 Bing Search API로 전송되는 Bing 검색 쿼리를 생성합니다. Copilot은(는) 응답과 함께 검색 결과에 대한 링크를 제공합니다. Bing으로 전송되는 검색 쿼리는 Microsoft의 개인정보처리방침에 따라 관리됩니다.

데이터 변수 GitHub Copilot Chat의 사용 사례

데이터 변수 GitHub Copilot Chat은 다양한 시나리오에서 코딩 지원을 제공할 수 있습니다.

단위 테스트 사례 생성

Copilot Chat은(는) 편집기에서 열려 있는 코드 또는 편집기에서 강조 표시한 코드 조각을 기반으로 코드 조각을 생성하여 단위 테스트 사례를 작성하는 데 도움이 될 수 있습니다. 이렇게 하면 반복적인 작업에 많은 시간을 소비하지 않고도 테스트 케이스를 작성하는 데 도움이 될 수 있습니다. 예를 들어 특정 함수에 대한 테스트 케이스를 작성하는 경우 Copilot Chat를 사용하여 함수의 서명 및 본문을 기반으로 가능한 입력 매개변수와 예상 출력 값을 제안할 수 있습니다. 또한 Copilot Chat는 코드의 컨텍스트와 의미에 따라 함수가 올바르게 작동하는지 확인하는 어설션을 제안할 수도 있습니다.

데이터 변수 Copilot Chat는 수동으로 식별하기 어려울 수 있는 에지 케이스 및 경계 조건에 대한 테스트 사례를 작성하는 데에도 도움이 될 수 있습니다. 예를 들어 Copilot Chat는 오류 처리, 널 값 또는 예기치 않은 입력 유형에 대한 테스트 사례를 제안하여 코드의 견고성과 복원력을 보장할 수 있도록 도와줍니다. 하지만 생성된 테스트 케이스가 가능한 모든 시나리오를 다루지는 않을 수 있으며, 코드의 품질을 보장하기 위해서는 여전히 수동 테스트 및 코드 검토가 필요하다는 점에 유의해야 합니다. 단위 테스트 사례를 생성하는 방법에 대한 자세한 내용은 "코드에 대한 GitHub Copilot Chat 질문" 항목을 참조하세요.

코드 설명 및 기능 향상 제안

Copilot Chat는 코드의 기능과 목적에 대한 자연어 설명을 생성하여 선택한 코드를 설명하는 데 도움을 줄 수 있습니다. 코드의 동작을 이해하려는 경우나 코드의 작동 방식을 이해해야 하는 비기술적인 이해 관계자에게 유용할 수 있습니다. 예를 들어 코드 편집기에서 함수나 코드 블록을 선택하면 Copilot Chat가 해당 코드가 수행하는 작업과 전체 시스템에 어떻게 적용되는지에 대한 자연어 설명을 생성할 수 있습니다. 여기에는 함수의 입력 및 출력 매개변수, 종속성, 더 큰 애플리케이션에서의 목적과 같은 정보가 포함될 수 있습니다.

Copilot Chat은(는) 오류 및 에지 사례 처리 개선, 논리 흐름 변경 등 코드를 더 쉽게 읽을 수 있도록 선택한 코드에 대한 잠재적인 개선 사항을 제안할 수 있습니다.

데이터 변수에 대한 설명을 생성하고 관련 문서를 제안함으로써 Copilot Chat는 선택한 코드를 이해하는 데 도움을 주어 협업을 개선하고 보다 효과적인 소프트웨어 개발을 유도할 수 있습니다. 하지만 생성된 설명과 문서가 항상 정확하거나 완전하지 않을 수 있으므로 Copilot Chat의 출력을 검토하고 때때로 수정해야 한다는 점에 유의해야 합니다.

코드 수정 제안하기

Copilot Chat는 오류 또는 문제의 컨텍스트에 따라 코드 스니펫과 해결 방법을 제안하여 코드의 버그에 대한 수정을 제안할 수 있습니다. 이 기능은 버그의 근본 원인을 파악하는 데 어려움을 겪고 있거나 버그를 수정하는 가장 좋은 방법에 대한 지침이 필요한 경우에 유용할 수 있습니다. 예를 들어 코드에서 오류 메시지나 경고가 생성되는 경우 Copilot Chat는 오류 메시지, 코드 구문 및 주변 코드를 기반으로 가능한 수정 사항을 제안할 수 있습니다.

Copilot Chat는 문제를 해결할 수 있는 변수, 제어 구조 또는 함수 호출 변경을 제안하고 코드베이스에 통합할 수 있는 코드 스니펫을 생성할 수 있습니다. 하지만 제안된 수정 사항이 항상 최적이거나 완전하지 않을 수 있으므로 제안 사항을 검토하고 테스트해야 한다는 점에 유의해야 합니다.

코딩 관련 질문에 답하기

데이터 변수 Copilot Chat에 특정 코딩 문제에 대한 도움이나 설명을 요청하고 자연어 형식 또는 코드 스니펫 형식으로 답변을 받을 수 있습니다.

Copilot Chat에서 생성된 응답은 모델의 학습 데이터 집합을 사용하여 질문에 답변합니다.

일반적인 코딩 작업과 과제에 대한 지침과 지원을 제공할 수 있으므로 프로그래머에게 유용한 도구가 될 수 있습니다.

데이터 변수 GitHub Copilot Chat의 성능 개선

Copilot Chat는 코드 생성, 코드 분석 및 코드 수정과 같은 광범위한 실제 애플리케이션을 지원할 수 있으며, 각각 다른 성능 지표 및 완화 전략을 사용할 수 있습니다. 성능을 개선하고 Copilot Chat의 일부 한계를 해결하기 위해 채택할 수 있는 다양한 방법이 있습니다. Copilot Chat의 제한 사항에 대한 자세한 내용은 "GitHub Copilot Chat의 제한 사항" 항목을 참조하세요.

주제에 맞는 프롬프트 유지

Copilot Chat는 코딩과 관련된 쿼리만 처리하도록 되어 있습니다. 따라서 프롬프트를 코딩 질문이나 작업으로 제한하면 모델의 출력 품질을 향상시킬 수 있습니다.

데이터 변수를 대체하는 것이 아니라 Copilot Chat를 도구로 사용하세요.

데이터 변수 Copilot Chat는 코드 생성을 위한 강력한 도구가 될 수 있지만, 사람의 프로그래밍을 대체하는 것이 아니라 도구로 사용하는 것이 중요합니다. 데이터 변수 Copilot Chat에서 생성된 코드를 항상 검토하고 테스트하여 요구 사항을 충족하고 오류나 보안 문제가 없는지 확인해야 합니다.

보안 코딩 및 코드 검토 관행 사용

Copilot Chat는 구문상 올바른 코드를 생성할 수 있지만 항상 안전하지는 않을 수 있습니다. 하드 코딩된 비밀번호나 SQL 삽입 취약점을 피하고 코드 검토 모범 사례를 따르는 등 항상 보안 코딩 모범 사례를 따라 Copilot Chat의 한계를 해결해야 합니다.

피드백 제공

Copilot Chat에 문제가 있거나 제한 사항이 있는 경우, IDE의 Copilot Chat 인터페이에서 피드백 공유 링크를 통해 피드백을 제공하세요. 이를 통해 개발자가 도구를 개선하고 우려 사항이나 한계를 해결하는 데 도움이 될 수 있습니다.

최신 소식을 받아보세요.

Copilot Chat는 새로운 기술이며 시간이 지남에 따라 발전할 가능성이 높습니다. 도구에 대한 업데이트나 변경사항은 물론 새로운 보안 위험이나 모범 사례에 대한 최신 정보를 파악해야 합니다. 자동 확장 업데이트는 Visual Studio Code, Visual Studio, JetBrains의 IDE 제품군에서 기본적으로 활성화되어 있습니다. GitHub Copilot Chat in GitHub의 경우 항상 최신 제품 환경에 액세스할 수 있습니다. 자동 업데이트를 사용하도록 설정한 경우 IDE를 열면 Copilot Chat가 자동으로 최신 버전으로 업데이트됩니다. IDE의 자동 업데이트에 대한 자세한 내용은 Visual Studio Code 설명서, Visual Studio 설명서, JetBrains IDE 설명서를 참조하세요.

데이터 변수의 제한 사항 GitHub Copilot Chat

코드베이스 및 입력 데이터와 같은 요인에 따라 Copilot Chat를 사용할 때 성능 수준이 달라질 수 있습니다. 다음 정보는 Copilot Chat에 적용되는 시스템 제한 사항 및 성능에 대한 주요 개념을 이해하는 데 도움이 되도록 고안되었습니다.

제한된 범위

Copilot Chat은(는) 대규모 코드 본문에 대해 학습되었지만 범위가 제한되어 있어 더 복잡한 코드 구조나 모호한 프로그래밍 언어를 처리하지 못할 수도 있습니다. 각 언어의 경우 해당 언어에 대한 학습 데이터의 양과 다양성에 따라 제공되는 제안의 품질이 달라질 수 있습니다. 예를 들어 JavaScript는 공용 리포지토리에 잘 표현되어 있으며 GitHub Copilot에서 가장 잘 지원되는 언어 중 하나입니다. 공개 리포지토리에 잘 표현되어 있지 않은 언어는 Copilot Chat에서 지원을 제공하기가 더 어려울 수 있습니다. 또한 Copilot Chat는 작성 중인 코드의 컨텍스트에 기반한 코드만 제안할 수 있으므로 더 큰 디자인이나 아키텍처 문제를 식별하지 못할 수도 있습니다.

잠재적 편향성

Copilot의 학습 데이터는 기존 코드 리포지토리에서 가져온 것으로, 도구에 의해 지속될 수 있는 편견과 오류가 포함될 수 있습니다. 또한 Copilot Chat는 특정 프로그래밍 언어 또는 코딩 스타일에 편향되어 있어 차선책 또는 불완전한 코드 제안으로 이어질 수 있습니다.

보안 위험

Copilot Chat는 작성 중인 코드의 컨텍스트에 따라 코드를 생성하므로 신중하게 사용하지 않을 경우 민감한 정보나 취약점이 노출될 수 있습니다. 보안에 민감한 애플리케이션의 코드를 생성하는 데 Copilot Chat를 사용할 때는 주의해야 하며, 생성된 코드를 항상 철저히 검토하고 테스트해야 합니다.

공개 코드와 일치

Copilot Chat는 새 코드를 생성할 수 있으며, 이 경우 확률적인 방식으로 코드를 생성합니다. 학습 집합의 코드와 일치하는 코드를 생성할 확률은 낮지만 Copilot Chat 제안에는 학습 집합의 코드와 일치하는 코드 조각이 일부 포함될 수 있습니다.

공용 코드와 일치하는 제안을 사용하지 않도록 설정한 경우 Copilot Chat은(는) GitHub의 공용 리포지토리에 있는 코드와 일치하는 코드를 표시하지 못하게 하는 필터를 활용합니다. 그러나 적합성을 보장하기 위한 예방 조치를 포함하여 독립적으로 시작되지 않은 자료를 사용하는 모든 코드와 마찬가지로 항상 동일한 예방 조치를 취해야 합니다. 여기에는 엄격한 테스트, IP 스캔, 보안 취약점 확인 등이 포함됩니다. IDE 또는 편집기가 생성된 코드를 자동으로 컴파일하거나 실행하지 않는지 확인한 후 검토해야 합니다.

공용 코드와 일치하는 제안을 사용하도록 설정한 경우 일치하는 코드가 있으면 Copilot Chat이(가) 메시지를 표시합니다. 메시지에는 VS Code 편집기에서 일치하는 코드의 세부 정보와 발견된 라이선스 세부 정보를 표시할 수 있는 링크가 포함되어 있습니다. 자세한 내용은 "GitHub Copilot 제안과 일치하는 공용 코드 찾기"을(를) 참조하세요.

Copilot Chat는 리포지토리의 공개 코드와의 일치를 차단하는 필터를 사용하지만, 사용자가 직접 작성하지 않은 자료를 사용하는 코드에 대해서는 항상 적합성 확인을 위한 예방 조치를 포함하여 작성할 때와 동일한 예방 조치를 취해야 합니다. 여기에는 엄격한 테스트, IP 스캔, 보안 취약점 확인 등이 포함됩니다. IDE 또는 편집기가 생성된 코드를 자동으로 컴파일하거나 실행하지 않는지 확인한 후 검토해야 합니다.

Copilot Chat는 리포지토리의 공개 코드와의 일치를 차단하는 필터를 사용하지만, 사용자가 직접 작성하지 않은 자료를 사용하는 코드에 대해서는 항상 적합성 확인을 위한 예방 조치를 포함하여 작성할 때와 동일한 예방 조치를 취해야 합니다. 여기에는 엄격한 테스트, IP 스캔, 보안 취약점 확인 등이 포함됩니다. IDE 또는 편집기가 생성된 코드를 자동으로 컴파일하거나 실행하지 않는지 확인한 후 검토해야 합니다.

부정확한 코드

Copilot Chat의 한계 중 하나는 유효해 보이지만 실제로는 의미론적 또는 구문론적으로 올바르지 않거나 개발자의 의도를 정확하게 반영하지 못할 수 있는 코드를 생성할 수 있다는 것입니다. 부정확한 코드의 위험을 줄이려면 특히 중요하거나 민감한 애플리케이션을 다룰 때 생성된 코드를 신중하게 검토하고 테스트해야 합니다. 또한 생성된 코드가 모범 사례 및 디자인 패턴을 준수하고 코드베이스의 전체 아키텍처 및 스타일에 맞는지 확인해야 합니다.

코딩이 아닌 주제에 대한 부정확한 답변

Copilot Chat는 코딩이 아닌 질문에 답변하도록 설계되지 않았으므로 이러한 상황에서 응답이 항상 정확하거나 도움이 되지 않을 수 있습니다. 사용자가 Copilot Chat에 코딩이 아닌 질문을 하면 관련성이 없거나 무의미한 답변을 생성하거나 단순히 유용한 답변을 제공할 수 없음을 나타낼 수 있습니다.

다음 단계

GitHub Copilot Chat 사용 방법에 대한 자세한 내용은 다음을 참조하세요.

추가 참고 자료

데이터 변수 GitHub Copilot Chat 정보

GitHub Copilot Chat은(는) GitHub 웹사이트 및 지원되는 IDE에서 코딩 관련 질문을 하고 답변을 받으면서 GitHub Copilot와(과) 상호 작용할 수 있는 채팅 인터페이스입니다. 채팅 인터페이스를 사용하면 설명서를 탐색하거나 온라인 포럼을 검색할 필요 없이 코딩 정보 및 지원에 액세스할 수 있습니다. 자세한 내용은 "GitHub Copilot이란?"을(를) 참조하세요.

GitHub Copilot Chat은 구문, 프로그래밍 개념, 테스트 사례, 디버깅 등의 주제에 대한 광범위한 코딩 관련 질문에 답변할 수 있습니다. GitHub Copilot Chat은 코딩이 아닌 질문에 답변하거나 코딩 이외의 주제에 대한 일반적인 정보를 제공하도록 설계되지 않았습니다.

GitHub Copilot Chat에 주로 지원되는 언어는 영어입니다.

GitHub Copilot Chat은 자연어 처리와 머신 러닝을 결합하여 사용자의 질문을 이해하고 답변을 제공합니다. 이 프로세스는 여러 단계로 나눌 수 있습니다.

입력 처리

사용자의 입력 프롬프트는 Copilot Chat 시스템에서 미리 처리되고 컨텍스트 정보(예시: 사용자가 현재 보고 있는 리포지토리의 이름 및 사용 중인 파일)와 결합되어 큰 언어 모델로 전송됩니다. 사용자 입력은 코드 스니펫 또는 일반 언어의 형태를 취할 수 있습니다.

대규모 언어 모델은 프롬프트를 사용하고, 추가 컨텍스트(예시: GitHub에 저장된 리포지토리 데이터)를 수집하고, 프롬프트에 따라 응답을 제공합니다. 이 시스템은 코딩 관련 질문에만 응답하도록 설계되었습니다.

언어 모델 분석

그런 다음 사전 처리된 프롬프트는 대량의 텍스트 데이터로 학습된 신경망인 Copilot Chat 언어 모델을 통과합니다. 언어 모델이 입력 프롬프트를 분석합니다.

응답 생성

언어 모델은 입력 프롬프트와 제공된 컨텍스트에 대한 분석을 기반으로 응답을 생성합니다. 언어 모델은 추가 컨텍스트를 수집하고 프롬프트에 따라 응답을 제공할 수 있습니다. 이 응답은 생성된 코드, 코드 제안 또는 기존 코드에 대한 설명의 형태를 취할 수 있습니다.

출력 형식

데이터 변수 Copilot Chat에서 생성된 응답은 형식이 지정되어 사용자에게 표시됩니다. Copilot Chat는 구문 강조 표시, 들여쓰기 및 기타 서식 지정 기능을 사용하여 생성된 응답에 명확성을 더할 수 있습니다. 사용자의 질문 유형에 따라 소스 코드 파일 또는 설명서 등 모델이 응답을 생성할 때 사용하는 컨텍스트에 대한 링크도 제공될 수 있습니다.

GitHub Copilot Chat은 질문에 가장 관련성이 높은 답변을 제공하기 위한 것입니다. 그러나 항상 원하는 답변을 제공하지는 않을 수도 있습니다. 데이터 변수 Copilot Chat 사용자는 시스템에서 생성된 응답을 검토하고 검증하여 정확하고 적절한지 확인할 책임이 있습니다. 또한 제품 개발 프로세스의 일환으로 Copilot Chat의 안전성을 이해하고 개선하기 위해 레드 팀을 구성합니다. 입력 프롬프트 및 출력 완성은 콘텐츠 필터를 통해 실행됩니다. 콘텐츠 필터링 시스템은 유해, 공격적 또는 오프 토픽 콘텐츠를 포함하여 특정 범주의 콘텐츠에 대한 출력을 감지하고 방지합니다. GitHub Copilot Chat의 성능 향상에 대한 자세한 내용은 "GitHub Copilot Chat의 성능 향상" 항목을 참조하세요.

데이터 변수 GitHub Copilot Chat의 사용 사례

데이터 변수 GitHub Copilot Chat은 다양한 시나리오에서 코딩 지원을 제공할 수 있습니다.

단위 테스트 사례 생성

Copilot Chat은(는) 편집기에서 열려 있는 코드 또는 편집기에서 강조 표시한 코드 조각을 기반으로 코드 조각을 생성하여 단위 테스트 사례를 작성하는 데 도움이 될 수 있습니다. 이렇게 하면 반복적인 작업에 많은 시간을 소비하지 않고도 테스트 케이스를 작성하는 데 도움이 될 수 있습니다. 예를 들어 특정 함수에 대한 테스트 케이스를 작성하는 경우 Copilot Chat를 사용하여 함수의 서명 및 본문을 기반으로 가능한 입력 매개변수와 예상 출력 값을 제안할 수 있습니다. 또한 Copilot Chat는 코드의 컨텍스트와 의미에 따라 함수가 올바르게 작동하는지 확인하는 어설션을 제안할 수도 있습니다.

데이터 변수 Copilot Chat는 수동으로 식별하기 어려울 수 있는 에지 케이스 및 경계 조건에 대한 테스트 사례를 작성하는 데에도 도움이 될 수 있습니다. 예를 들어 Copilot Chat는 오류 처리, 널 값 또는 예기치 않은 입력 유형에 대한 테스트 사례를 제안하여 코드의 견고성과 복원력을 보장할 수 있도록 도와줍니다. 하지만 생성된 테스트 케이스가 가능한 모든 시나리오를 다루지는 않을 수 있으며, 코드의 품질을 보장하기 위해서는 여전히 수동 테스트 및 코드 검토가 필요하다는 점에 유의해야 합니다. 단위 테스트 사례를 생성하는 방법에 대한 자세한 내용은 "코드에 대한 GitHub Copilot Chat 질문" 항목을 참조하세요.

코드 설명 및 기능 향상 제안

Copilot Chat는 코드의 기능과 목적에 대한 자연어 설명을 생성하여 선택한 코드를 설명하는 데 도움을 줄 수 있습니다. 코드의 동작을 이해하려는 경우나 코드의 작동 방식을 이해해야 하는 비기술적인 이해 관계자에게 유용할 수 있습니다. 예를 들어 코드 편집기에서 함수나 코드 블록을 선택하면 Copilot Chat가 해당 코드가 수행하는 작업과 전체 시스템에 어떻게 적용되는지에 대한 자연어 설명을 생성할 수 있습니다. 여기에는 함수의 입력 및 출력 매개변수, 종속성, 더 큰 애플리케이션에서의 목적과 같은 정보가 포함될 수 있습니다.

Copilot Chat은(는) 오류 및 에지 사례 처리 개선, 논리 흐름 변경 등 코드를 더 쉽게 읽을 수 있도록 선택한 코드에 대한 잠재적인 개선 사항을 제안할 수 있습니다.

데이터 변수에 대한 설명을 생성하고 관련 문서를 제안함으로써 Copilot Chat는 선택한 코드를 이해하는 데 도움을 주어 협업을 개선하고 보다 효과적인 소프트웨어 개발을 유도할 수 있습니다. 하지만 생성된 설명과 문서가 항상 정확하거나 완전하지 않을 수 있으므로 Copilot Chat의 출력을 검토하고 때때로 수정해야 한다는 점에 유의해야 합니다.

코드 수정 제안하기

Copilot Chat는 오류 또는 문제의 컨텍스트에 따라 코드 스니펫과 해결 방법을 제안하여 코드의 버그에 대한 수정을 제안할 수 있습니다. 이 기능은 버그의 근본 원인을 파악하는 데 어려움을 겪고 있거나 버그를 수정하는 가장 좋은 방법에 대한 지침이 필요한 경우에 유용할 수 있습니다. 예를 들어 코드에서 오류 메시지나 경고가 생성되는 경우 Copilot Chat는 오류 메시지, 코드 구문 및 주변 코드를 기반으로 가능한 수정 사항을 제안할 수 있습니다.

Copilot Chat는 문제를 해결할 수 있는 변수, 제어 구조 또는 함수 호출 변경을 제안하고 코드베이스에 통합할 수 있는 코드 스니펫을 생성할 수 있습니다. 하지만 제안된 수정 사항이 항상 최적이거나 완전하지 않을 수 있으므로 제안 사항을 검토하고 테스트해야 한다는 점에 유의해야 합니다.

코딩 관련 질문에 답하기

데이터 변수 Copilot Chat에 특정 코딩 문제에 대한 도움이나 설명을 요청하고 자연어 형식 또는 코드 스니펫 형식으로 답변을 받을 수 있습니다.

Copilot Chat에서 생성된 응답은 모델의 학습 데이터 집합을 사용하여 질문에 답변합니다.

일반적인 코딩 작업과 과제에 대한 지침과 지원을 제공할 수 있으므로 프로그래머에게 유용한 도구가 될 수 있습니다.

데이터 변수 GitHub Copilot Chat의 성능 개선

Copilot Chat는 코드 생성, 코드 분석 및 코드 수정과 같은 광범위한 실제 애플리케이션을 지원할 수 있으며, 각각 다른 성능 지표 및 완화 전략을 사용할 수 있습니다. 성능을 개선하고 Copilot Chat의 일부 한계를 해결하기 위해 채택할 수 있는 다양한 방법이 있습니다. Copilot Chat의 제한 사항에 대한 자세한 내용은 "GitHub Copilot Chat의 제한 사항" 항목을 참조하세요.

주제에 맞는 프롬프트 유지

Copilot Chat는 코딩과 관련된 쿼리만 처리하도록 되어 있습니다. 따라서 프롬프트를 코딩 질문이나 작업으로 제한하면 모델의 출력 품질을 향상시킬 수 있습니다.

데이터 변수를 대체하는 것이 아니라 Copilot Chat를 도구로 사용하세요.

데이터 변수 Copilot Chat는 코드 생성을 위한 강력한 도구가 될 수 있지만, 사람의 프로그래밍을 대체하는 것이 아니라 도구로 사용하는 것이 중요합니다. 데이터 변수 Copilot Chat에서 생성된 코드를 항상 검토하고 테스트하여 요구 사항을 충족하고 오류나 보안 문제가 없는지 확인해야 합니다.

보안 코딩 및 코드 검토 관행 사용

Copilot Chat는 구문상 올바른 코드를 생성할 수 있지만 항상 안전하지는 않을 수 있습니다. 하드 코딩된 비밀번호나 SQL 삽입 취약점을 피하고 코드 검토 모범 사례를 따르는 등 항상 보안 코딩 모범 사례를 따라 Copilot Chat의 한계를 해결해야 합니다.

피드백 제공

Copilot Chat에 문제가 있거나 제한 사항이 있는 경우, IDE의 Copilot Chat 인터페이에서 피드백 공유 링크를 통해 피드백을 제공하세요. 이를 통해 개발자가 도구를 개선하고 우려 사항이나 한계를 해결하는 데 도움이 될 수 있습니다.

최신 소식을 받아보세요.

Copilot Chat는 새로운 기술이며 시간이 지남에 따라 발전할 가능성이 높습니다. 도구에 대한 업데이트나 변경사항은 물론 새로운 보안 위험이나 모범 사례에 대한 최신 정보를 파악해야 합니다. 자동 확장 업데이트는 Visual Studio Code, Visual Studio, JetBrains의 IDE 제품군에서 기본적으로 활성화되어 있습니다. GitHub Copilot Chat in GitHub의 경우 항상 최신 제품 환경에 액세스할 수 있습니다. 자동 업데이트를 사용하도록 설정한 경우 IDE를 열면 Copilot Chat가 자동으로 최신 버전으로 업데이트됩니다. IDE의 자동 업데이트에 대한 자세한 내용은 Visual Studio Code 설명서, Visual Studio 설명서, JetBrains IDE 설명서를 참조하세요.

데이터 변수의 제한 사항 GitHub Copilot Chat

코드베이스 및 입력 데이터와 같은 요인에 따라 Copilot Chat를 사용할 때 성능 수준이 달라질 수 있습니다. 다음 정보는 Copilot Chat에 적용되는 시스템 제한 사항 및 성능에 대한 주요 개념을 이해하는 데 도움이 되도록 고안되었습니다.

제한된 범위

Copilot Chat은(는) 대규모 코드 본문에 대해 학습되었지만 범위가 제한되어 있어 더 복잡한 코드 구조나 모호한 프로그래밍 언어를 처리하지 못할 수도 있습니다. 각 언어의 경우 해당 언어에 대한 학습 데이터의 양과 다양성에 따라 제공되는 제안의 품질이 달라질 수 있습니다. 예를 들어 JavaScript는 공용 리포지토리에 잘 표현되어 있으며 GitHub Copilot에서 가장 잘 지원되는 언어 중 하나입니다. 공개 리포지토리에 잘 표현되어 있지 않은 언어는 Copilot Chat에서 지원을 제공하기가 더 어려울 수 있습니다. 또한 Copilot Chat는 작성 중인 코드의 컨텍스트에 기반한 코드만 제안할 수 있으므로 더 큰 디자인이나 아키텍처 문제를 식별하지 못할 수도 있습니다.

잠재적 편향성

Copilot의 학습 데이터는 기존 코드 리포지토리에서 가져온 것으로, 도구에 의해 지속될 수 있는 편견과 오류가 포함될 수 있습니다. 또한 Copilot Chat는 특정 프로그래밍 언어 또는 코딩 스타일에 편향되어 있어 차선책 또는 불완전한 코드 제안으로 이어질 수 있습니다.

보안 위험

Copilot Chat는 작성 중인 코드의 컨텍스트에 따라 코드를 생성하므로 신중하게 사용하지 않을 경우 민감한 정보나 취약점이 노출될 수 있습니다. 보안에 민감한 애플리케이션의 코드를 생성하는 데 Copilot Chat를 사용할 때는 주의해야 하며, 생성된 코드를 항상 철저히 검토하고 테스트해야 합니다.

공개 코드와 일치

Copilot Chat는 새 코드를 생성할 수 있으며, 이 경우 확률적인 방식으로 코드를 생성합니다. 학습 집합의 코드와 일치하는 코드를 생성할 확률은 낮지만 Copilot Chat 제안에는 학습 집합의 코드와 일치하는 코드 조각이 일부 포함될 수 있습니다.

공용 코드와 일치하는 제안을 사용하지 않도록 설정한 경우 Copilot Chat은(는) GitHub의 공용 리포지토리에 있는 코드와 일치하는 코드를 표시하지 못하게 하는 필터를 활용합니다. 그러나 적합성을 보장하기 위한 예방 조치를 포함하여 독립적으로 시작되지 않은 자료를 사용하는 모든 코드와 마찬가지로 항상 동일한 예방 조치를 취해야 합니다. 여기에는 엄격한 테스트, IP 스캔, 보안 취약점 확인 등이 포함됩니다. IDE 또는 편집기가 생성된 코드를 자동으로 컴파일하거나 실행하지 않는지 확인한 후 검토해야 합니다.

공용 코드와 일치하는 제안을 사용하도록 설정한 경우 일치하는 코드가 있으면 Copilot Chat이(가) 메시지를 표시합니다. 메시지에는 VS Code 편집기에서 일치하는 코드의 세부 정보와 발견된 라이선스 세부 정보를 표시할 수 있는 링크가 포함되어 있습니다. 자세한 내용은 "GitHub Copilot 제안과 일치하는 공용 코드 찾기"을(를) 참조하세요.

Copilot Chat는 리포지토리의 공개 코드와의 일치를 차단하는 필터를 사용하지만, 사용자가 직접 작성하지 않은 자료를 사용하는 코드에 대해서는 항상 적합성 확인을 위한 예방 조치를 포함하여 작성할 때와 동일한 예방 조치를 취해야 합니다. 여기에는 엄격한 테스트, IP 스캔, 보안 취약점 확인 등이 포함됩니다. IDE 또는 편집기가 생성된 코드를 자동으로 컴파일하거나 실행하지 않는지 확인한 후 검토해야 합니다.

Copilot Chat는 리포지토리의 공개 코드와의 일치를 차단하는 필터를 사용하지만, 사용자가 직접 작성하지 않은 자료를 사용하는 코드에 대해서는 항상 적합성 확인을 위한 예방 조치를 포함하여 작성할 때와 동일한 예방 조치를 취해야 합니다. 여기에는 엄격한 테스트, IP 스캔, 보안 취약점 확인 등이 포함됩니다. IDE 또는 편집기가 생성된 코드를 자동으로 컴파일하거나 실행하지 않는지 확인한 후 검토해야 합니다.

부정확한 코드

Copilot Chat의 한계 중 하나는 유효해 보이지만 실제로는 의미론적 또는 구문론적으로 올바르지 않거나 개발자의 의도를 정확하게 반영하지 못할 수 있는 코드를 생성할 수 있다는 것입니다. 부정확한 코드의 위험을 줄이려면 특히 중요하거나 민감한 애플리케이션을 다룰 때 생성된 코드를 신중하게 검토하고 테스트해야 합니다. 또한 생성된 코드가 모범 사례 및 디자인 패턴을 준수하고 코드베이스의 전체 아키텍처 및 스타일에 맞는지 확인해야 합니다.

코딩이 아닌 주제에 대한 부정확한 답변

Copilot Chat는 코딩이 아닌 질문에 답변하도록 설계되지 않았으므로 이러한 상황에서 응답이 항상 정확하거나 도움이 되지 않을 수 있습니다. 사용자가 Copilot Chat에 코딩이 아닌 질문을 하면 관련성이 없거나 무의미한 답변을 생성하거나 단순히 유용한 답변을 제공할 수 없음을 나타낼 수 있습니다.

다음 단계

GitHub Copilot Chat 사용 방법에 대한 자세한 내용은 다음을 참조하세요.

추가 참고 자료