Note
- GitHub Copilot code review는 공개 미리 보기에 있으며 변경될 수 있습니다. 대기 목록에 참가하려면 "Copilot code review 대기 목록에 조인"을 참조하세요.
- "GitHub 시험판 사용 조건"은(는) 이 제품의 사용에 적용됩니다.
GitHub Copilot code review 정보
GitHub Copilot code review는 코드를 검토하고 피드백을 제공하는 AI 기반 기능입니다.
사용자가 Copilot에서 코드 검토를 요청하면 Copilot이 코드 변경 내용과 함께 추가 관련 컨텍스트를 검사하고 코드에 대한 피드백을 제공합니다. 해당 피드백의 일부로 제안된 특정 코드 변경 내용을 제공할 수도 있습니다.
Copilot의 검토는 코딩 스타일 및 모범 사례에 대한 자연어 설명인 코딩 지침으로 사용자 지정할 수 있습니다. 자세한 내용은 "Configuring coding guidelines for GitHub Copilot code review"을(를) 참조하세요.
GitHub Copilot code review에 지원되는 언어는 영어뿐입니다.
GitHub Copilot code review는 코드를 검사하고 자연어 처리와 기계 학습의 조합을 사용하여 피드백을 제공합니다. 이 프로세스는 여러 단계로 나눌 수 있습니다.
입력 처리
코드 변경 내용은 다른 관련 컨텍스트 정보(예: GitHub의 pull request 제목 및 본문) 및 프롬프트를 형성하기 위한 코딩 지침과 결합되며, 해당 프롬프트는 큰 언어 모델로 전송됩니다.
언어 모델 분석
그런 다음 프롬프트는 대량의 텍스트 데이터로 학습된 신경망인 Copilot 언어 모델을 통과합니다. 언어 모델이 입력 프롬프트를 분석합니다.
응답 생성
언어 모델은 입력 프롬프트에 대한 분석을 기반으로 응답을 생성합니다. 이 응답은 자연어 제안 및 코드 제안의 양식을 취할 수 있습니다.
출력 형식
Copilot에서 생성된 응답은 Visual Studio Code에서 직접 또는 GitHub의 끌어오기 요청 검토로 사용자에게 표시되어, 특정 파일의 특정 라인에 연결된 코드 피드백을 제공합니다.
Copilot이 코드 제안을 제공했다면 제안은 제안된 변경으로 표시되며 클릭 몇 번으로 적용될 수 있습니다.
GitHub Copilot code review 사용 사례
GitHub Copilot code review의 목표는 개발자 코드에 대한 피드백을 신속하게 제공하는 것입니다. 이를 통해 개발자는 코드를 더 빠르게 병합할 준비를 하고 전체 코드 품질을 높일 수 있습니다.
GitHub Copilot code review의 성능 향상
Copilot code review를 사용하여 사람의 검토를 대체하지 않고 보완함
GitHub Copilot code review는 코드 품질을 개선하기 위한 강력한 도구일 수 있지만, 사람의 검토를 대체하기 보다는 도구로 사용하는 것이 중요합니다.
항상 Copilot code review에서 생성된 피드백을 검토 및 확인하고, Copilot의 피드백을 신중한 사람의 검토로 보완하여 코드가 요구 사항을 충족하도록 해야 합니다.
피드백 제공
Copilot code review에 문제가 발생하거나 제한 사항이 있는 경우 Copilot의 메모에서 찬성 및 반대 단추를 사용하여 피드백을 제공하시기 바랍니다. 이를 통해 GitHub는 도구를 개선하고 우려 사항이나 한계를 해결하는 데 도움이 될 수 있습니다.
코딩 지침 구성
Copilot이 코딩 스타일 및 모범 사례를 이해하는 데 도움이 되도록 코딩 지침을 구성할 수 있습니다. 자세한 내용은 "Configuring coding guidelines for GitHub Copilot code review"을(를) 참조하세요.
GitHub Copilot code review의 제한 사항
코드베이스 및 프로그래밍 언어와 같은 요인에 따라 GitHub Copilot code review를 사용할 때 성능 수준이 달라질 수 있습니다. 다음 정보는 GitHub Copilot code review에 적용되는 시스템 제한 사항 및 성능에 대한 주요 개념을 이해하는 데 도움이 되도록 고안되었습니다.
제한된 범위
Copilot code review는 특정 프로그래밍 언어 집합만 지원하며, 제한되고 고정된 코드 품질 문제 집합을 식별하도록 설계되었습니다. 모든 관련 문제가 식별되고 수정되도록 하려면 Copilot code review를 신중한 사람의 코드 검토로 보완해야 합니다.
누락된 코드 품질 문제
Copilot은 특히 변경 내용이 크거나 복잡한 경우 코드에 있는 모든 문제를 식별하지 못할 수 있습니다. 모든 관련 문제가 식별되고 수정되도록 하려면 Copilot code review를 신중한 사람의 코드 검토로 보완해야 합니다.
가양성(false positive)
Copilot code review에는 "환영"의 위험이 있습니다. 즉, 검토된 코드에서 코드가 없거나 오해를 기반으로 하는 문제를 강조 표시할 수 있습니다. Copilot code review에서 생성된 메모를 신중하게 검토하고 고려한 후 조치를 취하고 변경해야 합니다.
부정확하거나 안전하지 않은 코드
Copilot code review는 메모의 일부로 특정 코드 제안을 제공할 수 있습니다. 생성된 코드는 유효한 것처럼 보일 수 있지만 실제로 의미 체계나 구문상 올바르지 않거나 메모에서 식별된 문제를 올바르게 해결하지 못할 수 있습니다. 또한 Copilot에서 생성된 코드에는 보안 취약성 또는 기타 문제가 포함될 수 있습니다. Copilot에서 생성된 코드를 항상 신중하게 검토하고 테스트해야 합니다.
잠재적 편향성
Copilot의 학습 데이터는 기존 코드 리포지토리에서 가져온 것으로, 도구에 의해 지속될 수 있는 편견과 오류가 포함될 수 있습니다. 또한 Copilot code review는 특정 프로그래밍 언어 또는 코딩 스타일에 편향되어 있어 차선책 또는 불완전한 피드백으로 이어질 수 있습니다.
다음 단계
Copilot code review를 사용하는 방법에 대한 자세한 내용은 다음을 참조하세요.