Skip to main content

Copilot 코딩 에이전트 정보

GitHub 이슈를 Copilot에 할당하거나, Copilot에 끌어오기 요청을 생성하도록 요청할 수 있습니다.

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

Copilot 코딩 에이전트는 해당 기능이 비활성화되지 않은 리포지토리에서 GitHub Copilot Pro(프로)+, GitHub Copilot Business 및 GitHub Copilot Enterprise 플랜을 구독하여 이용할 수 있습니다. Copilot 코딩 에이전트는 관리형 사용자 계정가 소유한 리포지토리에서는 사용할 수 없습니다.
Sign up for Copilot

참고 항목

  • Copilot 코딩 에이전트는 공개 미리 보기 버전이며 변경될 수 있습니다. 미리 보기 중 기능의 사용은 GitHub 시험판 사용 조건을(를) 따릅니다.

Copilot 코딩 에이전트 개요

Copilot 코딩 에이전트를 사용하면 GitHub Copilot은 백그라운드에서 독립적으로 작업하면서 인간 개발자처럼 작업을 완료할 수 있습니다.

Copilot에서는 다음을 수행할 수 있습니다.

  • 버그 수정
  • 증분 새 기능 구현
  • 테스트 검사 개선
  • 문서 업데이트
  • 기술적인 문제 해결

개발 작업을 Copilot에 위임하려면 다음을 수행할 수 있습니다.

Copilot은 이슈 설명 또는 채팅 메시지에서 사용자가 제공하는 프롬프트에 따라 할당된 작업을 평가합니다. 그런 다음, Copilot은 필요한 내용을 변경하고 끌어오기 요청을 엽니다. Copilot이 완료되면 검토가 요청되며, 사용자는 끌어오기 요청 댓글을 남겨 Copilot에 반복하도록 요청할 수 있습니다.

코딩 작업을 수행하는 동안 Copilot은 GitHub Actions로 구동되는 자체 임시 개발 환경에 액세스할 수 있습니다. Copilot은 사용자의 코드를 살펴보고, 필요한 부분을 변경하고, 자동화된 테스트 및 Linter를 실행하는 등의 작업을 진행할 수 있습니다.

기존 AI 워크플로를 능가하는 이점

Copilot 코딩 에이전트를 효과적으로 사용하면 IDE의 기존 AI 도우미보다 생산성이 향상됩니다.

  • IDE의 AI 도우미를 사용하면 코딩이 로컬로 수행됩니다. 개별 개발자는 동기 세션에서 AI 도우미를 보조 개발자로 활용합니다. 커밋되지 않는 한, 세션 중에 내린 결정은 추적되지 않고 시간이 지나면 손실됩니다. 도우미가 코드를 작성하는 데 도움이 되지만 개발자는 분기 만들기, 커밋 메시지 작성, 변경 내용 푸시, PR 열기, PR 설명 작성, 검토 가져오기, IDE 반복, 반복 등 많은 수동 단계를 여전히 처리해야 합니다. 이러한 단계들은 단순하거나 반복적인 이슈에 대해서는 시간과 노력을 들일 만한 정당성을 확보하기 어려울 수 있습니다.

  • Copilot 코딩 에이전트 에서는 끌어오기 요청 워크플로의 일부로 GitHub에서 모든 코딩 및 반복이 수행됩니다. Copilot은 분기 만들기, 커밋 메시지 쓰기 및 푸시, PR 열기 및 PR 설명 쓰기를 자동화합니다. 개발자는 에이전트가 백그라운드에서 작동하도록 허용한 다음, PR 검토를 사용하여 Copilot을 최종 솔루션으로 이끕니다. GitHub에서 작업하면 모든 단계가 커밋되고 로그에서 볼 수 있는 투명성이 추가적으로 보장됩니다. GitHub에서 작업하면 팀 전체의 협업 기회도 열립니다.

Copilot 코딩 에이전트 및 에이전트 모드

Copilot 코딩 에이전트는 Visual Studio 및 Visual Studio Code에서 사용할 수 있는 "agent mode" 기능과 다릅니다. Copilot 코딩 에이전트는 GitHub Actions 환경에서 자율적으로 작동하여 GitHub 문제 또는 GitHub Copilot 채팅 프롬프트를 통해 할당된 개발 작업을 완료하고 결과를 사용하여 끌어오기 요청을 만듭니다. 반면 Visual Studio 및 Visual Studio Code의 에이전트 모드는 GitHub Copilot 편집 기능의 일부로, Copilot에서 로컬 개발 환경에서 직접 자율 편집을 할 수 있습니다. 에이전트 모드에 대한 자세한 내용은 IDE에서 GitHub Copilot에 질문하기을(를) 참조하세요.

Copilot 코딩 에이전트를 사용하여 소프트웨어 개발 간소화

Copilot에 작업을 할당하면 소프트웨어 개발 워크플로가 개선될 수 있습니다.

예를 들어 백로그의 간단한 이슈에 Copilot을 할당할 수 있습니다. 이러한 방식으로 이러한 작업에 더 적은 시간을 할애하고 더 복잡하거나 흥미로운 작업 또는 높은 수준의 창의적인 사고를 필요로 하는 작업에 더 많은 시간을 할애할 수 있습니다. Copilot은 코드베이스나 제품의 품질을 향상시키는 "유용한" 이슈로 작업할 수 있지만, 사용자가 더 긴급한 작업에 집중하는 동안 백로그에 남아 있는 경우가 많습니다.

Copilot을 추가 코딩 리소스로 사용하면 리소스 부족으로 인해 시작하지 못했을 수도 있는 작업을 시작할 수 있습니다. 예를 들어 Copilot 작업을 위임하여 코드를 리팩터링하거나 더 많은 로깅을 추가한 다음, 즉시 Copilot에 할당할 수 있습니다.

Copilot은 작업을 시작할 수 있습니다. 그러면 사용자가 해당 작업을 선택하고 작업을 직접 계속 진행할 수 있습니다. 초기 작업을 Copilot에 할당하면 새 프로젝트에 대한 스캐폴딩 설정과 같은 반복적인 작업을 수행하는 데 소요했을 수 있는 시간을 확보할 수 있습니다.

Copilot 코딩 에이전트를 사용할 수 있게 만들기

Copilot에 작업을 할당하려면 먼저 사용하도록 설정해야 합니다. Copilot 코딩 에이전트 사용 설정 정보을(를) 참조하세요.

Copilot 코딩 에이전트 사용 비용

Copilot 코딩 에이전트는 GitHub Actions 시간(분) 및 Copilot 프리미엄 요청을 사용합니다.

GitHub Actions 및 프리미엄 요청에 대한 월별 사용량 허용량 내에서 Copilot에 추가 비용 없이 코딩 작업을 수행하도록 요청할 수 있습니다.

자세한 내용은 GitHub Copilot billing을(를) 참조하세요.

기본 제공 보안 보호

다른 AI 에이전트와 마찬가지로 Copilot 코딩 에이전트를 사용하도록 설정할 때 보안은 기본적인 고려 사항입니다. Copilot에는 모범 사례 지침에 따라 보완할 수 있는 강력한 기본 제공 보안 보호 기반이 있습니다.

  • 기존 거버넌스의 적용: 조직 설정 및 엔터프라이즈 정책에서 가용성을 제어합니다. 조직에 대해 설정된 모든 보안 정책 및 사례는 Copilot 코딩 에이전트에도 적용됩니다.
  • 제한된 개발 환경: Copilot은 방화벽을 통해 인터넷 액세스가 제어되는 샌드박스 개발 환경에서 작동합니다. 작업하도록 할당된 리포지토리에 대해 읽기 전용 액세스 권한이 있습니다.
  • 분기에 대한 제한된 액세스: Copilot은 copilot/으로 시작하는 분기만 만들고 이러한 분기로 푸시할 수 있습니다. 모든 분기 보호 및 작업 리포지토리에 대한 필수 검사가 적용됩니다.
  • 쓰기 권한이 있는 사용자에게만 응답: Copilot은 액세스 권한 수준이 낮은 사용자의 피드백에 응답하지 않습니다.
  • 외부 협력자로 처리: Copilot에서 제안한 끌어오기 요청 초안은 쓰기 권한이 있는 사용자가 승인해야만 Actions 워크플로를 실행할 수 있습니다. Copilot은 끌어오기 요청을 "Ready for review"로 표시할 수 없으며 끌어오기 요청을 승인하거나 병합할 수 없습니다.
  • 규정 준수 여부 추적: Copilot의 커밋은 이슈를 할당하거나 끌어오기 요청 변경을 요청한 개발자가 공동 작성하여 제안된 변경에 기여하도록 합니다. Copilot에 끌어오기 요청을 생성하도록 요청한 개발자는 해당 끌어오기 요청을 승인할 수 없습니다. 승인 검토가 필요한 리포지토리에서는 1명 이상의 독립 개발자가 Copilot의 작업을 검토해야 합니다.

자세한 내용은 다음을 참조하세요.

위험 및 완화 방법

Copilot 코딩 에이전트는 사용자 코드에 액세스할 수 있고 변경 내용을 리포지토리에 푸시할 수 있는 자율 에이전트입니다. 이 기능은 특정 위험을 수반합니다. 가능한 경우 GitHub에서 적절한 완화 방법을 적용했을 것입니다.

위험: Copilot에서 코드 변경 내용을 리포지토리에 푸시할 수 있음

이 위험을 완화하기 위해 GitHub는 다음을 수행합니다.

  • Copilot에 작업을 할당할 수 있는 사용자를 제한합니다. 리포지토리에 대한 쓰기 권한이 있는 사용자만 Copilot이 작동하도록 트리거할 수 있습니다. 쓰기 액세스 권한이 없는 사용자의 댓글은 에이전트에 표시되지 않습니다.
  • Copilot에서 사용하는 액세스 토큰의 권한을 제한합니다. copilot/로 시작하는 분기에 대해서만 푸시가 허용됩니다. Copilot은 main 또는 master 분기로 푸시할 수 없습니다.
  • Copilot의 자격 증명을 제한합니다. Copilot은 간단한 푸시 작업만 수행할 수 있습니다. git push 또는 다른 Git 명령을 직접 실행할 수 없습니다.
  • GitHub Actions 워크플로 실행을 제한합니다. Copilot의 코드를 검토하고 리포지토리에 대한 쓰기 권한이 있는 사용자가 Approve and run workflows 단추를 클릭할 때까지 워크플로가 트리거되지 않습니다. Copilot에서 만든 끌어오기 요청 검토을(를) 참조하세요.
  • Copilot에 끌어오기 요청을 생성하도록 요청한 사용자가 해당 요청을 승인하지 못하도록 합니다. 이렇게 하면 "Required approvals" 규칙 및 분기 보호에서 예상한 컨트롤이 유지됩니다. 규칙 세트에 사용 가능한 규칙을(를) 참조하세요.

위험: Copilot이 중요한 정보에 액세스할 수 있음

Copilot은 코드 및 기타 중요한 정보에 액세스할 수 있으며 실수로 또는 악의적인 사용자 입력으로 인해 정보가 누출될 수 있습니다. 이 위험을 완화하기 위해 GitHub는 다음을 수행합니다.

위험: 프롬프트 주입 취약성

사용자는 Copilot에 할당된 이슈 또는 Copilot에 대해 남겨진 댓글에 프롬프트 삽입 형태로 숨겨진 메시지를 포함할 수 있습니다. 이 위험을 완화하기 위해 GitHub는 다음을 수행합니다.

  • 사용자 입력을 Copilot에 전달하기 전에 숨겨진 문자 필터링: 예를 들어 이슈에 HTML 댓글으로 입력한 텍스트 또는 끌어오기 요청 댓글은 Copilot에 전달되지 않습니다.

Copilot 코딩 에이전트의 제한 사항

Copilot 코딩 에이전트에는 소프트웨어 개발 워크플로 및 다른 기능과의 호환성에 대해 특정 제한 사항이 있습니다.

Copilot의 소프트웨어 개발 워크플로의 제한 사항

  • Copilot은 끌어오기 요청을 만드는 동일한 리포지토리에서만 변경할 수 있습니다. Copilot에 이슈가 할당된 경우 해당 이슈가 있는 리포지토리에서만 변경할 수 있습니다. 또한 Copilot은 한 번의 실행으로 여러 리포지토리에서 변경할 수 없습니다.
  • Copilot은 할당된 이슈와 동일한 리포지토리의 컨텍스트에만 액세스할 수 있습니다. 기본적으로 Copilot MCP 서버와 통합하면 Copilot에서는 한 번에 하나의 리포지토리에만 액세스할 수 있습니다. 그러나 더 광범위한 액세스를 구성할 수 있습니다. MCP(모델 컨텍스트 프로토콜)를 사용하여 Copilot 코딩 에이전트 확장을(를) 참조하세요.
  • Copilot은 한 번에 하나의 끌어오기 요청만 열 수 있습니다. Copilot은 할당된 각 작업을 처리하기 위해 정확히 하나의 끌어오기 요청을 엽니다.
  • Copilot은 만들지 않은 기존 끌어오기 요청에 대해 작업할 수 없습니다. Copilot에서 기존 끌어오기 요청에 대한 피드백을 제공하게 하려는 경우 검토자로 추가할 수 있습니다. GitHub Copilot 코드 검토 사용을(를) 참조하세요.

다른 기능과 Copilot 호환성의 제한 사항

  • Copilot은 커밋에 서명하지 않습니다. "Require signed commits" 규칙 또는 분기 보호를 사용하도록 설정한 경우 Copilot의 끌어오기 요청을 병합하기 위해서는 커밋 기록을 다시 작성해야 합니다. 규칙 세트에 사용 가능한 규칙을(를) 참조하세요.
  • Copilot은 자체 호스팅 GitHub Actions 실행기에서 작동하지 않습니다. Copilot은 GitHub Actions에서 실행되는 자체 개발 환경에 액세스할 수 있으며 GitHub 호스팅 실행기를 사용해야 합니다. Customizing the development environment for Copilot coding agent을(를) 참조하세요.
  • Copilot 코딩 에이전트는 관리형 사용자 계정가 소유한 개인 리포지토리에서는 작동하지 않습니다. Copilot 코딩 에이전트에 GitHub 호스팅 실행기가 필요하기 때문이며, 이 실행기는 관리형 사용자 계정가 소유한 리포지토리에서 사용할 수 없습니다. GitHub-hosted runners을(를) 참조하세요.
  • Copilot은 콘텐츠 제외를 고려하지 않습니다. 콘텐츠 제외를 사용하여 관리자는 특정 파일을 무시하도록 Copilot을 구성할 수 있습니다. Copilot 코딩 에이전트를 사용하는 경우 Copilot은 이러한 파일을 무시하지 않으며, 보고 업데이트할 수 있습니다. GitHub Copilot에서 콘텐츠 제외을(를) 참조하세요.
  • Copilot 코딩 에이전트는 "공용 코드와 일치하는 제안" 정책을 적용하지 않습니다. "공용 코드와 일치하는 제안" 정책이 "차단"으로 설정된 경우에도 Copilot에서 공용 코드와 일치하는 제안을 계속 생성할 수 있습니다. 이 경우 Copilot은 코드의 원래 원본을 가리키는 코드 참조를 제공하지 않습니다. Managing Copilot policies as an individual subscriber을(를) 참조하세요.
  • Copilot 코딩 에이전트는 데이터 보존 기능을 갖춘 GitHub Enterprise Cloud에서 사용할 수 없습니다. 해당 에이전트는 GitHub.com에서만 사용할 수 있습니다.
  • Copilot 코딩 에이전트는 GitHub에 호스트된 리포지토리에서만 작동합니다. 다른 코드 호스팅 플랫폼을 사용하여 리포지토리를 저장하는 경우 Copilot에서 해당 작업을 수행할 수 없습니다.

실습

Copilot 코딩 에이전트로 팀 확장 기술 과정을 진행하여 Copilot 코딩 에이전트를 실제로 경험해 보세요.

추가 참고 자료