Skip to main content

GitHub Copilot CLI의 책임 있는 사용

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

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

GitHub Copilot CLI 는 모든 Copilot 계획에서 사용할 수 있습니다. 조직으로부터 Copilot를 수신하는 경우, 조직의 설정에서 Copilot CLI 정책이 사용하도록 설정되어야 합니다.

          GitHub Copilot CLI 정보

          GitHub Copilot CLI 는 컴퓨터에서 파일을 자율적으로 만들고 수정하고 명령을 실행할 수 있는 채팅과 유사한 인터페이스를 터미널에 제공합니다. Active Directory의 파일에 대한 작업을 수행하도록 요청할 Copilot 수 있습니다.

          GitHub Copilot CLI 는 버그 수정, 증분 새 기능 구현, 프로토타입 작성, 설명서 및 코드베이스 유지 관리와 같은 작업을 포함하여 설명 및 구성에 따라 맞춤형 변경 내용을 생성할 수 있습니다.

작업을 수행하는 동안 에이전트는 코드를 변경하고, Copilot 자동화된 테스트를 실행하고, linter를 실행하고, 사용자 환경에서 사용할 수 있는 명령을 실행할 수 있는 로컬 터미널 환경에 액세스할 수 있습니다.

에이전트는 다양한 프로그래밍 언어에서 평가되었으며, 영어가 기본 지원 언어로 제공됩니다.

에이전트는 자연어 처리 및 machine learning 조합하여 작업을 이해하고 코드베이스를 변경하여 작업을 완료합니다. 이 프로세스는 여러 단계로 나눌 수 있습니다.

입력 처리

입력이 관련 컨텍스트 정보와 결합되어 프롬프트를 형성합니다. 해당 프롬프트는 처리를 위해 대규모 언어 모델로 전송됩니다. 입력은 일반 자연어, 코드 조각 또는 터미널의 파일에 대한 참조 형식을 사용할 수 있습니다.

언어 모델 분석

그런 다음 프롬프트는 대량의 데이터 본문으로 학습된 신경망인 대규모 언어 모델을 통과합니다. 언어 모델은 입력 프롬프트를 분석하여 에이전트가 작업에 대한 이유를 파악하고 필요한 도구를 사용하는 데 도움을 줍니다.

응답 생성

언어 모델은 프롬프트에 대한 분석을 기반으로 응답을 생성합니다. 이 응답은 자연어 제안, 코드 제안, 파일 수정 및 명령 실행 형식을 사용할 수 있습니다.

출력 형식

에이전트에서 생성된 응답의 형식이 지정되고 사용자에게 표시됩니다. GitHub Copilot CLI 에서는 구문 강조 표시, 들여쓰기 및 기타 서식 지정 기능을 사용하여 생성된 응답에 명확성을 추가합니다.

에이전트는 작업을 완료하기 위해 로컬 환경에서 명령을 실행하고 파일 시스템에서 파일을 만들거나 편집하거나 삭제하려고 할 수도 있습니다.

대화형 채팅 창에서 응답을 반환한 후 에이전트에 피드백을 제공할 수 있습니다. 그러면 에이전트가 추가 분석을 위해 해당 피드백을 언어 모델에 다시 제출합니다. 에이전트가 피드백에 따라 변경 내용을 완료하면 에이전트는 추가 응답을 반환합니다.

Copilot 작업 해결을 위한 가장 관련성이 큰 솔루션을 제공하기 위한 것입니다. 그러나 항상 원하는 답변을 제공하지는 않을 수도 있습니다. 사용자는 정확하고 적절한지 확인하기 위해 생성된 Copilot 응답을 검토하고 유효성을 검사할 책임이 있습니다. 자세한 내용은 이 문서의 뒷부분에 있는 GitHub Copilot CLI결과 개선 섹션을 참조하세요.

에 대한 사용 사례 GitHub Copilot CLI

다음을 포함하지만 제한되지 않는 다양한 시나리오에서 작업을 Copilot 위임할 수 있습니다.

  •         **코드베이스 유지 관리:** 보안 관련 수정 사항, 종속성 업그레이드 및 대상 리팩터링 해결
    
  •         **문서조사:** 새 설명서를 업데이트하고 만듭니다.
    
  •         **기능 개발:** 증분 기능 요청 구현
    
  •         **테스트 검사 개선:** 품질 관리를 위한 추가 테스트 도구 모음 개발
    
  •         **새 프로젝트 프로토타입 생성:** 그린필드링의 새로운 개념.
    
  •         **환경 설정:** 터미널에서 명령을 실행하여 기존 프로젝트에서 작동하도록 로컬 환경을 설정합니다.
    
  • 작업을 Copilot수행할 올바른 명령을 찾습니다. 는 완료하려는 작업을 수행하기 위한 명령에 대한 제안을 제공할 수 있습니다.
  •         **익숙하지 않은 명령을 설명합니다**Copilot . 는 명령의 기능 및 목적에 대한 자연어 설명을 제공할 수 있습니다.
    

에서 결과 개선 GitHub Copilot CLI

          GitHub Copilot CLI 는 다양한 작업을 지원할 수 있습니다. 받는 응답을 향상시키고 에이전트의 몇 가지 제한 사항을 해결하기 위해 채택할 수 있는 다양한 조치가 있습니다.

제한 사항에 대한 자세한 내용은 이 문서의 뒷부분에 있는 제한 사항 GitHub Copilot CLI섹션을 참조하세요.

작업의 범위가 올바른지 확인

          GitHub Copilot CLI 는 작업을 완료할 때 프롬프트를 키 컨텍스트로 활용합니다. 제공하는 프롬프트가 명확하고 범위가 더 잘 지정될수록 결과를 얻을 수 있습니다. 이상적인 프롬프트에는 다음이 포함됩니다.
  • 해결해야 할 문제 또는 필요한 작업에 대한 명확한 설명
  • 좋은 솔루션의 모습에 대한 완전한 수용 조건(예: 단위 테스트가 있어야 하나요?).
  • 변경해야 하는 파일에 대한 힌트 또는 포인터.

추가 컨텍스트를 사용하여 환경 사용자 지정

          GitHub Copilot CLI 는 제안된 변경 내용을 생성할 때 프롬프트 및 리포지토리의 코드를 컨텍스트로 활용합니다. 
          Copilot의 성능을 향상시키기 위해, 에이전트가 프로젝트와 변경 사항을 구축, 테스트 및 검증하는 방법을 더 잘 이해할 수 있도록 사용자 지정 Copilot 지침을 구현하는 것이 좋습니다. 자세한 내용은 [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/add-custom-instructions)을(를) 참조하세요.

대체가 아닌 도구로 사용 GitHub Copilot CLI

코드 및 설명서를 생성하기 위한 강력한 도구일 수 있지만 GitHub Copilot CLI 사용자 프로그래밍을 대체하는 대신 도구로 사용하는 것이 중요합니다. 항상 사용자 요구 사항을 충족하고 오류 또는 보안 문제가 없는지 확인하기 위해 생성된 GitHub Copilot CLI 명령을 검토하고 확인해야 합니다.

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

구문적으로 올바른 코드를 생성할 수 있지만 GitHub Copilot CLI 항상 안전한 것은 아닙니다. 하드 코드된 암호나 SQL 삽입 취약점을 피하고 코드 검토 모범 사례를 따르는 등 항상 보안 코딩 모범 사례를 따라 에이전트의 제한 사항을 해결해야 합니다. 적합성을 보장하기 위한 예방 조치를 포함하여 독립적으로 시작되지 않은 자료를 사용하는 모든 코드와 마찬가지로 항상 동일한 예방 조치를 취해야 합니다. 여기에는 엄격한 테스트, IP 스캔, 보안 취약점 확인 등이 포함됩니다.

피드백 제공

문제가 발생하거나 제한 사항이 GitHub Copilot CLI있는 경우 명령을 사용하여 /feedback 피드백을 제공하는 것이 좋습니다.

          GitHub Copilot CLI에 대한 보안 조치

'의 사용 권한 제한 Copilot

기본적으로 다음을 수행합니다. Copilot CLI

  • 호출된 디렉터리 GitHub Copilot CLI 내 및 아래에 있는 파일 및 폴더에만 액세스할 수 있습니다. 이 디렉터리의 파일을 신뢰해야 합니다. Copilot 현재 디렉터리 외부의 파일에 액세스하려면 권한을 요청합니다. 해당 디렉터리의 콘텐츠를 신뢰하는 경우에만 권한을 부여합니다.
  • 파일을 수정하기 전에 사용 권한을 요청합니다. 사용 권한을 부여하기 전에 올바른 파일을 수정하고 있는지 확인합니다.
  • 위험할 수 있는 명령을 실행하기 전에 권한을 요청합니다. 실행 권한을 부여하기 전에 이러한 명령을 신중하게 검토합니다.

다양한 명령줄 옵션(예--allow-tool=[TOOLS...]: , --allow-all``--allow-all-tools또는 대화형 세션에서 사용하기에 해당하는 /allow-all 슬래시 명령)을 사용하여 특정 사용 권한 또는 모든 권한을 부여 Copilot CLI 할 수 있습니다. 자세한 내용은 GitHub Copilot CLI 명령 참조을(를) 참조하세요. 일반적으로 autopilot 모드에서 사용하는 Copilot CLI 경우 작업에서 작동하는 작업을 승인할 필요 없이 작업을 자율적으로 완료할 수 있도록 모든 권한을 부여합니다. 자세한 내용은 GitHub Copilot CLI가 자율적으로 작동하도록 허용을(를) 참조하세요.

사용하는 GitHub Copilot CLI동안 보안 사례에 대한 자세한 내용은 GitHub Copilot CLI 정보의 "보안 고려 사항"을 참조하세요.

사용자 고유의 모델 공급자를 사용하는 경우 데이터 처리

사용자 고유의 모델 공급자를 사용하도록 구성 Copilot CLI 하면 프롬프트, 코드 컨텍스트 및 생성된 응답이 구성한 공급자에게 직접 전송됩니다. 을 통해 GitHub라우팅되지 않습니다. 사용자는 선택한 공급자의 서비스 약관 및 데이터 처리 정책을 검토하고 준수할 책임이 있습니다.

테레메트리

오프라인 모드 Copilot CLI 없이 고유한 모델 공급자를 사용하는 경우 원격 분석을 GitHub 평소와 같이 계속 보냅니다. 이 원격 분석에는 프롬프트 또는 코드가 포함되지 않지만 사용 메타데이터가 포함됩니다.

환경 변수를 설정하여 오프라인 모드를 COPILOT_OFFLINE``true사용하도록 설정하면 모든 원격 분석이 비활성화됩니다. 오프라인 모드에서는 Copilot CLI 구성된 모델 공급자에 대한 네트워크 요청만 합니다.

인증 및 기능 가용성

          GitHub BYOK(사용자 고유의 모델 공급자)를 사용하는 경우 인증이 필요하지 않습니다. 인증이 없으면 GitHub 다음 기능을 사용할 수 없습니다.

* /delegate- 's 서버 쪽에 GitHub세션을 전달하는 Copilot * GitHub MCP 서버 * GitHub 코드 검색

오프라인 모드에서는 코드 검색과 GitHub 같은 web_fetch 웹 기반 도구도 사용하지 않도록 설정됩니다.

-hosted 모델로 대체 GitHub하지 않음

모델 공급자 구성이 유효하지 Copilot CLI 않으면 오류가 발생합니다. 호스트된 모델로 대체 GitHub되지 않습니다. 연결 거부, 인증 오류, 모델을 찾을 수 없음 및 시간 제한과 같은 일반적인 오류는 실행 가능한 지침이 포함된 사용자에게 친숙한 메시지를 생성합니다.

의 제한 사항 GitHub Copilot CLI

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

제한된 범위

사용되는 GitHub Copilot CLI 언어 모델은 큰 코드 본문에서 학습되었지만 범위가 제한되어 있으며 특정 코드 구조 또는 모호한 프로그래밍 언어를 처리하지 못할 수 있습니다. 각 언어의 경우 해당 언어에 대한 학습 데이터의 양과 다양성에 따라 제공되는 제안의 품질이 달라질 수 있습니다.

잠재적 편향성

대규모 언어 모델에서 수집한 GitHub Copilot CLI'의 학습 데이터 및 컨텍스트에 사용되는 언어 모델에는 도구에서 영속할 수 있는 바이어스 및 오류가 포함될 수 있습니다. GitHub Copilot CLI 또한 특정 프로그래밍 언어 또는 코딩 스타일에 편향되어 최적이 아니면 불완전한 제안으로 이어질 수 있습니다.

보안 위험

          GitHub Copilot CLI 는 리포지토리 내의 문제 또는 주석의 컨텍스트에 따라 코드 및 자연어를 생성하며, 신중하게 사용하지 않을 경우 잠재적으로 중요한 정보 또는 취약성을 노출할 수 있습니다. 병합하기 전에 철저하게 생성된 GitHub Copilot CLI 모든 출력을 검토해야 합니다.

부정확한 코드

          GitHub Copilot CLI 는 유효한 것처럼 보이지만 실제로 의미 체계나 구문적으로 올바르지 않거나 개발자의 의도를 정확하게 반영하지 않을 수 있는 코드를 생성할 수 있습니다.

부정확한 코드의 위험을 줄이려면 특히 중요하거나 민감한 애플리케이션을 다룰 때 생성된 코드를 신중하게 검토하고 테스트해야 합니다. 또한 생성된 코드가 모범 사례 및 디자인 패턴을 준수하고 코드베이스의 전체 아키텍처 및 스타일에 맞는지 확인해야 합니다.

공용 코드

          GitHub Copilot CLI 는 "공개 코드와 일치하는 제안" 정책이 "차단"으로 설정된 경우에도 공개적으로 사용할 수 있는 코드와 일치하거나 거의 일치하는 코드를 생성할 수 있습니다. 
          [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/managing-your-copilot-plan/managing-copilot-policies-as-an-individual-subscriber#enabling-or-disabling-suggestions-matching-public-code)을(를) 참조하세요.

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

명령 실행의 위험 관리 및 사용자 책임

특히 제안된 일부 명령의 잠재적 파괴와 관련하여 명령을 요청하거나 실행할 수 있도록 허용할 GitHub Copilot CLI 때는 추가적인 주의가 필요합니다. 파일 삭제 또는 하드 드라이브 형식 지정에 대한 명령이 발생할 수 있으며, 잘못 사용하면 문제가 발생할 수 있습니다. 이러한 명령은 특정 시나리오에서 필요할 수 있지만 이러한 명령을 수락하고 실행할 때는 주의해야 합니다.

또한 궁극적으로 .에서 실행하는 GitHub Copilot CLI명령에 대한 책임이 있습니다. 에 의해 GitHub Copilot CLI생성된 명령을 사용할지 여부는 전적으로 사용자의 결정입니다. 유사 시 대기(fail-safe) 및 안전 메커니즘이 있음에도 불구하고 명령을 실행하는 것은 내재된 위험을 수반한다는 것을 이해해야 합니다. GitHub Copilot CLI 는 강력한 도구 집합을 제공하지만 권장 사항에 주의하여 접근하고 명령이 사용자의 의도 및 요구 사항에 부합하는지 확인해야 합니다.

추가 읽기

  •         [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#github-copilot)
    
  •         [
            GitHub Copilot 보안 센터](https://copilot.github.trust.page/)