Copilot 코딩 에이전트 개요
Copilot 코딩 에이전트을 사용하면 GitHub Copilot이 백그라운드에서 독립적으로 작업을 수행하여 인간 개발자처럼 작업을 완료할 수 있습니다.
Copilot 코딩 에이전트 이 가능한 기능:
- 버그 수정
- 증분 새 기능 구현
- 테스트 검사 개선
- 문서 업데이트
- 기술적인 문제 해결
Copilot 코딩 에이전트에 작업을 맡기면, 다음을 할 수 있습니다.
- GitHub Issues, Visual Studio Code 및 GitHub의 모든 페이지에서 사용 가능한 에이전트 패널 등 여러 위치에서 Copilot을 통해 새 끌어오기 요청을 열 수 있습니다. GitHub Copilot에게 풀 리퀘스트 생성을 요청하세요.을(를) 참조하세요.
- 기존 끌어오기 요청의 주석에서
@copilot를 언급하여 변경을 요청하세요. GitHub Copilot에 기존 끌어오기 요청을 변경하도록 요청을(를) 참조하세요. - 보안 캠페인에서 Copilot에 보안 경고를 지정합니다. 자세한 내용은 보안 캠페인에서 경고 수정을 참조하세요.
Copilot 코딩 에이전트은 사용자가 입력한 프롬프트, 즉 문제 설명이나 채팅 메시지 등에 따라 할당된 작업을 평가합니다. 그런 다음 Copilot 코딩 에이전트에서 필요한 변경 사항을 적용한 후 끌어오기 요청을 엽니다. Copilot 코딩 에이전트 작업이 완료되면 검토를 요청하고, 풀 리퀘스트에 코멘트를 남겨 Copilot 코딩 에이전트가 이를 반영하여 수정하도록 할 수 있습니다.
코딩 작업을 하는 동안 Copilot 코딩 에이전트은 GitHub Actions에서 제공하는 임시 개발 환경을 이용하여 코드 탐색, 변경, 자동화 테스트, 린터 실행 등의 작업을 수행할 수 있습니다.
기존 AI 워크플로보다 뛰어난 이점
Copilot 코딩 에이전트를 효과적으로 사용하면 IDE에 내장된 기존 AI 도우미보다 생산성을 높일 수 있습니다.
-
**IDE의 AI 도우미**를 사용하면 코딩이 **로컬로** 수행됩니다. 개별 개발자는 **동기** 세션에서 AI 도우미를 보조 개발자 역할로 활용합니다. 세션 중에 내린 결정은 커밋되지 않으면 **추적되지 않으며**, 시간이 지나면 손실됩니다. 도우미는 코드 작성을 지원하지만, 개발자는 여전히 분기 생성, 커밋 메시지 작성, 변경 사항 푸시, PR 열기, PR 설명 작성, 검토 요청, IDE 반복 작업 등 수많은 **수동 단계** 를 처리해야 합니다. 단순하거나 반복적인 문제의 경우, 이러한 단계들을 거치는 것이 시간과 노력을 들일 만큼 정당화되기 어려울 수 있습니다. -
**Copilot 코딩 에이전트** 에서는 풀 리퀘스트 워크플로의 일부로 **GitHub** 에서 모든 코딩 작업과 반복 작업이 이루어집니다. 여러 사용자 지정 에이전트를 만들어 다양한 유형의 작업을 전문적으로 처리할 수 있습니다. Copilot은 분기 생성, 커밋 메시지 작성 및 푸시, PR 열기, PR 설명 작성 등을 **자동화** 합니다. 개발자는 에이전트가 **백그라운드에서 작업을 수행한** 다음, Copilot을 사용하여 PR 검토를 통해 최종 솔루션으로 조정할 수 있습니다. GitHub에서 작업하면 커밋에서 모든 단계가 발생하고 로그에서 볼 수 있는 **투명성**이 추가되고 전체 팀의 **공동 작업** 기회가 열립니다.
Copilot 코딩 에이전트 및 에이전트 모드
Copilot 코딩 에이전트은 IDE에서 사용할 수 있는 ‘에이전트 모드’ 기능과는 차이가 있습니다. Copilot 코딩 에이전트은 GitHub Actions 환경에서 자율적으로 작동하여 GitHub 문제 또는 GitHub Copilot 채팅 프롬프트를 통해 할당된 개발 작업을 완료하고, 그 결과를 바탕으로 풀 리퀘스트를 생성합니다. 반면, IDE의 에이전트 모드는 로컬 개발 환경에서 직접 자율 편집을 합니다. 에이전트 모드에 대한 더 자세한 내용은 IDE에서 GitHub Copilot에 질문하기을 참고하세요.
Copilot 코딩 에이전트를 사용하여 소프트웨어 개발을 간소화하세요.
Copilot 코딩 에이전트에 작업을 할당하면 소프트웨어 개발 워크플로를 개선할 수 있습니다.
예를 들어, 백로그에서 간단한 문제를 발견했을 때 담당자를 “Copilot”로 지정하여 Copilot 코딩 에이전트에 할당할 수 있습니다. 이를 통해 이러한 문제에 더 적은 시간을 할애하고 더 복잡하거나 흥미로운 작업이나 높은 수준의 창의적인 사고를 필요로 하는 작업에 더 많은 시간을 할애할 수 있습니다. Copilot 코딩 에이전트은 코드베이스 또는 제품의 품질을 개선하는 데 도움이 되는 사소한 문제들을 처리할 수 있지만, 더 시급한 작업에 집중하는 동안 백로그에 남아있는 경우가 많습니다.
Copilot 코딩 에이전트을(를) 추가 코딩 리소스로 사용하면 리소스 부족으로 인해 시작하지 않았을 수도 있는 작업을 시작할 수 있습니다. 예를 들어, 코드를 리팩터링하거나 더 많은 로깅을 추가하는 이슈를 만든 다음, 이를 바로 Copilot에 할당할 수 있습니다.
Copilot 코딩 에이전트는 작업을 시작한 후, 사용자가 직접 선택하여 계속 진행할 수 있습니다. 초기 작업을 Copilot에 할당하면 새 프로젝트 스캐폴딩 설정과 같이 반복적인 작업에 소비되는 시간을 절약할 수 있습니다.
다양한 작업을 위해 특화된 사용자 지정 에이전트를 만들 수 있습니다. 예를 들어, React 구성 요소와 스타일링에 중점을 둔 프런트엔드 개발용 사용자 지정 에이전트을 만들거나, 기술 문서 작성 및 업데이트에 탁월한 문서화 에이전트를 생성하거나, 포괄적인 단위 테스트 생성을 전문으로 하는 테스트 에이전트를 만들 수 있습니다. 각 사용자 지정 에이전트은 특정 작업에 적합하도록 특정 프롬프트와 도구를 사용하여 맞춤 설정할 수 있습니다.
Copilot 코딩 에이전트에 대한 끌어오기 요청 결과 측정
엔터프라이즈 관리자 및 조직 소유자는 Copilot 사용 메트릭을 사용하여 Copilot 코딩 에이전트에서 만든 끌어오기 요청에 대한 끌어오기 요청 결과를 분석할 수 있습니다.
Copilot 사용 메트릭 API에는 다음과 같은 끌어오기 요청 수명 주기 메트릭이 포함됩니다.
- 생성 및 병합된 끌어오기 요청의 총 수
- Copilot 코딩 에이전트이(가) 만든 병합된 풀 리퀘스트 수
- Copilot 코딩 에이전트에서 만든 끌어오기 요청을 포함하여 병합된 끌어오기 요청의 중간 병합 시간
이러한 메트릭은 Copilot 코딩 에이전트의 채택을 추적하는 데 도움이 될 수 있습니다. 또한, 시간이 지남에 따라 끌어오기 요청의 처리량 및 병합 시간의 변화를 모니터링할 수 있습니다. GitHub Copilot 사용 메트릭을(를) 참조하세요.
Copilot 코딩 에이전트을 서드파티 도구와 통합
외부 도구에서 워크플로를 종료하지 않고도 Copilot 코딩 에이전트를 호출하여 Copilot에 작업을 할당하고 컨텍스트를 제공하며, 끌어오기 요청을 열 수 있습니다. 코필로트 통합 정보을(를) 참조하세요.
Copilot 코딩 에이전트를 사용할 수 있게 만들기
Copilot 코딩 에이전트에 작업을 할당하려면 먼저 사용하도록 설정해야 합니다.
Copilot 코딩 에이전트는 GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business,GitHub Copilot Enterprise 플랜과 함께 사용할 수 있습니다.
GitHub Copilot Business 또는 GitHub Copilot Enterprise 구독자인 경우, 관리자가 관련 정책을 활성화해야 에이전트를 사용할 수 있습니다.
리포지토리 소유자는 Copilot 코딩 에이전트에서 일부 또는 모든 리포지토리를 제외하도록 선택할 수 있습니다.
자세한 내용은 GitHub Copilot 코딩 에이전트 액세스 관리을(를) 참조하세요.
Copilot 코딩 에이전트에 대한 AI 모델
Copilot 코딩 에이전트 작업을 시작하는 방식에 따라, Copilot 코딩 에이전트에서 사용할 모델을 선택할 수 있습니다. Copilot을(를) 제공하는 작업의 유형에 따라 다른 모델이 더 잘 수행되거나 더 유용한 응답을 제공할 수 있습니다.
자세한 내용은 GitHub Copilot 코딩 에이전트에 대한 AI 모델 변경을(를) 참조하세요.
리포지토리에 대한 % data variables.copilot.copilot_coding_agent %}의 지식 향상
Copilot 코딩 에이전트이(가) 리포지토리의 코드, 사용하는 도구, 그리고 코딩 표준과 사례에 대해 더 많이 알게 될수록 더욱 효과적이게 됩니다. 리포지토리에 대한 Copilot 코딩 에이전트의 지식을 향상시키기 위해서는 두 가지 방법이 있습니다.
-
**사용자 지정 지침**이러한 문은 리포지토리에 하나 이상의 파일로 작성하고 저장하는 간단한 자연어 문입니다. GitHub에서 조직의 소유자인 경우 조직의 설정에서 사용자 지정 지침을 정의할 수도 있습니다. 자세한 내용은 GitHub Copilot 응답 사용자 지정 방법을(를) 참조하세요.
-
**코필로트 메모리** ()Copilot Pro 또는 부조종사 Pro+ 플랜이 있다면, 코필로트 메모리를 사용하도록 설정할 수 있습니다. 이렇게 하면 Copilot이 리포지토리에 대해 스스로 계산한 유용한 세부 정보들을 저장할 수 있습니다. Copilot 코딩 에이전트는 해당 리포지토리에서 작업할 때 이 정보를 사용할 수 있습니다. 자세한 내용은 GitHub Copilot의 에이전트 메모리 정보을(를) 참조하세요.
Copilot 코딩 에이전트 사용 비용
Copilot 코딩 에이전트는 GitHub Actions 시간과 Copilot 프리미엄 요청을 사용합니다.
GitHub Actions 및 프리미엄 요청에 대한 월별 사용량 허용량 내에서 Copilot 코딩 에이전트에게 추가 비용 없이 코딩 작업을 수행하도록 요청할 수 있습니다.
자세한 내용은 GitHub Copilot 라이선스을(를) 참조하세요.
Copilot 코딩 에이전트 맞춤 설정
Copilot 코딩 에이전트은 여러 가지 방법으로 맞춤 설정할 수 있습니다.
-
**사용자 지정 지침**: 사용자 지정 지침을 사용하면 프로젝트에 대한 Copilot 추가 컨텍스트를 제공하고 변경 내용을 빌드, 테스트 및 유효성을 검사하는 방법을 제공할 수 있습니다. 자세한 내용은 [AUTOTITLE](/copilot/how-tos/configure-custom-instructions/add-repository-instructions)을(를) 참조하세요. -
**MCP(모델 컨텍스트 프로토콜) 서버**: MCP 서버를 사용하면 Copilot에게 다양한 데이터 원본 및 도구에 대한 액세스 권한을 부여할 수 있습니다. 자세한 내용은 [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/extend-coding-agent-with-mcp)을(를) 참조하세요. -
**사용자 지정 에이전트**: 사용자 지정 에이전트를 사용하면 다양한 작업에 맞춰 Copilot의 여러 전문화 버전을 생성할 수 있습니다. 예를 들어, Copilot을 팀 가이드라인을 따르는 프론트엔드 엔지니어 전문가로 사용자 지정할 수 있습니다. 자세한 내용은 [AUTOTITLE](/copilot/concepts/agents/coding-agent/about-custom-agents)을(를) 참조하세요. -
**후크: 후**크를 사용하면 에이전트를 실행하는 동안 키 지점에서 사용자 지정 셸 명령을 실행할 수 있으므로 유효성 검사, 로깅, 보안 검사 또는 워크플로 자동화를 추가할 수 있습니다. 자세한 내용은 [AUTOTITLE](/copilot/concepts/agents/coding-agent/about-hooks)을(를) 참조하세요. -
**기술**: 기술을 사용하면 Copilot의 기능을 향상시켜 지침, 스크립트 및 리소스를 사용하여 특수 작업을 수행할 수 있습니다. 자세한 내용은 [AUTOTITLE](/copilot/concepts/agents/about-agent-skills)을(를) 참조하세요.
기본 제공 보안 보호
Copilot 코딩 에이전트를 다른 AI 에이전트와 마찬가지로 사용할 수 있도록 설정할 때 보안은 가장 기본적인 고려 사항입니다. Copilot 코딩 에이전트는 강력한 기본 보안 기능을 내장하고 있으며, 모범 사례 지침을 준수하여 이를 보완할 수 있습니다.
-
* CodeQL 는 코드 보안 문제를 식별하는 데 사용됩니다.**보안 문제에 대한 유효성 검사**: Copilot은 Copilot 코딩 에이전트이 생성한 코드를 분석하여 보안상의 문제점을 파악하고, 끌어오기 요청을 완료하기 전에 해결을 시도합니다. 이렇게 하면 Copilot 코딩 에이전트에서 생성되는 코드가 하드 코드된 비밀, 안전하지 않은 종속성 및 기타 취약성과 같은 문제를 발생시킬 가능성을 줄입니다. 수행된 분석 및 Copilot 코딩 에이전트에서 수행한 작업에 대한 세부 정보는 세션 로그에서 검토할 수 있습니다. [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/track-copilot-sessions)을(를) 참조하세요.- 새로 도입된 종속성은 GitHub Advisory Database 에서 맬웨어 관련 권고 사항과 CVSS 등급이 높음 또는 위험으로 평가된 취약점에 대해 검사됩니다.
-
**Secret scanning** 는 API 키, 토큰 및 기타 비밀과 같은 중요한 정보를 검색하는 데 사용됩니다. - Copilot 코딩 에이전트의 보안 유효성 검사는 GitHub Secret Protection, GitHub Code Security, or GitHub Advanced Security 라이선스 없이도 가능합니다.
-
**기존 거버넌스의 적용**: 조직 설정 및 엔터프라이즈 정책을 통해 사용 가능 여부를 제어합니다. 조직에 대해 설정된 모든 보안 정책 및 사례는 Copilot 코딩 에이전트에도 동일하게 적용됩니다. -
**제한된 개발 환경**: Copilot 코딩 에이전트는 방화벽으로 제어되는 인터넷 액세스가 있는 샌드박스 개발 환경에서 작동합니다. 귀하는 작업에 할당된 리포지토리에 대해 읽기 전용 액세스 권한을 갖습니다. -
**브랜치에 대한 제한된 액세스**: Copilot 코딩 에이전트는 `copilot/`으로 시작하는 분기만 만들고 푸시할 수 있습니다. 모든 분기 보호와 작업 리포지토리에 대해 필수 검사가 적용됩니다. -
**쓰기 권한이 있는 사용자에게만 응답**합니다. Copilot 코딩 에이전트은(는) 액세스 수준이 낮은 사용자의 피드백에 응답하지 않습니다. -
**외부 협력자로 처리**: Copilot 코딩 에이전트에서 제안한 끌어오기 요청 초안은 작업 워크플로를 실행하기 전에 쓰기 권한이 있는 사용자의 승인이 필요합니다. Copilot 코딩 에이전트에서 풀 리퀘스트를 ‘검토 준비 완료’로 표시할 수 없어 풀 리퀘스트를 승인하거나 병합할 수 없습니다. -
**준수 추적**: Copilot 코딩 에이전트의 커밋은 문제를 할당하거나 풀 리퀘스트 변경을 요청한 개발자와 공동 작성되어 제안된 변경 사항에 대한 귀속을 가능하게 합니다. Copilot에게 풀 리퀘스트 생성을 요청한 개발자는 해당 풀 리퀘스트를 승인할 수 없습니다. 승인 검토가 필요한 리포지토리의 경우, 최소 한 명 이상의 독립 개발자가 Copilot 코딩 에이전트의 작업을 검토하도록 해야 합니다.
자세한 내용은 다음을 참조하세요. * 조직에서 GitHub Copilot 코딩 에이전트의 파일럿 테스트 수행(조직 소유자가 보안을 더욱 강화할 수 있는 방법에 대한 정보) * GitHub.com에서 GitHub Copilot 코딩 에이전트의 책임 있는 사용 * GitHub Copilot 보안 센터
위험 및 완화
Copilot 코딩 에이전트는 사용자의 코드에 액세스 권한을 가지고 있으며, 변경 사항을 리포지토리에 푸시할 수 있는 자율 에이전트입니다. 이 기능은 특정 위험을 내포하고 있습니다. GitHub에서는 가능한 경우 적절한 완화 방법을 적용했을 것입니다.
위험: Copilot 코딩 에이전트이 코드 변경 사항을 저장소에 푸시할 수 있습니다.
이러한 위험을 완화하기 위해 GitHub에서는 다음을 수행합니다.
-
**Copilot 코딩 에이전트에 작업을 할당할 수 있는 사용자를 제한합니다.** 리포지토리에 대한 쓰기 권한이 있는 사용자만이 Copilot 코딩 에이전트를 실행할 수 있습니다. 쓰기 권한이 없는 사용자가 남긴 댓글은 에이전트에게 표시되지 않습니다. -
**Copilot 코딩 에이전트이 사용하는 액세스 토큰에 대한 사용 권한을 제한합니다.** 푸시는 `copilot/`로 시작하는 분기에서만 가능합니다. Copilot 코딩 에이전트은(는) `main` 또는 `master` 분기로 푸시할 수 없습니다. -
**Copilot 코딩 에이전트의 자격 증명에 제한을 둡니다.** Copilot 코딩 에이전트은 오직 간단한 푸시 작업만 수행할 수 있습니다. `git push` 또는 다른 Git 명령을 직접 실행하는 것은 불가능합니다. -
**GitHub Actions 워크플로 실행을 제한합니다.** Copilot 코딩 에이전트의 코드를 검토하고 리포지토리에 대한 쓰기 권한이 있는 사용자가 **워크플로 승인 및 실행** 단추를 클릭할 때까지 워크플로가 트리거되지 않습니다. [AUTOTITLE](/copilot/using-github-copilot/coding-agent/reviewing-a-pull-request-created-by-copilot)을(를) 참조하세요. -
**Copilot 코딩 에이전트를 요청한 사용자가 풀 리퀘스트를 생성했다면, 해당 사용자는 풀 리퀘스트를 승인하지 못하도록 합니다.** 이렇게 하면 ‘필수 승인’ 규칙과 분기 보호 기능이 예상대로 유지됩니다. [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/available-rules-for-rulesets)을(를) 참조하세요.
위험: Copilot 코딩 에이전트은 중요한 정보에 접근할 권한을 가지고 있습니다.
Copilot 코딩 에이전트은(는) 코드 및 기타 중요한 정보에 액세스할 수 있으며 실수로 또는 악의적인 사용자 입력으로 인해 누출될 수 있습니다. 이러한 위험을 완화하기 위해 GitHub에서는 다음을 수행합니다.
-
**Copilot 코딩 에이전트의 인터넷 접속을 제한합니다.** [AUTOTITLE](/copilot/customizing-copilot/customizing-or-disabling-the-firewall-for-copilot-coding-agent)을(를) 참조하세요.
위험: 프롬프트 주입 취약성
사용자는 Copilot 코딩 에이전트에 할당된 문제에 숨겨진 메시지를 넣거나, Copilot 코딩 에이전트에 남아 있는 메모를 프롬프트 삽입의 형태로 활용할 수 있습니다. 이러한 위험을 완화하기 위해 GitHub에서는 다음을 수행합니다.
-
**사용자 입력을 Copilot 코딩 에이전트에 전달하기 전에 숨겨진 문자를 필터링합니다.** 예를 들어, 문제나 풀 리퀘스트 주석에 HTML 주석으로 입력된 텍스트는 Copilot 코딩 에이전트에 전달되지 않습니다.
Copilot 코딩 에이전트의 제한 사항
Copilot 코딩 에이전트에는 소프트웨어 개발 워크플로나 다른 기능과의 호환성에서 특정한 제약이 따릅니다.
Copilot 코딩 에이전트의 소프트웨어 개발 워크플로의 제한 사항
-
**Copilot는 작업을 시작할 때 지정한 리포지토리에서만 변경을 수행할 수 있습니다**. Copilot은(는) 한 번의 실행으로 여러 리포지토리를 수정할 수 없습니다. -
**기본적으로 Copilot는 작업을 시작할 때 지정된 리포지토리의 컨텍스트에만 액세스할 수 있습니다**. Copilot MCP 서버는 기본적으로 Copilot가 작업 중인 리포지토리의 컨텍스트(예: 이슈 및 이전 풀 리퀘스트)에 접근할 수 있도록 구성되어 있습니다. 하지만 액세스 권한을 더 넓게 설정할 수 있습니다. [AUTOTITLE](/copilot/using-github-copilot/coding-agent/extending-copilot-coding-agent-with-mcp)을(를) 참조하세요. -
**Copilot은 한 번에 하나의 풀 리퀘스트만 열 수 있습니다.**. Copilot은 할당된 각 작업에 대해 정확히 하나의 끌어오기 요청을 엽니다.
Copilot 코딩 에이전트의 다른 기능과의 호환성 제한
-
**Copilot은 리포지토리에서 구성 가능한 특정 규칙을 따르지 않습니다.**. Copilot 코딩 에이전트(예: "서명된 커밋 필요" 규칙)와 호환되지 않는 규칙 집합 또는 분기 보호 규칙을 구성한 경우 에이전트에 대한 액세스가 차단됩니다. 규칙이 규칙 집합으로 구성된 경우, Copilot를 우회 사용자로 추가하면 액세스 권한을 얻을 수 있습니다. [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/creating-rulesets-for-a-repository#granting-bypass-permissions-for-your-branch-or-tag-ruleset)을(를) 참조하세요. -
**Copilot 코딩 에이전트은(는) 콘텐츠 제외를 반영하지 않습니다**. 콘텐츠 제외 기능을 통해 관리자는 특정 파일을 무시하도록 Copilot을 설정할 수 있습니다. Copilot 코딩 에이전트을 사용하는 경우 Copilot은 해당 파일을 무시하지 않으며, 보고 업데이트가 가능합니다. [AUTOTITLE](/copilot/managing-copilot/configuring-and-auditing-content-exclusion/excluding-content-from-github-copilot)을(를) 참조하세요. -
**Copilot 코딩 에이전트는 GitHub에서 호스팅되는 리포지토리에서만 작동합니다**. 다른 코드 호스팅 플랫폼을 사용하여 리포지토리를 저장하는 경우, Copilot에서 해당 작업을 수행할 수 없습니다.
실습
[Copilot 코딩 에이전트](https://github.com/skills/expand-your-team-with-copilot/?ref_product=copilot&ref_type=engagement&ref_style=text) 팀 확장 기술 과정에 참여하여 Copilot 코딩 에이전트를 직접 경험해 보시기 바랍니다.
추가 참고 자료
-
[AUTOTITLE](/copilot/using-github-copilot/coding-agent) 방법 문서 -
[AUTOTITLE](/copilot/concepts/agents/coding-agent/about-custom-agents) -
[AUTOTITLE](/copilot/responsible-use-of-github-copilot-features/responsible-use-of-copilot-coding-agent-on-githubcom)