Skip to main content

애플리케이션 카드: GitHub Copilot Chat

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

애플리케이션 카드란?

GitHub’s application and platform cards are intended to help you understand how our AI technology works, the choices application owners can make that influence application performance and behavior, and the importance of considering the whole application, including the technology, the people, and the environment. Application cards are created for AI applications and platform cards are created for AI platform services. These resources can support the development or deployment of your own applications and can be shared with users or stakeholders impacted by them.

As part of its commitment to responsible AI, GitHub adheres to Microsoft's six core principles: fairness, reliability and safety, privacy and security, inclusiveness, transparency, and accountability. These principles are embedded in the Responsible AI Standard, which guides teams in designing, building, and testing AI applications. Application and Platform Cards play a key role in operationalizing these principles by offering transparency around capabilities, intended uses, and limitations. For further insight, readers are encouraged to explore Microsoft’s Responsible AI Transparency Report and GitHub 약관.

1 - 개요

GitHub Copilot 채팅은 GitHub Copilot 상호 작용하여 코딩 관련 질문에 대한 답변을 요청하고 받을 수 있는 채팅 인터페이스입니다. GitHub Copilot Chat은 GitHub.com, 지원되는 IDE(VS Code, Visual Studio, JetBrains 및 Eclipse), GitHub Mobile 및 Windows 터미널에서 사용할 수 있습니다. GitHub.com 및 GitHub Desktop에서 Copilot 끌어오기 요청 요약을 생성하고 메시지를 커밋할 수도 있습니다. 끌어오기 요청 또는 커밋에서 수행한 변경 내용에 대한 AI 기반 개요입니다.

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

GitHub Copilot Chat 지원되는 기본 언어는 영어입니다.

2. 주요 용어

다음 목록에서는 GitHub Copilot Chat 관련된 주요 용어집을 제공합니다.

  • 콘텐츠 필터링: 사용자에게 표시되기 전에 프롬프트 및 응답을 검사하여 유해한 콘텐츠를 감지하고 차단하는 안전 시스템입니다.
  • 환각: 언어 모델이 그럴듯하게 들리지만 실제로는 틀렸거나 제공된 컨텍스트에서 지원되지 않거나 완전히 조작된 출력을 생성하는 현상입니다. 환각은 큰 언어 모델의 알려진 위험이며 AI 생성 출력에 대한 사람의 검토가 중요한 이유입니다.
  • LLM(큰 언어 모델) : 자연어 및 코드를 생성, 분석 및 변환할 수 있는 대규모 텍스트 데이터 본문에서 학습된 신경망 유형입니다. GitHub Copilot Chat 하나 이상의 LLM을 사용하여 프롬프트를 처리하고 응답을 생성합니다.
  • Prompt: GitHub Copilot Chat에 제공되는 입력입니다. 시스템은 프롬프트를 언어 모델로 보내기 전에 추가 컨텍스트(예: 열린 파일 또는 리포지토리 데이터)와 결합합니다.
  • 퍼블릭 코드 일치: Copilot 제안이 공개적으로 사용 가능한 코드와 일치하는지 여부를 확인하는 기능입니다. 설정에 따라 일치하는 제안이 꺼지거나 켜질 수 있습니다. 이 기능을 켜면 원본 리포지토리 및 라이선스 정보에 대한 참조를 차단하거나 주석을 달 수 있습니다.
  • 끌어오기 요청 요약: 산문 단락과 영향을 받는 파일에 연결된 주요 변경 내용의 글머리 기호 목록으로 구성된 끌어오기 요청의 변경 내용에 대한 AI 생성 개요입니다. GitHub.com 요청 시 요약이 생성됩니다.
  • 레드 팀: 테스터가 AI 시스템에서 안전하지 않거나 유해하거나 의도하지 않은 동작을 의도적으로 유발하려고 하는 구조적 테스트 사례입니다. 레드 팀은 릴리스 전후에 취약성을 식별하고 안전 완화를 개선하는 데 도움이 됩니다.
  • 학습 데이터: GitHub Copilot Chat의 기반이 되는 파운데이션 모델을 학습시키는 데 사용된 공개적으로 이용 가능한 방대한 분량의 텍스트와 코드입니다. 학습 데이터의 구성은 다양한 프로그래밍 언어, 프레임워크 및 주제 전반에 걸쳐 모델의 제안 품질과 적용 범위에 영향을 미칩니다.

3. 주요 기능 또는 역량

여기에 설명된 주요 기능과 역량은 GitHub Copilot Chat이 수행하도록 설계된 작업과 지원되는 작업 전반에서의 성능을 설명합니다.

  • ** 대화형 코딩 지원**: GitHub Copilot Chat 코딩 관련 질문을 하고 코드, 설명 또는 단계별 지침의 형태로 답변을 받기 위한 자연어 인터페이스를 제공합니다. 사용자는 후속 질문을 하여 응답을 구체화할 수 있으며, 대화 기록은 세션 내에서 유지 관리됩니다.
  • Context 인식 응답: GitHub Copilot Chat 열려 있는 파일, 활성 리포지토리, 채팅 기록 및 웹 검색 결과와 같은 컨텍스트 정보를 사용하여 사용자의 현재 작업과 관련된 응답을 생성합니다. 사용 가능한 특정 컨텍스트는 플랫폼(GitHub.com, IDE, 모바일, Windows 터미널 또는 GitHub Desktop)에 따라 달라집니다.
  • 멀티 플랫폼 지원: GitHub Copilot Chat은 GitHub.com, 지원되는 IDE(VS Code, Visual Studio, JetBrains, Eclipse), GitHub Mobile, Windows 터미널, GitHub Desktop를 포함한 여러 환경에서 사용할 수 있습니다. 각 플랫폼은 환경에 최적화된 맞춤형 환경을 제공합니다.
  • Agent 모드: 지원되는 IDE에서 GitHub Copilot Chat 에이전트 모드에서 작동할 수 있습니다. 여기서 모델은 다단계 작업을 자율적으로 계획하고 도구(예: 터미널 명령 실행 또는 파일 편집)를 호출하고 결과를 반복합니다. 이렇게 하면 단일 턴 질문 및 답변 상호 작용을 넘어 채팅 환경이 확장됩니다.
  • Copilot Spaces: 공간을 사용하면 사용자가 리포지토리, 파일, 문제 및 기타 자료를 큐레이팅된 컨텍스트 컬렉션으로 구성할 수 있습니다. 공백 내에서 질문을 하면 Copilot 포함된 컨텍스트를 사용하여 더 많은 대상 및 관련 응답을 생성합니다. 원격 GitHub MCP 서버를 통해 IDE에서 공간에 액세스할 수도 있습니다.
  • 끌어오기 요청 요약: GitHub.com에서 Copilot은 끌어오기 요청의 변경 사항에 대한 AI 기반 요약을 생성할 수 있습니다. 출력은 산문 개요와 영향을 받는 파일에 연결된 주요 변경 내용의 글머리 기호 목록으로 구성됩니다. 요약은 요청 시 생성되며 검토자가 변경된 내용을 신속하게 이해할 수 있도록 돕기 위한 것입니다.
  • ** 메시지 생성**: GitHub.com 및 GitHub Desktop에서 Copilot 선택한 코드 변경 내용에 따라 제안된 커밋 요약(제목) 및 설명을 생성할 수 있습니다. GitHub Desktop에서 사용자는 특정 코드 줄 또는 파일을 선택하여 컨텍스트와 정확도를 향상시킬 수 있습니다. 커밋하기 전에 생성된 메시지를 검토하고 편집할 수 있습니다.
  • ** BYOK(사용자 고유 키) **: 조직은 기본 GitHub 호스팅 모델을 사용하는 대신 자체 API 키를 제공하여 지원되는 타사 공급자의 대규모 언어 모델에 GitHub Copilot Chat 연결할 수 있습니다.
  • 컨텐트 필터링: 때때로 GitHub Copilot Chat 유해한 콘텐츠를 감지하고 차단하기 위해 프롬프트 및 응답을 검색하는 콘텐츠 필터링 시스템을 포함할 수 있습니다. 공용 코드 일치 기능은 제안이 공개적으로 사용 가능한 코드와 일치하는지 여부를 확인하고 설정에 따라 원본 및 라이선스 정보와 일치하는 항목을 차단하거나 주석을 추가합니다.

4. 용도

GitHub Copilot Chat 다양한 산업의 여러 시나리오에서 사용할 수 있습니다. 사용 사례의 몇 가지 예는 다음과 같습니다.

  • 코딩 관련 질문: GitHub Copilot Chat 특정 코딩 문제에 대한 도움말 또는 설명을 요청하고 자연어 또는 코드 조각 형식으로 응답을 받습니다. 응답은 모델의 학습 데이터, 리포지토리 컨텍스트, 그리고 웹 검색 결과(활성화된 경우)를 활용할 수 있습니다.
  • 코드 설명 및 향상된 기능 제안: 함수의 목적, 입력, 출력 및 종속성에 대한 자연어 설명을 생성합니다. GitHub Copilot Chat 더 나은 오류 처리 또는 더 읽기 쉬운 제어 흐름과 같은 향상된 기능을 제안할 수도 있습니다. 생성된 설명이 항상 정확하거나 완전하지 않을 수 있으며 검토해야 합니다.
  • ** 단위 테스트 사례 생성**: GitHub Copilot Chat 편집기 또는 강조 표시된 코드 조각에서 열린 코드를 기반으로 코드 조각을 생성하여 단위 테스트 사례를 작성하는 데 도움이 될 수 있습니다. 함수의 서명 및 본문에 따라 가능한 입력 매개 변수, 예상 출력 값 및 어설션을 제안할 수 있습니다. GitHub Copilot Chat 오류 처리, null 값 또는 예기치 않은 입력 형식과 같은 에지 사례 및 경계 조건에 대한 테스트 사례를 제안할 수도 있습니다. 이 경우 수동으로 식별하기 어려울 수 있습니다. 생성된 테스트 사례는 가능한 모든 시나리오를 다루지 않을 수 있습니다. 수동 테스트 및 코드 검토는 여전히 필요합니다.
  • 코드 수정 제안: 오류 메시지, 코드 구문 및 주변 컨텍스트에 따라 버그에 대한 권장 수정 사항을 가져옵니다. GitHub Copilot 채팅은 문제를 해결할 수 있는 변수, 제어 구조 또는 함수 호출의 변경 내용을 제안할 수 있습니다. 제안된 수정 사항이 항상 최적이거나 완료되지는 않을 수 있습니다.
  • ** 코딩 작업 계획**: GitHub 문제를 읽고 요약하거나, 질문에 답변하거나, 다음 단계를 제안합니다.
  • 릴리스, 토론 및 커밋에 대한 학습: 릴리스에서 변경된 내용, 토론의 요점 또는 특정 커밋의 변경 내용을 요약합니다.
  • ** 끌어오기 요청 변경 내용(GitHub.com)**: 산문 개요 및 영향을 받는 파일에 연결된 주요 변경 내용의 글머리 기호 목록을 포함하여 끌어오기 요청의 변경 내용에 대한 AI 기반 요약을 생성하여 검토자가 변경된 내용과 검토에 집중할 위치를 신속하게 이해할 수 있도록 합니다.
  • ** 커밋 메시지 생성(GitHub.com 및 GitHub Desktop)**: 커밋하도록 선택한 코드 변경 내용에 따라 커밋 메시지 요약(제목) 및 설명을 생성하여 시간을 절약하고 명확한 커밋 기록을 유지할 수 있습니다. GitHub Desktop에서는 정확도를 높이기 위해 더 나은 컨텍스트 이해를 위해 특정 코드 줄 또는 파일을 선택할 수 있습니다. 커밋하기 전에 제안된 제목 및 설명을 검토하고 편집할 수 있습니다.
  • 적절한 명령 찾기(Windows 터미널): 명령줄에서 작업을 수행하는 데 도움이 되는 명령을 제안해 달라고 Copilot에 물어보세요. 반환된 명령이 기대에 부합할 때까지 질문을 수정한 다음 명령줄에 삽입하여 실행할 수 있습니다.
  • ** 익숙하지 않은 명령(Windows 터미널)** 설명: 입력 및 출력 매개 변수 및 사용 예제를 포함하여 명령 기능에 대한 자연어 설명을 생성하는 Copilot에게 질문하기. 생성된 설명이 항상 정확하거나 완전하지는 않을 수 있습니다.
  • ** 새 기능(공간)** 개발: Copilot 현재 구현을 설명하고, 간격을 강조 표시하고, 새 코드 또는 다음 단계를 작성할 수 있도록 관련 코드, 제품 사양 및 디자인 노트를 공간에 번들로 묶습니다.
  • 반복되는 작업에 대한 논리 정의(공백): 순서도, 예제 또는 스키마를 사용하여 프로세스를 한 번 문서화하고 팀 전체에서 일관된 패턴 및 재사용 가능한 템플릿에 다시 사용합니다.
  • 팀원과 지식 공유(Spaces): Copilot이 시스템을 설명하고, 질문에 답변하고, 팀원의 온보딩을 도울 수 있도록 최신 코드와 문서를 한곳에 모아 두세요.

5. 모델 및 학습 데이터

GitHub Copilot Chat은 다양한 AI 모델을 활용해 사용자가 보게 되는 경험을 지원합니다. Copilot 사용할 수 있는 모델의 비교는 AI 모델 비교 참조하세요. 지원되는 모델의 전체 목록은 GitHub Copilot에서 지원되는 AI 모델을 참조하세요. 모델이 호스트되는 위치에 대한 자세한 내용은 GitHub Copilot 위한 모델 호스팅을 참조하세요. GitHub Copilot Chat의 기반 모델을 학습하는 데 사용되는 데이터에 대해 자세히 알아보려면 위의 연결된 AI 모델 비교 및 GitHub Copilot FAQ에서 GitHub Copilot 학습된 데이터는 무엇입니까? 참조하세요.

BYOK(Bring Your Own Key) 사용

GitHub Copilot Chat Bring Your Own Key를 사용하는 경우 기본 Copilot 모델을 넘어 지원되는 공급자의 큰 언어 모델에 채팅 환경을 연결할 수 있습니다. 지원되는 공급자의 예로는 Anthropic, AWS Bedrock, Google AI Studio, Microsoft Foundry, OpenAI, OpenAI 호환 공급자 및 xAI가 있습니다. 선택한 공급자에 대한 API 키를 Copilot 설정에 직접 추가합니다.

BYOK가 활성화된 경우:

  • 구성 범위: 선택한 모델은 GitHub Copilot Chat 내에서 사용됩니다. 에이전트 모드에서 BYOK는 기본 대화를 구동하지만 코드 애플리케이션 또는 다른 도구 호출과 같은 특정 작업은 해당 작업에 최적화된 Copilot 통합 모델을 계속 사용할 수 있습니다. 이러한 기본 제공 모델은 BYOK 공급자를 통해 실행되지 않습니다.
  • 컨텐트 필터링: 활성 상태인 공급자에 관계없이 응답은 여전히 GitHub API를 통과하며 결과가 표시되기 전에 콘텐츠 필터링이 있을 수 있습니다.
  • 품질 고려 사항: 추천 사항은 선택한 공급자의 강점 및 학습 범위에 따라 달라질 수 있습니다.
  • 데이터 처리: BYOK를 사용하는 경우 프롬프트 및 응답이 선택한 공급자에게 전송되며 해당 공급자의 데이터 보존 및 개인 정보 보호 정책이 적용될 수 있습니다.
  • 책임: 다음을 수행해야 합니다.
    • 공급자 API 키 보안
    • 사용 비용 또는 할당량
    • 출력 유효성 검사
    • 선택한 모델이 안전 및 품질 요구 사항을 충족하는지 평가
    • 선택한 공급자의 약관 준수
    • 선택한 모델이 관련 법률을 준수하는지 여부 결정
    • 사람이 출력을 사용하여 사람들에게 영향을 주는 결정을 내리기 전에 모든 출력을 검토하도록 보장
  • 내보내기 제한 사항: 특정 AI 모델에는 내보내기 제어가 적용될 수 있습니다. 선택한 공급자 및 모델이 관할 지역에서 사용할 수 있는 권한이 있는지 확인합니다.

BYOK를 통해 조직은 요구 사항에 가장 적합한 언어 모델을 선택할 수 있습니다. 모델 성능 및 안전 특성은 공급자에 따라 다릅니다.

6. 성능

GitHub Copilot Chat 자연어 처리와 기계 학습의 조합을 사용하여 질문을 이해하고 답변을 제공합니다. 이 프로세스에는 다음이 포함됩니다.

  1. 입력 처리: 사용자의 프롬프트는 시스템에서 미리 처리되고 컨텍스트 정보(예: 현재 리포지토리, 열린 파일 또는 채팅 기록)와 결합되어 큰 언어 모델로 전송됩니다. 사용자 입력은 코드 스니펫 또는 일반 언어의 형태를 취할 수 있습니다.
  2. 언어 모델 분석: 프롬프트는 텍스트 데이터의 큰 본문에서 학습된 신경망인 언어 모델을 통해 전달됩니다. 언어 모델이 입력 프롬프트를 분석합니다.
  3. 응답 생성: 모델은 입력 프롬프트의 분석 및 제공된 컨텍스트에 따라 응답을 생성합니다. 이 응답은 생성된 코드, 코드 제안 또는 기존 코드에 대한 설명의 형태를 취할 수 있습니다.
  4. 출력 형식 지정: 응답은 명확성을 더하기 위해 구문 강조 표시, 들여쓰기 및 기타 기능으로 형식이 지정됩니다. 질문 유형에 따라 소스 코드 파일, 문제 또는 설명서와 같이 모델이 사용한 컨텍스트에 대한 링크도 제공될 수 있습니다.

환경별 차이점

  • 온 GitHub.com: 모델은 GitHub 및 웹 검색 결과에 저장된 리포지토리 데이터에서 추가 컨텍스트를 수집할 수 있습니다(관리자가 사용하도록 설정한 경우). 응답에는 소스 코드 파일, 문제 또는 설명서에 대한 링크가 포함될 수 있습니다.
  • 풀 요청 요약 (GitHub.com): 사용자가 요약을 요청하면 워크플로는 파일의 코드 차이점을 사용해 프롬프트를 작성하고 Copilot에 전반적인 요약 생성을 요청합니다. 출력은 변경 내용에 대한 개요를 제공하는 산문 단락과 각 코드 줄에 연결된 주요 변경 내용의 글머리 기호 목록으로 구성됩니다. 새 끌어오기 요청 또는 기존 끌어오기 요청에 대한 설명 또는 끌어오기 요청 타임라인에 대한 주석에서 요약을 생성할 수 있습니다. 더 큰 끌어오기 요청은 처리하는 데 최대 몇 분 정도 걸릴 수 있습니다. 끌어오기 요청 요약에 지원되는 언어는 영어뿐입니다.
  • 커밋 메시지 생성(GitHub.com): GitHub.com에서 변경 내용 커밋 단추를 클릭하면 Copilot이 선택한 파일의 코드 변경 내용을 기반으로 제안된 요약(제목) 및 설명을 생성합니다. 커밋하기 전에 검토하고 편집할 수 있도록 텍스트가 요약 및 설명 필드에 삽입됩니다. 커밋 메시지 생성에 지원되는 유일한 언어는 영어입니다.
  • 커밋 메시지 생성(GitHub Desktop): GitHub Desktop에서 Copilot 버튼을 클릭하면 Copilot이 선택한 코드 변경 내용을 바탕으로 제안 요약(제목)과 설명을 생성합니다. 특정 코드 줄 또는 파일을 선택하여 컨텍스트 및 정확도를 향상시킬 수 있으며, 완료하기 전에 제안을 다시 생성할 수 있습니다. 유일하게 지원되는 언어는 영어입니다.
  • IDE: 시스템은 사용자 입력을 리포지토리 이름 및 사용자가 연 파일과 같은 컨텍스트 정보와 결합합니다. VS Code 및 Visual Studio 선택적 .github/copilot-instructions.md 파일에서 추가 컨텍스트를 자동으로 제공할 수 있습니다(사용자가 설정에서 이를 사용하지 않도록 설정할 수 있습니다). VS Code 또는 Visual Studio @github 채팅 참가자를 사용하는 경우 GitHub Copilot Chat GitHub 저장된 코드와 Bing 검색 결과(관리자가 사용하도록 설정한 경우)에서 컨텍스트를 수집할 수도 있습니다.
  • 온 GitHub Mobile: 입력 프롬프트가 사전 처리되어 언어 모델로 전송됩니다. 이 시스템은 코딩 관련 질문에만 응답하도록 설계되었습니다. 사용 가능한 옵션은 Copilot 계획에 따라 다릅니다. Copilot Enterprise 구독을 사용하는 사용자는 프라이빗 인덱싱된 리포지토리의 데이터를 사용하여 대화를 할 수 있으며, 웹 검색 통합이 사용하도록 설정된 경우 웹 검색 결과에서 알리는 응답을 받을 수 있습니다. Copilot Pro 구독을 사용하는 사용자는 인기 있는 상위 공용 리포지토리에 대해 논의할 수 있습니다.
  • Windows 터미널</c0에서>: 사용자의 프롬프트는 컨텍스트 정보(활성 셸의 이름 및 채팅 기록)와 결합되어 언어 모델로 전송됩니다. 응답은 제안된 명령의 형태 또는 명령에 대한 설명을 사용합니다. 제안된 명령은 자동으로 실행되지 않습니다. 명령을 클릭하여 명령줄에 삽입한 다음 수동으로 실행해야 합니다.
  • Copilot 스페이스에서: 스페이스를 사용하면 GitHub Copilot Chat이 질문에 답변할 때 사용하는 맥락을 정리할 수 있습니다. 공간에는 리포지토리, 코드, 끌어오기 요청, 문제, 대본 또는 노트, 이미지 및 파일 업로드와 같은 자유 텍스트 콘텐츠가 포함될 수 있습니다. 공간에서 질문을 제출하면 Copilot 해당 공간의 관련 컨텍스트로 요청을 보강합니다. 원격 GitHub MCP 서버를 통해 IDE에서 공간에 액세스할 수도 있습니다. 공간의 모든 콘텐츠가 모든 응답에서 사용되는 것은 아닙니다. Copilot 포함된 콘텐츠의 일부를 처리하므로 추가하는 내용에 대해 선택적으로 처리하면 관련성을 보장하는 데 도움이 됩니다.

GitHub Copilot Chat 질문에 가장 관련성이 있는 답변을 제공하기 위한 것입니다. 그러나 항상 원하는 답변을 제공하지는 않을 수도 있습니다. GitHub Copilot Chat 사용자는 시스템에서 생성된 응답을 검토하고 유효성을 검사하여 정확하고 적절한지 확인해야 합니다.

7. 제한 사항

GitHub Copilot Chat 제한 사항을 이해하는 것은 안전하고 효과적인 경계 내에서 사용되는지 확인하는 데 중요합니다. 고객이 혁신적인 솔루션 또는 애플리케이션에서 GitHub Copilot Chat 활용하는 것이 좋지만 GitHub Copilot Chat 가능한 모든 시나리오에 맞게 설계되지 않았다는 점에 유의해야 합니다. 사용 사례를 선택할 때는 다음과 같은 고려 사항뿐만 아니라 GitHub 약관 을 참조하는 것이 좋습니다.

  • Limited scope: GitHub Copilot Chat 큰 코드 본문에서 학습되었지만 더 복잡한 코드 구조 또는 모호한 프로그래밍 언어를 처리하지 못할 수 있습니다. 각 언어에 대해 제안의 품질은 학습 데이터의 양과 다양성에 따라 달라집니다. 예를 들어 JavaScript는 잘 표현되고 잘 지원되지만 공용 언어가 적으면 품질이 낮은 결과를 얻을 수 있습니다.
  • 잠재적 편견: 기존 코드 리포지토리에서 가져온 학습 데이터에는 도구에서 영속될 수 있는 바이어스 및 오류가 포함될 수 있습니다. GitHub Copilot Chat 특정 프로그래밍 언어 또는 코딩 스타일에 편향되어 최적이 아닐 수도 있고 불완전한 코드 제안으로 이어질 수도 있습니다.
  • 보안 위험: 생성된 코드는 신중하게 검토하지 않으면 잠재적으로 중요한 정보 또는 취약성을 노출할 수 있습니다. 특히 보안에 민감한 애플리케이션의 경우 항상 생성된 코드를 철저히 검토하고 테스트합니다.
  • 공개 코드가 있는Matches: 확률은 낮지만 GitHub Copilot Chat 학습 집합의 코드와 일치하는 코드를 생성할 수 있습니다. 엄격한 테스트, IP 검사 및 보안 취약성 검사를 포함하여 독립적으로 시작되지 않은 자료를 사용하는 코드와 동일한 예방 조치를 취해야 합니다. 자세한 내용은 GitHub Copilot 제안 일치하는 공용 코드 찾기을(를) 참조하세요.
  • 부정확한 코드: GitHub Copilot Chat은 유효해 보이지만 의미적으로나 구문적으로 올바르지 않거나 개발자의 의도를 정확하게 반영하지 않는 코드를 생성할 수 있습니다. 특히 중요 또는 중요한 애플리케이션에 대해 생성된 코드를 신중하게 검토하고 테스트합니다.
  • 코딩과 관련 없는 주제에 대한 부정확한 응답: GitHub Copilot Chat은 코딩과 관련 없는 질문에 답하도록 설계되지 않았으며, 이러한 맥락에서의 응답은 관련이 없거나 무의미할 수 있습니다.
  • 파괴적인 명령의 위험(Windows 터미널): Copilot은 콘텐츠 삭제나 하드 드라이브 포맷과 같이 파괴적일 수 있는 명령을 제안할 수 있으며, 이러한 명령은 특정 상황에서는 필요할 수 있지만 잘못 사용하면 문제를 일으킬 수 있습니다. 궁극적으로 실행하도록 선택한 모든 명령에 대한 책임이 있습니다. 장애 조치(fail-safe) 및 안전 메커니즘이 있음에도 불구하고 명령을 실행하면 내재된 위험이 수반됩니다.
  • ** PR 요약에 대한 변경된 제한(GitHub.com)**: 400개 이상의 결합된 추가 및 삭제가 포함된 파일은 요약에서 제외됩니다.
  • PR 요약은 자동 업데이트되지 않습니다(GitHub.com): 끌어오기 요청 요약은 사용자가 수동으로 요청할 때만 생성됩니다. 끌어오기 요청을 업데이트하거나 변경하면 요약이 자동으로 새로 고쳐지지 않습니다. 사용자는 새 요약을 요청할 수 있지만 업데이트된 출력을 주의 깊게 검토해야 합니다. 이는 원본과 동일한 부정확성 위험을 수반합니다.
  • PR 콘텐츠 복제(GitHub.com): 요약은 풀 리퀘스트의 변경 사항을 개괄하므로, 풀 리퀘스트 콘텐츠에 유해하거나 불쾌감을 주는 용어가 포함되어 있으면 요약이 해당 용어를 그대로 복제할 가능성이 있습니다. 사용자는 PR에 사용된 용어가 AI 생성 요약에 표시될 것으로 예상해야 합니다.
  • ** 커밋 메시지의 제한된 범위(GitHub.com 및 GitHub Desktop)**: 커밋 메시지 생성은 복잡한 코드 변경, 짧은 차이 창 또는 최근에 개발된 프로그래밍 언어로 어려움을 겪을 수 있습니다. 제안의 품질은 관련 언어에 대한 학습 데이터의 가용성 및 다양성에 따라 달라집니다.
  • 커밋 콘텐츠(GitHub.com 및 GitHub Desktop)0의 복제: 커밋 메시지는 커밋의 변경 내용을 요약하므로 코드 변경 내용에 유해하거나 불쾌한 용어가 표시되면 생성된 메시지에 해당 용어가 포함될 가능성이 있습니다.
  • ** 커밋 메시지는 자동 업데이트되지 않습니다(GitHub.com 및 GitHub Desktop)**: 커밋 메시지는 요청해야만 생성됩니다. 추가 변경하면 커밋 메시지가 자동으로 새로 고쳐지지 않습니다. 새 제안을 다시 생성할 수 있지만 업데이트된 출력을 주의 깊게 검토해야 합니다. 원본과 동일한 부정확성 위험이 있습니다.
  • 사용자 의도 해석(스페이스): 스페이스는 GitHub Copilot Chat의 응답이 엄선된 컨텍스트에 기반하도록 도와주지만, 시스템이 여전히 사용자의 의도를 잘못 이해할 수 있습니다. 항상 출력을 검토하여 목표를 반영하는지 확인합니다.
  • 공개 제한(공간): 공간에는 크기 제한이 정의되어 있으며, GitHub Copilot Chat 포함된 콘텐츠의 일부만 처리합니다. 공백의 모든 파일, 문서 또는 메모가 응답에 사용되는 것은 아닙니다. 추가하는 항목에 대해 선택적이면 가장 관련성이 큰 컨텍스트가 사용되는지 확인하는 데 도움이 됩니다.
  • 자연어에 따른 성능 차이: GitHub Copilot Chat은 주로 영어에 최적화되었습니다. 다른 언어의 프롬프트와 성능이 다를 수 있습니다.
  • ** 웹 검색 실행**: GitHub.com 및 지원되는 IDE에서 GitHub 채팅 참가자를 사용하는 경우 GitHub Copilot Chat 필요에 따라 Bing 검색을 사용하여 질문(예: 최근 이벤트, 새로운 기술 또는 매우 구체적인 주제에 대한 쿼리)을 답변할 수 있습니다. 엔터프라이즈 관리자는 조직에서 Bing을 사용하거나 사용하지 않도록 설정할 수 있습니다. 웹 검색을 사용하는 경우 프롬프트의 콘텐츠와 추가 컨텍스트가 사용자 대신 Bing 검색 쿼리를 생성하는 데 사용됩니다. Bing으로 전송되는 검색 쿼리는 Microsoft의 개인정보처리방침에 따라 관리됩니다. 자세한 내용은 기업에서 GitHub Copilot에 대한 정책 및 기능 관리을(를) 참조하세요.

8. 평가

성능 및 안전 평가는 유해한 콘텐츠를 생성하는 위험을 식별하면서 근거, 관련성 및 일관성과 같은 요인을 검토하여 AI 애플리케이션이 안정적이고 안전하게 운영되는지 여부를 평가합니다. 다음 평가는 이미 있는 안전 구성 요소를 사용하여 수행되었으며, 9에도 설명되어 있습니다. 안전 구성 요소 및 완화.

성능 및 품질 평가

GitHub Copilot Chat AI 기능은 업계 표준 벤치마크(예: SWE-Bench) 및 내부적으로 개발된 평가 제품군의 조합을 사용하여 평가됩니다. 벤치마크 작업은 공용 오픈 소스 리포지토리 및 가상 시나리오에서 제공됩니다. 실제 사용자 쿼리 또는 고객 코드가 사용되지 않습니다. 각 평가에는 모델 출력의 비결정성을 고려하기 위한 여러 독립 실행이 포함됩니다. 주요 메트릭에는 해결 속도(성공적으로 완료된 작업의 백분율), 토큰 효율성, 대기 시간 및 도구 호출 안정성이 포함됩니다. 모델은 오류율, 응답 대기 시간 및 집계 사용 패턴을 통해 업데이트가 생성되고 프로덕션 환경에서 지속적으로 모니터링될 때 다시 평가됩니다.

성능 및 품질 평가 방법

GitHub Copilot Chat용 새 모델은 배포 전에 단계적 평가 과정을 거칩니다. 통합자 팀은 표면과 관련된 벤치마크 제품군을 실행하여 버그 수정, 코드 생성 및 다중 파일 리팩터링과 같은 대표적인 코딩 작업에서 모델을 테스트합니다. 기존 기준 및 기존 프로덕션 모델에 대해 결과를 검토합니다. 모델은 다음 단계로 넘어가기 전에 해상도 속도, 토큰 효율성 및 대기 시간과 같은 주요 메트릭에서 기준 성능을 충족하거나 초과해야 합니다. 여러 부서가 참여하는 검토 위원회는 어떤 모델이든 사용자 대상 배포가 승인되기 전에 공식적으로 진행 여부를 결정합니다.

위험 및 안전 평가

다양한 심각도의 콘텐츠 위험으로부터 보호하기 위해 AI 생성 콘텐츠와 관련된 잠재적 위험을 평가하는 것이 필수적입니다. 여기에는 유해한 콘텐츠를 생성하거나 탈옥 공격에 대한 취약성을 테스트하기 위한 AI 애플리케이션의 소인을 평가하는 것이 포함됩니다. GitHub의 경우, Microsoft Foundry의 평가를 코딩 용도에 맞게 조정한 평가를 포함해 성능 평가를 수행합니다.

  • 증오와 불공평
  • Sexual
  • 폭력
  • 자해
  • 보호 재질
  • 탈 옥
  • 코드 취약성

품질 및 안전을 위한 평가 데이터

평가 데이터는 안전품질의 주요 영역에서 AI 애플리케이션 성능을 평가하여 실제 시나리오와 위험을 시뮬레이션하도록 사용자 지정 빌드되었습니다. 우리는 다학제 연구 및 전문가의 의견을 기반으로 우려의 관련 평가 측면을 식별하는 것으로 시작합니다. 이러한 문제는 대상 평가 목표로 변환되고 평가 메트릭의 공식화 가이드로 변환됩니다. safety 경우 바람직하지 않거나 에지 케이스 응답을 유도하는 악의적 프롬프트를 만든 다음, GitHub 표준과의 맞춤을 평가하도록 학습된 AI 지원 주석을 사용하여 점수가 매깁니다. 품질을 위해 RAG(검색 보강 세대) 애플리케이션 및 에이전트 평가를 포함하여 시나리오와 관련된 루브릭 기반 프롬프트를 만듭니다. 데이터 세트는 실제 사용자 시나리오를 시뮬레이션하기 위해 가상 및 공용 데이터 세트를 비롯한 다양한 원본에서 큐레이팅됩니다. 큐레이팅된 데이터 세트를 사용하여 두 평가 모두 반복적인 구체화와 인적 맞춤을 거쳐 메트릭 효능과 안정성을 향상시킵니다. 이 방법론은 고객이 평가를 사용하여 더 나은 AI를 구축하는 방법을 반영하는 반복 가능하고 엄격한 평가의 기초를 형성합니다.

사용자 지정 평가

제품 개발 프로세스의 일환으로, GitHub Copilot Chat 안전성을 이해하고 개선하기 위해 레드 팀을 구성합니다. 사용하도록 설정하면 입력 프롬프트 및 출력 완성이 콘텐츠 필터를 통해 실행됩니다.

9. 안전 구성 요소 및 완화

  • 콘텐츠 필터링: 사용하도록 설정하면 콘텐츠 필터링 시스템이 유해한 콘텐츠의 출력을 감지하고 방지합니다. 불쾌한 콘텐츠가 발생하면 보고합니다 copilot-safety@github.com.
  • 공개 코드 일치: 설정에 따라 GitHub Copilot Chat의 중복 감지 필터가 켜지거나 꺼질 수 있습니다. 이 경우 GitHub Copilot Chat 공용 코드와 일치하는 제안을 차단하거나 소스 리포지토리 및 라이선스 세부 정보에 대한 링크로 주석을 추가합니다. VS Code에서 공용 코드와 일치하는 제안을 사용하도록 설정한 경우 GitHub Copilot Chat 편집기에서 일치하는 코드와 라이선스 세부 정보를 표시하는 링크가 포함된 메시지를 표시합니다. Visual Studio JetBrains, Eclipse 및 GitHub Mobile에서 GitHub Copilot Chat 공용 코드와의 일치를 차단하는 필터를 사용합니다. 설정에 관계없이 엄격한 테스트, IP 검사 및 보안 취약성 검사를 포함하여 독립적으로 시작되지 않은 자료를 사용하는 코드와 동일한 예방 조치를 취해야 합니다. 자세한 내용은 GitHub Copilot 제안 일치하는 공용 코드 찾기을(를) 참조하세요.

10. GitHub Copilot Chat 배포 및 채택에 대한 모범 사례

책임 있는 AI는 GitHub 고객과의 공동 약속입니다. GitHub 보안, 공정성 및 투명성을 핵심으로 AI 애플리케이션을 빌드하지만, 고객은 이러한 기술을 자체 컨텍스트 내에서 책임감 있게 배포하고 사용하는 데 중요한 역할을 합니다. 이 파트너십을 지원하기 위해 고객이 책임 있는 AI를 효과적으로 구현할 수 있도록 배포자와 최종 사용자를 위한 다음과 같은 모범 사례를 제공합니다.

  • 중대한 결정을 내리거나 민감한 영역에서 GitHub Copilot Chat를 사용할 때는 주의를 기울이고 결과를 평가하세요: 결과적 결정은 교육, 고용, 금융 플랫폼, 정부 혜택, 의료, 주택, 보험, 법적 플랫폼에 대한 개인의 접근에 법적 또는 중대한 영향을 미칠 수 있거나 신체적, 심리적 또는 재정적 피해를 초래할 수 있는 결정입니다. 금융 플랫폼, 의료 및 주택과 같은 중요한 도메인은 다른 그룹의 사람들에게 불균형적으로 영향을 미칠 수 있기 때문에 특별한 주의가 필요합니다. 이러한 영역에서 결정에 AI를 사용하는 경우 영향을 받는 이해 관계자가 의사 결정 방법을 이해하고, 결정에 이의를 제기하고, 관련 입력 데이터를 업데이트할 수 있는지 확인합니다.

  • 법률 및 규제 고려 사항을 평가합니다. 고객은 모든 산업 또는 시나리오에서 사용하기에 적합하지 않을 수 있는 AI 플랫폼 및 솔루션을 사용할 때 잠재적인 특정 법률 및 규제 의무를 평가해야 합니다. 또한 AI 플랫폼 또는 솔루션은 해당 서비스 약관 및 관련 행동 강령에서 금지된 방식으로 설계되지 않았으며 사용할 수 없습니다.

  • 적절한 경우 사용자 감독 연습: AI 애플리케이션과 상호 작용할 때 인간의 감독은 중요한 안전 장치입니다. AI 애플리케이션을 지속적으로 개선하는 동안 AI는 여전히 실수를 할 수 있습니다. 생성된 출력은 부정확하거나, 불완전하거나, 편향되거나, 잘못 정렬되거나, 의도한 목표와 무관할 수 있습니다. 이는 입력의 모호성 또는 기본 모델의 제한 사항과 같은 다양한 이유로 인해 발생할 수 있습니다. 따라서 사용자는 GitHub Copilot Chat 생성된 응답을 검토하고 예상 및 요구 사항과 일치하는지 확인해야 합니다.

  • 지나친 의존의 위험에 유의하세요. AI에 대한 지나친 의존은 AI 출력의 실수가 감지하기 어려울 수 있기 때문에 사용자가 올바르지 않거나 불완전한 AI 출력을 수락할 때 발생합니다. 최종 사용자의 경우, 과잉 의존은 생산성 감소, 신뢰 상실, 신청 포기, 재정적 손실, 심리적 피해, 신체적 피해 등을 초래할 수 있습니다. (예: 의사가 잘못된 AI 출력을 수락합니다).

  • 중요한 도메인에서 에이전트 AI를 디자인할 때 주의해야 합니다. 사용자는 에이전트 작업이 돌이킬 수 없거나 매우 중요한 중요한 도메인에 에이전트 AI 애플리케이션을 디자인 및/또는 배포할 때 주의를 기울여야 합니다. GitHub 약관에 자세히 설명된 대로 자율 에이전트 AI를 만들 때도 추가 예방 조치를 취해야 합니다.

  • ** GitHub Copilot Chat 대체 도구가 아닌 도구로 사용**: GitHub Copilot Chat 코드를 생성하기 위한 강력한 도구일 수 있지만 사용자 프로그래밍을 대체하는 대신 도구로 사용하는 것이 중요합니다. 항상 GitHub Copilot Chat 생성된 코드를 검토하고 테스트하여 요구 사항을 충족하고 오류 또는 보안 문제가 없는지 확인합니다.

  • ** 항목에 대한 메시지 유지**: GitHub Copilot Chat 코딩 관련 쿼리를 처리하기 위한 것입니다. 프롬프트를 코딩 질문 또는 작업으로 제한하면 모델의 출력 품질이 향상됩니다.

  • 보안 코딩 및 코드 검토 방법 사용: 하드 코딩된 암호 또는 SQL 삽입 취약성 방지와 같은 보안 코딩 모범 사례를 따르고 생성된 모든 코드를 검토합니다.

  • 컨텍스트(공간)</c0을 사용하여 선택적으로 사용하세요>: 가장 관련성이 큰 파일, 리포지토리 및 노트만 공간에 추가하면 Copilot 포커스를 유지할 수 있습니다. 불필요한 콘텐츠로 공간을 오버로드하면 응답 품질이 저하될 수 있습니다.

  • 컨텍스트 업데이트 유지(공간): 프로젝트가 발전함에 따라 공간에서 파일, 문제 또는 설명서를 새로 고칩니다. 오래된 컨텍스트로 인해 Copilot 부정확하거나 불완전한 답변을 생성할 수 있습니다.

  • 지침을 소스(Spaces)와 함께 사용하세요: 자연어 지침을 선별된 소스와 결합하면 Copilot이 사용자의 의도를 더 잘 이해하는 데 도움이 됩니다.

  • 스페이스에서 채팅 시작하기(Spaces): 스페이스 내에서 대화를 시작하면 대화의 흐름과 관련성을 유지할 수 있으며, 응답도 설정해 둔 맥락에 맞게 유지됩니다.

  • ** 게시하기 전에 PR 요약 보기(GitHub.com)**: 끌어오기 요청 요약은 변경 내용에 대한 사용자 고유의 컨텍스트를 대체하지 않고 보완하기 위한 것입니다. 끌어오기 요청을 저장하거나 게시하기 전에 항상 생성된 요약의 정확도를 검토하고 평가합니다.

  • ** 커밋하기 전에 커밋 메시지 보기(GitHub.com 및 GitHub Desktop)**: 커밋 메시지 생성은 변경 내용에 대한 사용자 고유의 설명을 대체하는 것이 아니라 보완하기 위한 것입니다. 커밋하기 전에 항상 제안된 제목과 설명을 검토하고 편집합니다. GitHub Desktop에서 특정 코드 줄 또는 파일을 선택하면 정확도가 향상될 수 있습니다. GitHub.com Copilot settings 페이지를 통해 커밋 메시지 생성을 옵트아웃할 수 있습니다.

  • 피드백 제공: 문제 또는 제한 사항이 발생하는 경우 각 채팅 응답 아래의 엄지 손가락 위쪽/아래쪽 단추를 통해 피드백을 제공합니다. 끌어오기 요청 요약에 대한 피드백을 제공하는 기능은 엔터프라이즈 설정에 따라 달라집니다. 자세한 내용은 기업에서 GitHub Copilot에 대한 정책 및 기능 관리을(를) 참조하세요. 커밋 메시지 생성에 대해서는 커뮤니티 토론이나 GitHub Desktop 리포지토리에 이슈를 등록하여 피드백을 공유할 수 있습니다. 이렇게 하면 도구를 개선하고 문제를 해결하는 데 도움이 됩니다.

  • ** 최신 상태로 유지**: GitHub Copilot Chat 진화하고 있습니다. 업데이트, 새로운 보안 위험 및 모범 사례를 최신 상태로 유지합니다.

11. GitHub Copilot Chat 대한 자세한 정보

GitHub Copilot Chat 책임 있는 사용에 대한 추가 지침은 다음 설명서를 검토하는 것이 좋습니다.

책임감 있는 AI에 대해 자세히 알아보기