애플리케이션 카드란?
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 제안 및 대화를 넘어 코드를 검토하고, 사용자 대신 조치를 취하고, 애플리케이션을 빌드할 수 있는 몇 가지 에이전트 기능을 포함합니다. 이 카드는 다음과 같은 환경을 다룹니다.
-
Copilot 코드 검토: GitHub.com에서 풀 리퀘스트 변경 내용과 메타데이터를 검토하고 피드백 댓글과 제안된 변경 사항을 생성합니다.
-
Copilot 클라우드 에이전트: 할당된 문제에 대한 응답으로 분기를 만들고 코드를 작성하고 끌어오기 요청을 열 수 있는 GitHub.com 비동기 에이전트입니다. 클라우드 에이전트는 자동화된 보안 검사를 사용하여 임시 방화벽 환경에서 실행됩니다.
-
Copilot CLI: 파일을 만들고 수정하고, 명령을 실행하고, 다단계 작업을 수행할 수 있는 명령줄 도구입니다. 모든 작업에는 명시적 권한 프롬프트가 필요하며 현재 디렉터리로 범위가 지정됩니다.
-
Copilot SDK: 개발자가 Copilot 사용하여 사용자 지정 AI 기반 애플리케이션을 빌드할 수 있는 프로그래밍 라이브러리입니다. SDK는 JSON-RPC 통해 Copilot CLI와 통신하고 사용자 지정 에이전트, MCP 서버 통합, 수명 주기 후크 및 세션 관리를 지원합니다.
-
GitHub Spark(미리 보기): 에이전트가 코드를 작성하고 개발 환경에서 명령을 실행하는 관리되는 앱 빌드 환경입니다. Spark는 관리되는 런타임을 제공하며 GitHub Models SDK를 통해 유추 기능을 추가할 수 있습니다.
이러한 기능은 사용자 감독, 출력 검토 및 책임 있는 사용과 같은 공통 원칙을 공유하지만 실행 환경, 권한 및 데이터 흐름은 다릅니다. 아래 섹션에서는 맥락에서의 각 경험을 설명합니다.
2. 주요 용어
다음 목록에서는 GitHub Copilot 에이전트와 관련된 주요 용어집을 제공합니다.
-
코딩 제안: 끌어오기 요청에 대한 피드백의 일부로 Copilot 코드 검토에서 제안한 특정 코드 변경입니다. 코드 제안은 몇 번의 클릭으로 적용할 수 있는 제안된 변경 내용으로 표시됩니다.
-
콘텐츠 필터링: 사용자에게 표시되기 전에 프롬프트 및 응답을 검사하여 유해하거나 불쾌하거나 안전하지 않은 콘텐츠를 감지하고 차단하는 안전 시스템입니다.
-
사용자 지정 지침: 리포지토리 관리자가 Copilot 코드 검토의 피드백을 안내하기 위해 구성할 수 있는, 코딩 스타일 및 모범 사례에 대한 자연어 설명입니다. 사용자 지정 지침은 Copilot 특정 코드베이스의 규칙과 표준을 이해하는 데 도움이 됩니다.
-
환각: 언어 모델이 그럴듯하게 들리지만 실제로는 틀렸거나 제공된 컨텍스트에서 지원되지 않거나 완전히 조작된 출력을 생성하는 현상입니다. 코드 검토에서 환각은 존재하지 않거나 코드의 오해를 기반으로 하는 문제를 강조하는 피드백으로 나타날 수 있습니다.
-
LLM(큰 언어 모델) : 자연어 및 코드를 생성, 분석 및 변환할 수 있는 대규모 텍스트 데이터 본문에서 학습된 신경망 유형입니다. Copilot 에이전트는 하나 이상의 LLM을 사용하여 컨텍스트를 처리하고 응답을 생성합니다.
-
임시 개발 환경: 각 클라우드 에이전트 세션에 대해 생성된 임시 격리 컴퓨팅 환경입니다. 세션이 종료된 후 환경이 제거되어 실행 사이에 상태가 유지되지 않습니다.
-
방화벽: 인증되지 않은 호스트에 대한 아웃바운드 연결을 방지하여 코드 또는 데이터의 우발적이거나 악의적인 반출을 방지하는 클라우드 에이전트에 대해 기본적으로 사용하도록 설정된 네트워크 수준 컨트롤입니다.
-
AI 크레딧: Copilot 기능에 대한 소비 단위입니다. Copilot 코드 검토를 사용할 때마다 AI 크레딧이 소비됩니다.
-
사용 프롬프트: 에이전트가 진행되기 전에 사용자에게 파일 수정, 명령 실행 또는 현재 디렉터리 외부의 파일 액세스와 같은 작업을 승인하도록 요청하는 Copilot CLI의 대화형 확인 단계입니다. 권한 프롬프트는 로컬 에이전트 실행을 위한 주요 안전 메커니즘입니다.
-
Copilot SDK: 개발자가 세션을 만들고, 프롬프트를 보내고, Copilot 스트리밍 응답을 수신하여 사용자 지정 AI 기반 애플리케이션을 빌드할 수 있는 프로그래밍 라이브러리(
@github/copilot-sdk)입니다. SDK는 JSON-RPC를 통해 Copilot CLI와 통신합니다. -
JSON-RPC: Copilot SDK와 Copilot CLI 간에 사용되는 통신 프로토콜입니다. SDK는 모델 상호 작용 및 도구 실행을 처리하는 정형 요청을 CLI 프로세스에 보냅니다.
-
SDK(사용자 지정 에이전트): 자체 시스템 프롬프트, 범위가 지정된 도구 및 선택적 MCP 서버가 있는 SDK 내의 명명된 에이전트 구성입니다. SDK 런타임은 사용자 의도에 따라 하위 에이전트에 자동으로 위임할 수 있습니다.
-
Hooks(SDK): 개발자가 세션 중 특정 지점(예: 도구 사용 전후, 세션 시작 또는 종료, 오류 발생 시)에 사용자 지정 논리를 삽입할 수 있도록 하는 Copilot SDK의 수명 주기 콜백입니다.
-
** 관리형 런타임**: 애플리케이션의 요구 사항에 따라 크기를 조정하고 인프라를 수동으로 관리할 필요가 없는 GitHub Spark에서 제공하는 완전 관리형 호스팅 환경입니다.
-
Spark: GitHub Spark를 사용하여 빌드된 애플리케이션입니다. Spark는 간단한 유틸리티에서 전체 스택 웹 애플리케이션에 이르기까지 다양할 수 있으며 구성 가능한 가시성을 사용하여 공용 인터넷에 배포할 수 있습니다.
-
타게팅된 편집: GitHub Spark의 기능으로, 전역 변경을 적용하는 대신 애플리케이션 내에서 특정 요소를 선택하고 스타일, 실체 또는 동작을 구체화하는 데 초점을 맞춘 프롬프트를 제공할 수 있습니다.
3. 주요 기능 및 역량
여기에 설명된 주요 기능과 기능은 GitHub Copilot 에이전트가 수행하도록 디자인된 작업과 지원되는 작업에서 수행하는 방법에 대해 설명합니다.
-
자동화된 코드 검토 피드백: 사용자가 Copilot에 검토를 요청하면 코드 변경 내용과 추가적인 관련 컨텍스트를 분석하고 코드에 대해 피드백을 제공합니다. 피드백에는 자연어 주석과 특정 줄 및 파일에 연결된 특정 코드 제안이 포함될 수 있습니다.
-
구성 검토 지침: Copilot 코드 검토는 사용자 지정 지침(코딩 스타일 및 모범 사례에 대한 자연어 설명)을 사용하여 사용자 지정할 수 있으므로 피드백은 리포지토리의 규칙과 표준을 반영합니다.
-
자율적 풀 리퀘스트 생성: Copilot 클라우드 에이전트는 이슈, 풀 리퀘스트 댓글 또는 Copilot Chat에서 작업을 받아 브랜치를 만들고, 상황에 맞는 코드 변경 사항을 생성한 다음, 풀 리퀘스트를 열 수 있습니다. 초기 풀 리퀘스트가 생성된 후, 에이전트는 사용자의 피드백과 리뷰를 바탕으로 수정해 나갈 수 있습니다.
-
임시 방화벽 실행: 작업을 수행하는 동안 클라우드 에이전트는 코드를 변경하고, 자동화된 테스트를 실행하고, Linter를 실행할 수 있는 자체 임시 개발 환경에 액세스할 수 있습니다. 방화벽은 기본적으로 데이터 반출을 방지하기 위해 사용하도록 설정됩니다.
-
자동화된 보안 검사: 코드를 생성하는 동안 클라우드 에이전트는 CodeQL, 비밀 검사 및 종속성 분석을 사용하여 새로 생성된 코드를 자동으로 분석하고, 문제가 도입되기 전에 문제를 해결하려고 시도합니다.
-
영구 통합: 클라우드 에이전트는 workIQ 및 Microsoft 365 같은 MCP와 Microsoft Teams, 선형, Slack 및 Jira와 같은 외부 애플리케이션에서 정보와 컨텍스트를 수신하여 팀이 작업을 할당하고 기존 워크플로 내에서 직접 진행 상황을 추적할 수 있도록 합니다.
-
로컬 에이전트 실행(Copilot CLI): Copilot CLI는 터미널에서 파일을 자율적으로 만들고 수정하고, 명령을 실행하고, 다단계 작업을 수행할 수 있는 채팅과 유사한 인터페이스를 제공합니다. 모든 작업의 범위는 현재 디렉터리로 지정되며 에이전트가 파일을 수정하거나 명령을 실행하기 전에 명시적 권한 프롬프트가 필요합니다.
-
자연 언어 앱 빌드(Spark): GitHub Spark는 사용자가 코드를 수동으로 작성하거나 배포할 필요 없이 전체 스택 웹 애플리케이션을 만들고 배포하기 위한 자연어 중심 개발 환경을 제공합니다. Spark는 애플리케이션의 요구 사항에 따라 크기가 조정되는 완전히 관리되는 런타임 환경을 제공합니다.
-
** Spark(유추 기능)**: Spark의 SDK는 기본적으로 GitHub 모델과 통합되므로 모델 유추를 애플리케이션에 통합할 수 있습니다. Spark에서 애플리케이션에 유추 기능이 필요하다고 판단되면 Spark SDK를 사용하여 추가합니다.
4. 용도
GitHub Copilot 에이전트는 다양한 산업의 여러 시나리오에서 사용할 수 있습니다. 사용 사례의 몇 가지 예는 다음과 같습니다.
-
인적 코드 검토 지원: Copilot 코드 검토는 개발자 코드에 대한 피드백을 신속하게 제공하여 개발자가 코드를 보다 신속하게 병합할 준비를 하고 전반적인 코드 품질을 높일 수 있도록 하기 위한 것입니다.
-
코드베이스 유지 관리: 클라우드 에이전트는 보안 관련 수정, 종속성 업그레이드 및 대상 리팩터링을 해결할 수 있습니다.
-
기능 개발: 클라우드 에이전트는 증분 기능 요청을 구현하고, 추가 테스트 제품군을 개발하고, 설명서를 만들거나 업데이트할 수 있습니다.
-
** 새 프로젝트 프로토타이핑**: 클라우드 에이전트 및 Copilot CLI는 새로운 개념을 그린필드로 만들 수 있으므로 개발자가 아이디어를 빠르게 탐색할 수 있습니다.
-
** 환경 설정(CLI)**: Copilot CLI는 터미널에서 명령을 실행하여 기존 프로젝트에서 작동하도록 로컬 환경을 설정할 수 있습니다.
-
적절한 명령 찾기(CLI): Copilot CLI는 수행하려는 작업에 맞는 명령을 제안하고, 익숙하지 않은 명령을 자연어로 설명해 줍니다.
-
SDK(사용자 지정 AI 애플리케이션) 0 빌드: Copilot SDK를 사용하면 개발자가 코드 생성, 자연어 상호 작용 및 자체 제품 및 워크플로에서 작업 자동화에 Copilot 활용하는 애플리케이션을 빌드할 수 있습니다. -
SDK(다중 에이전트 오케스트레이션): 개발자는 사용자 지정 에이전트 및 하위 에이전트를 사용하여 여러 특수 에이전트가 사용자 의도에 따라 자동 위임을 사용하여 복잡한 작업에 대해 공동 작업하는 정교한 워크플로를 빌드할 수 있습니다.
-
SDK(외부 도구)를 사용하여 애플리케이션 확장: SDK의 MCP 서버 지원을 통해 개발자는 애플리케이션을 외부 데이터 원본 및 서비스에 연결하여 에이전트가 수행할 수 있는 작업 범위를 확장할 수 있습니다.
-
** 웹 애플리케이션 빌드 및 배포(Spark)**: GitHub Spark를 사용하여 자연어를 사용하여 전체 스택 웹 애플리케이션을 빌드할 수 있습니다. Spark의 통합 런타임 환경을 사용하면 GitHub 계정 권한에 따라 구성 가능한 가시성을 사용하여 공용 인터넷에 이러한 애플리케이션을 배포할 수 있습니다.
-
빠른 프로토타입 생성(Spark): Spark는 개발자, 디자이너, 제품 관리자 및 기타 빌더가 애플리케이션을 처음부터 빌드하거나 복잡한 모형을 생성할 필요 없이 빠르게 아이디어를 프로토타입화할 수 있도록 지원합니다. 프로토타입을 쉽게 공유할 수 있게 배포하거나 게시되지 않은 상태로 유지할 수 있습니다.
5. 모델 및 학습 데이터
GitHub Copilot 에이전트는 다양한 AI 모델을 기반으로 사용자가 접하는 경험을 구동합니다. Copilot 사용할 수 있는 모델의 비교는 AI 모델 비교 참조하세요. 지원되는 모델의 전체 목록은 GitHub Copilot에서 지원되는 AI 모델을 참조하세요. 모델이 호스트되는 위치에 대한 자세한 내용은 GitHub Copilot 위한 모델 호스팅을 참조하세요. GitHub Copilot Agents의 기반 모델을 학습하는 데 사용되는 데이터에 대한 자세한 내용은 위의 연결된 AI 모델 비교 및 GitHub Copilot FAQ에서 GitHub Copilot 학습된 데이터는 무엇입니까? 참조하세요.
Copilot 코드 검토는 모델, 프롬프트 및 시스템 동작을 신중하게 튜닝하여 광범위한 코드베이스에서 일관되고 고품질의 피드백을 제공하는 용도로 작성된 제품입니다. 모델 전환은 지원되지 않습니다. 모델을 변경하면 신뢰성, 사용자 환경, 검토 메모의 품질이 저하될 수 있습니다. Copilot 코드 검토는 조직의 "모델" 설정 페이지에서 사용하도록 설정되지 않은 모델을 사용할 수 있습니다.
Copilot 클라우드 에이전트는 대규모 언어 모델을 사용하여 작업을 추론하고 코드를 생성하며 임시 개발 환경 내에서 도구를 활용합니다. 에이전트는 다양한 프로그래밍 언어에서 평가되었습니다. 영어는 프롬프트 및 응답에 지원되는 기본 언어입니다.
Copilot CLI는 대규모 언어 모델을 사용하여 작업을 추론하고, 코드를 생성하고, 파일을 수정하고, 로컬 터미널 환경에서 명령을 실행합니다. 에이전트는 다양한 프로그래밍 언어에서 평가되었습니다. 영어는 프롬프트 및 응답에 지원되는 기본 언어입니다.
Copilot SDK는 동일한 기본 모델 및 기능을 사용하여 JSON-RPC를 통해 Copilot CLI와 통신합니다. SDK를 사용하여 빌드된 애플리케이션은 인증된 Copilot 사용자 또는 조직에서 사용할 수 있는 동일한 모델을 사용합니다. 개발자는 사용자 지정 모델 공급자를 사용하기 위해 BYOK(자체 API 키)를 가져올 수도 있습니다.
GitHub Spark는 대규모 언어 모델을 사용하여 개발 환경 내에서 에이전트에 전원을 공급합니다. 에이전트는 코드를 작성하고 명령을 실행하여 애플리케이션을 빌드합니다. Spark의 SDK는 기본적으로 GitHub 모델과 통합되므로 애플리케이션에서 모델 유추 기능을 통합할 수 있습니다. GitHub 모델에서 사용하는 모델에 대한 자세한 내용은 책임 있는 GitHub 모델 사용 참조하세요. Spark는 애플리케이션 내에서 만든 프롬프트에서 유추를 테스트하지 않습니다. 포함된 기능이 의도한 대로 작동하도록 해야 합니다.
6. 성능
환경별 차이점
Copilot 클라우드 에이전트
Copilot 클라우드 에이전트는 자연어 처리와 기계 학습의 조합을 사용하여 작업을 이해하고 코드베이스를 변경합니다. 이 프로세스는 여러 단계로 나눌 수 있습니다.
- Prompt 처리: 문제, 끌어오기 요청 주석 또는 Copilot Chat 메시지를 통해 제공되는 작업은 다른 관련 컨텍스트 정보와 결합하여 프롬프트를 형성합니다. 해당 프롬프트는 처리를 위해 대규모 언어 모델로 전송됩니다. 입력은 일반 자연어, 코드 조각 또는 이미지 형식을 사용할 수 있습니다.
- 언어 모델 분석: 프롬프트는 대규모 데이터 본문에서 학습된 신경망인 큰 언어 모델을 통해 전달됩니다. 언어 모델은 입력 프롬프트를 분석하여 에이전트가 작업에 대한 이유를 파악하고 필요한 도구를 활용하는 데 도움을 줍니다.
- 응답 생성: 언어 모델은 프롬프트 분석을 기반으로 응답을 생성합니다. 이 응답은 자연어 제안 및 코드 제안의 양식을 취할 수 있습니다.
- 출력 형식 지정: 에이전트가 첫 번째 실행을 완료하면 끌어오기 요청 설명을 변경 내용으로 업데이트합니다. 에이전트는 액세스할 수 없는 리소스에 대한 추가 정보를 포함하고 해결 단계에 대한 제안을 제공할 수 있습니다. 끌어오기 요청 내에서 주석을 달거나 에이전트(
@copilot)를 명시적으로 언급하여 피드백을 제공할 수 있습니다. 그러면 에이전트는 추가 분석을 위해 해당 피드백을 다시 제출하고 업데이트된 변경 내용으로 응답합니다.
Copilot 클라우드 에이전트는 작업 해결에 가장 적합한 솔루션을 제공하기 위한 것입니다. 그러나 항상 원하는 답변을 제공하지는 않을 수도 있습니다. Copilot 클라우드 에이전트에서 생성된 응답을 검토하고 유효성을 검사하여 정확하고 적절한지 확인해야 합니다.
Copilot 코드 검토
Copilot 코드 검토는 코드를 검사하고 자연어 처리 및 기계 학습의 조합을 사용하여 피드백을 제공합니다. 이 프로세스는 여러 단계로 나눌 수 있습니다.
- 입력 처리: 코드 변경 내용이 다른 관련 컨텍스트 정보(예: 끌어오기 요청의 제목 및 본문) 및 정의된 사용자 지정 지침과 결합하여 프롬프트를 형성합니다. 해당 프롬프트는 큰 언어 모델로 전송됩니다.
- 언어 모델 분석: 프롬프트는 방대한 텍스트 데이터로 학습된 신경망인 Copilot 언어 모델을 통해 전달됩니다. 언어 모델이 입력 프롬프트를 분석합니다.
- 응답 생성: 언어 모델은 입력 프롬프트의 분석을 기반으로 응답을 생성합니다. 이 응답은 자연어 제안 및 코드 제안의 양식을 취할 수 있습니다.
- Output formatting: 응답은 지원되는 편집기에서 직접 또는 특정 파일의 특정 줄에 연결된 코드 피드백을 제공하는 GitHub.com 끌어오기 요청 검토로 사용자에게 표시됩니다. Copilot 코드 제안을 제공한 경우 제안 사항이 몇 번의 클릭으로 적용할 수 있는 제안된 변경으로 표시됩니다.
코파일럿 CLI
Copilot CLI는 자연어 처리와 기계 학습의 조합을 사용하여 작업을 이해하고 코드베이스를 변경합니다. 이 프로세스는 여러 단계로 나눌 수 있습니다.
- 입력 처리: 입력이 관련 컨텍스트 정보와 결합되어 프롬프트를 형성합니다. 해당 프롬프트는 처리를 위해 대규모 언어 모델로 전송됩니다. 입력은 일반 자연어, 코드 조각 또는 터미널의 파일에 대한 참조 형식을 사용할 수 있습니다.
- 언어 모델 분석: 프롬프트는 대규모 데이터 본문에서 학습된 신경망인 큰 언어 모델을 통해 전달됩니다. 언어 모델은 입력 프롬프트를 분석하여 에이전트가 작업에 대한 이유를 파악하고 필요한 도구를 사용하는 데 도움을 줍니다.
- 응답 생성: 언어 모델은 프롬프트 분석을 기반으로 응답을 생성합니다. 이 응답은 자연어 제안, 코드 제안, 파일 수정 및 명령 실행 형식을 사용할 수 있습니다.
- 출력 서식 지정: 응답은 구문 강조 표시, 들여쓰기 및 기타 서식 기능을 사용하여 형식이 지정되고 표시됩니다. 에이전트는 작업을 완료하기 위해 로컬 환경에서 명령을 실행하고 파일 시스템에서 파일을 만들거나 편집하거나 삭제할 수도 있습니다. 이러한 모든 작업에는 명시적 권한 프롬프트가 필요합니다.
대화형 채팅 창에서 응답을 반환한 후 에이전트에 피드백을 제공할 수 있습니다. 에이전트는 추가 분석을 위해 해당 피드백을 언어 모델에 다시 제출하고 추가 응답을 반환합니다.
코필로트 SDK
Copilot SDK는 Copilot 에이전트 기능에 대한 프로그래밍 방식 인터페이스를 제공합니다. SDK를 사용하여 빌드된 애플리케이션은 다음 프로세스를 따릅니다.
- 세션 만들기: 애플리케이션은 모델, 시스템 프롬프트, 사용 가능한 도구, 사용자 지정 에이전트, MCP 서버 및 후크를 지정하는 SDK를 사용하여 세션을 만듭니다. SDK는 Copilot CLI에 대한 JSON-RPC 연결을 설정합니다.
- 프롬프트 제출: 사용자 입력이 세션에 제출됩니다. SDK는 프롬프트(세션 컨텍스트와 함께)를 CLI로 라우팅하여 언어 모델로 전달합니다.
- 에이전트 실행: 언어 모델은 작업에 대한 이유이며 도구를 호출하거나, 하위 에이전트에 위임하거나, MCP 서버에 연결할 수 있습니다. 수명 주기 후크는 각 단계에서 실행되므로 애플리케이션에서 사용자 지정 논리를 삽입할 수 있습니다.
- 응답 스트리밍: 응답은 애플리케이션으로 다시 스트리밍되며, 해당 인터페이스에 적합한 형식으로 표시할 수 있습니다. SDK는 텍스트, 도구 호출, 오류 및 완료 신호에 대한 구조적 이벤트를 제공합니다.
GitHub Spark
GitHub Spark는 에이전트 기반 접근 방식을 사용하여 애플리케이션을 빌드하고 수정합니다. 이 프로세스는 여러 단계로 나눌 수 있습니다.
- 인푸트 처리: 입력 프롬프트는 Copilot 의해 사전 처리되고, 현재 애플리케이션의 코드, 이전 프롬프트 및 개발 환경의 오류 로그를 포함하여 현재 Spark 입력의 컨텍스트 정보로 보강되며, 개발 환경 내에서 대규모 언어 모델 기반 에이전트로 전송됩니다. 시스템은 제출된 프롬프트를 기반으로 코드를 생성하도록 설계되었으며 대화형 상호 작용을 수행할 수 없습니다. 영어는 프롬프트에 대한 기본 설정 언어입니다.
- 언어 모델 분석: 프롬프트는 큰 텍스트 데이터 본문에서 학습된 신경망인 큰 언어 모델을 통해 전달됩니다. 언어 모델은 입력 프롬프트를 분석하여 에이전트가 작업에 대한 이유를 파악하고 필요한 도구를 활용하는 데 도움을 줍니다.
- 에이전트 실행: 에이전트는 개발 환경에서 실행되어 프롬프트 및 추가 컨텍스트를 수락하고 애플리케이션을 업데이트하는 방법을 결정합니다. 에이전트는 코드를 작성하고, 명령을 실행하고, 실행 출력을 읽을 수 있습니다. 모든 작업은 기능적, 정확한 코드를 보장하기 위해 수행됩니다. 이 에이전트의 유일한 출력은 애플리케이션 코드입니다.
Spark는 최신 디자인 및 보안 배포를 Spark의 런타임 구성 요소에 원활하게 통합하는 프레임워크 및 SDK를 사용합니다. 디자인 프레임워크는 유연하고 모듈식이므로 원하는 모양과 느낌에 맞게 테마를 수정할 수 있습니다. Spark의 런타임 통합은 웹 배포에 대한 모범 사례를 사용하여 안전하고 확장 가능한 배포를 보장합니다.
7. 제한 사항
GitHub Copilot 에이전트 기능의 제한 사항을 이해하는 것은 안전하고 효과적인 경계 내에서 사용되는지 확인하는 데 중요합니다. 고객이 혁신적인 솔루션 또는 애플리케이션에서 이러한 기능을 활용하는 것이 좋지만 가능한 모든 시나리오에 맞게 설계되지 않았다는 점에 유의해야 합니다. 사용 사례를 선택할 때는 다음과 같은 고려 사항뿐만 아니라 GitHub 약관 을 참조하는 것이 좋습니다.
-
놓친 코드 품질 문제: Copilot은 코드에 존재하는 모든 문제를 식별하지 못할 수 있으며, 특히 변경 사항이 크거나 복잡한 경우에는 더욱 그렇습니다. 모든 관련 문제를 식별하고 수정하려면 Copilot 코드 검토를 신중하게 사용자 코드 검토로 보완해야 합니다.
-
오탐: Copilot 코드 검토는 환각을 일으킬 위험이 있으므로, 검토한 코드에 실제로는 존재하지 않는 문제나 코드를 잘못 이해해 비롯된 문제를 지적할 수 있습니다. Copilot 코드 검토에서 생성된 주석은 작업을 수행하고 변경하기 전에 신중하게 검토하고 고려해야 합니다.
-
부정확하거나 안전하지 않은 코드 제안: Copilot 코드 검토에서는 의견의 일부로 구체적인 코드 제안을 제공할 수 있습니다. 생성된 코드는 유효한 것처럼 보일 수 있지만 실제로 의미 체계나 구문적으로 올바르지 않거나 주석에서 식별된 문제를 올바르게 해결하지 못할 수 있습니다. 또한 Copilot 생성된 코드에는 보안 취약성 또는 기타 문제가 포함될 수 있습니다. Copilot 생성된 코드를 항상 신중하게 검토하고 테스트해야 합니다.
-
잠재적 편향: Copilot의 학습 데이터는 기존 코드 리포지토리에서 비롯되며, 여기에는 도구에 의해 지속적으로 재생산될 수 있는 편향과 오류가 포함될 수 있습니다. 또한 Copilot 코드 검토는 특정 프로그래밍 언어 또는 코딩 스타일에 편향되어 최적이 아니면 불완전한 피드백으로 이어질 수 있습니다.
-
제한된 범위(클라우드 에이전트): 클라우드 에이전트에서 사용하는 언어 모델은 코드의 큰 본문에서 학습되었지만 여전히 범위가 제한되어 있으며 특정 코드 구조 또는 모호한 프로그래밍 언어를 처리하지 못할 수 있습니다. 각 언어에 대해 제안의 품질은 해당 언어에 대한 학습 데이터의 양과 다양성에 따라 달라집니다.
-
부정확한 코드(클라우드 에이전트): 클라우드 에이전트는 유효한 것처럼 보이지만 실제로 의미 체계적 또는 구문적으로 올바르지 않거나 개발자의 의도를 정확하게 반영하지 않을 수 있는 코드를 생성할 수 있습니다. 특히 중요 또는 중요한 애플리케이션을 처리할 때 생성된 코드를 신중하게 검토하고 테스트해야 합니다.
-
보안 위험(클라우드 에이전트): 클라우드 에이전트는 리포지토리 내의 문제 또는 주석의 컨텍스트에 따라 코드 및 자연어를 생성하며, 신중하게 사용하지 않을 경우 잠재적으로 중요한 정보 또는 취약성을 노출할 수 있습니다. 병합하기 전에 에이전트에서 생성된 모든 출력을 철저히 검토해야 합니다.
-
공용 코드 일치(클라우드 에이전트): "공용 코드와 일치하는 제안" 정책이 "차단"으로 설정된 경우에도 클라우드 에이전트는 공개적으로 사용할 수 있는 코드와 일치하거나 거의 일치하는 코드를 생성할 수 있습니다. 이 경우 Copilot 일치하는 코드의 세부 정보를 표시하는 링크가 있는 에이전트 세션 로그에 일치 항목을 표시합니다.
-
** CLI(임의 범위)**: Copilot CLI에서 사용하는 언어 모델은 큰 코드 본문에서 학습되었지만 여전히 범위가 제한되어 특정 코드 구조 또는 모호한 프로그래밍 언어를 처리하지 못할 수 있습니다. 각 언어에 대해 제안의 품질은 해당 언어에 대한 학습 데이터의 양과 다양성에 따라 달라집니다.
-
부정확한 코드(CLI): Copilot CLI는 유효한 것처럼 보이지만 실제로는 의미적으로 또는 구문적으로 올바르지 않거나 개발자의 의도를 정확하게 반영하지 않는 코드를 생성할 수 있습니다. 특히 중요 또는 중요한 애플리케이션을 처리할 때 생성된 코드를 신중하게 검토하고 테스트해야 합니다.
-
** CLI(보안 위험)**: Copilot CLI는 로컬 환경의 컨텍스트에 따라 코드 및 자연어를 생성하며, 신중하게 사용하지 않으면 중요한 정보 또는 취약성을 노출할 수 있습니다. 에이전트에서 생성한 모든 출력을 철저히 검토해야 합니다.
-
Public code matches (CLI): Copilot CLI는 "공개 코드와 일치하는 제안" 정책이 "차단"으로 설정된 경우에도 공개적으로 사용할 수 있는 코드와 일치하거나 거의 일치하는 코드를 생성할 수 있습니다.
-
** CLI(실행 위험) **: Copilot CLI가 명령을 실행하도록 요청하거나 허용할 때, 특히 제안된 일부 명령의 잠재적 파괴와 관련하여 추가 주의가 필요합니다. 파일 삭제 또는 하드 드라이브 형식 지정에 대한 명령이 발생할 수 있으며, 잘못 사용하면 문제가 발생할 수 있습니다. 궁극적으로 Copilot CLI에서 실행되는 명령에 대한 책임이 있습니다.
-
제한 제한 사항(SDK): Copilot SDK가 Copilot CLI와 통신하기 때문에 SDK로 빌드된 애플리케이션은 특정 프로그래밍 언어에 대한 제한된 범위와 부정확하거나 안전하지 않은 코드 생성 가능성을 포함하여 동일한 모델 제한을 상속합니다.
-
사용자 지정 에이전트 복잡성(SDK): 잘못 구성된 사용자 지정 에이전트, 도구 또는 후크가 예기치 않은 동작을 생성할 수 있습니다. 개발자는 사용자 지정 에이전트 구성의 동작을 테스트하고 유효성을 검사할 책임이 있습니다.
-
MCP SDK(서버 신뢰): SDK를 통해 연결된 MCP 서버는 외부 원본의 도구와 데이터를 노출할 수 있습니다. 개발자는 악의적이거나 잘못 구성된 서버가 유해한 동작을 발생하거나 중요한 데이터를 노출할 수 있으므로 연결된 MCP 서버가 신뢰할 수 있는지 확인해야 합니다.
-
BYOK 모델 분산(SDK): 타사 모델 공급자와 함께 bring-your-own-key 구성을 사용하는 경우 동작은 GitHub 호스트된 모델과 다를 수 있습니다. 개발자는 선택한 공급자로부터 응답의 안전성과 품질을 평가할 책임이 있습니다.
-
사용자 의도 해석(Spark): Spark가 의도 해석에서 항상 올바른 것은 아닙니다. 항상 Spark의 제공된 미리 보기를 사용하여 애플리케이션 내에서 정확한 동작을 확인해야 합니다.
-
제한된 범위(Spark): Spark는 큰 코드 본문 및 관련 애플리케이션에서 학습되었지만 복잡하거나 참신한 애플리케이션으로 인해 어려움을 겪을 수 있습니다. Spark는 일반 및 개인 애플리케이션 시나리오(예: 생산성 도구, 학습 보조 도구, 생활 관리 유틸리티) 및 자연어 명령이 영어로 제공되는 경우에 가장 적합합니다.
-
공용 코드 일치(Spark): Spark는 "제안 일치 공용 코드" 정책이 "차단"으로 설정된 경우에도 공개적으로 사용할 수 있는 코드와 일치하거나 거의 일치하는 코드를 생성할 수 있습니다. 이 경우 Copilot 코드의 원래 소스를 가리키는 코드 참조를 제공하지 않습니다.
-
보안 제한 사항(Spark): Spark의 런타임은 애플리케이션 배포에 대한 모범 사례를 따르지만 코드를 확률적으로 생성하며, 특히 이러한 취약성이 학습 집합에서 일반적인 경우 취약성이 발생할 수 있습니다. 개인 또는 중요한 데이터를 관리하고 생성된 애플리케이션을 항상 철저히 검토하고 테스트하는 애플리케이션을 빌드할 때는 주의해야 합니다.
8. 평가
성능 및 안전 평가는 유해한 콘텐츠를 생성하는 위험을 식별하면서 근거, 관련성 및 일관성과 같은 요인을 검토하여 AI 애플리케이션이 안정적이고 안전하게 운영되는지 여부를 평가합니다. 다음 평가는 이미 있는 안전 구성 요소를 사용하여 수행되었으며, 9에도 설명되어 있습니다. 안전 구성 요소 및 완화.
성능 및 품질 평가
GitHub Copilot 에이전트는 업계 표준 벤치마크(예: SWE-Bench) 및 내부적으로 개발된 평가 제품군의 조합을 사용하여 지원되는 표면에서 평가됩니다. 벤치마크 작업은 공용 오픈 소스 리포지토리 및 가상 시나리오에서 제공됩니다. 실제 사용자 쿼리 또는 고객 코드가 사용되지 않습니다. 각 평가에는 모델 출력의 비결정성을 고려하기 위한 여러 독립 실행이 포함됩니다. 주요 메트릭에는 해결 속도(성공적으로 완료된 작업의 백분율), 토큰 효율성, 대기 시간 및 도구 호출 안정성이 포함됩니다. 모델은 오류율, 응답 대기 시간 및 집계 사용 패턴을 통해 업데이트가 생성되고 프로덕션 환경에서 지속적으로 모니터링될 때 다시 평가됩니다.
성능 및 품질 평가 방법
GitHub Copilot 에이전트에 대한 새 모델은 배포 전에 준비된 평가 프로세스를 거칩니다. 통합자 팀은 표면과 관련된 벤치마크 제품군을 실행하여 버그 수정, 코드 생성 및 다중 파일 리팩터링과 같은 대표적인 코딩 작업에서 모델을 테스트합니다. 기존 기준 및 기존 프로덕션 모델에 대해 결과를 검토합니다. 모델은 다음 단계로 넘어가기 전에 해상도 속도, 토큰 효율성 및 대기 시간과 같은 주요 메트릭에서 기준 성능을 충족하거나 초과해야 합니다. 여러 부서로 구성된 검토 위원회는 어떤 모델이든 사용자 대상 배포 승인을 받기 전에 공식적으로 진행 여부를 결정합니다.
위험 및 안전 평가
다양한 심각도의 콘텐츠 위험으로부터 보호하기 위해 AI 생성 콘텐츠와 관련된 잠재적 위험을 평가하는 것이 필수적입니다. 여기에는 유해한 콘텐츠를 생성하거나 탈옥 공격에 대한 취약성을 테스트하기 위한 AI 애플리케이션의 소인을 평가하는 것이 포함됩니다. GitHub의 경우, Microsoft Foundry의 평가를 코딩 용도에 맞게 조정한 평가를 포함해 성능 평가를 수행합니다.
- 증오와 불공평
- Sexual
- 폭력
- 자해
- 보호 재질
- 탈 옥
- 코드 취약성
품질 및 안전을 위한 평가 데이터
평가 데이터는 안전 및 품질의 주요 영역에서 AI 애플리케이션 성능을 평가하여 실제 시나리오와 위험을 시뮬레이션하도록 사용자 지정 빌드되었습니다. 우리는 다학제 연구 및 전문가의 의견을 기반으로 우려의 관련 평가 측면을 식별하는 것으로 시작합니다. 이러한 문제는 대상 평가 목표로 변환되고 평가 메트릭의 공식화 가이드로 변환됩니다. safety 경우 바람직하지 않거나 에지 케이스 응답을 유도하는 악의적 프롬프트를 만든 다음, GitHub 표준과의 맞춤을 평가하도록 학습된 AI 지원 주석을 사용하여 점수가 매깁니다. 품질을 위해 RAG(검색 보강 세대) 애플리케이션 및 에이전트 평가를 포함하여 시나리오와 관련된 루브릭 기반 프롬프트를 만듭니다. 데이터 세트는 실제 사용자 시나리오를 시뮬레이션하기 위해 가상 및 공용 데이터 세트를 비롯한 다양한 원본에서 큐레이팅됩니다. 큐레이팅된 데이터 세트를 사용하여 두 평가 모두 반복적인 구체화와 인적 맞춤을 거쳐 메트릭 효능과 안정성을 향상시킵니다. 이 방법론은 고객이 평가를 사용하여 더 나은 AI를 구축하는 방법을 반영하는 반복 가능하고 엄격한 평가의 기초를 형성합니다.
사용자 지정 평가
Copilot 에이전트 기능은 잠재적 위험을 식별하고 해결하기 위한 RAI 레드 팀 테스트를 거쳤습니다. 우리는 시간이 지남에 따라 이러한 기능의 효능과 안전을 계속 모니터링합니다. 자세한 내용은 Microsoft 보안 블로그에서 Microsoft AI Red Team이 더 안전한 AI의 미래를 구축하는 것을 참조하세요.
9. 안전 구성 요소 및 완화
Copilot 클라우드 에이전트
- 권한 상승 컨트롤: 클라우드 에이전트는 리포지토리 쓰기 액세스 권한이 있는 사용자의 상호 작용에만 응답합니다. 에이전트에 의해 발생한 끌어오기 요청에 의해 트리거되는 작업 워크플로는 실행되기 전에 쓰기 액세스 권한이 있는 사용자의 승인이 필요합니다. 에이전트는 사용자가 메모에 유해한 지침을 숨기거나 콘텐츠를 발행할 수 있는 숨겨진 문자를 필터링합니다.
- 제한된 권한: 클라우드 에이전트는 끌어오기 요청을 만드는 리포지토리에만 액세스할 수 있으며 다른 리포지토리에 액세스할 수 없습니다. 단일 분기로만 푸시할 수 있습니다. 즉,
@copilot를 통해 트리거되는 경우에는 기존 풀 리퀘스트 분기로, 그렇지 않으면 새copilot/분기로만 푸시할 수 있습니다. 즉, Copilot은 귀하의 기본 브랜치에 직접 푸시할 수 없습니다(예:main). 에이전트는 Actions 조직 또는 리포지토리 비밀에 액세스할 수 없습니다. 환경에 특별히 추가copilot된 비밀 및 변수만 에이전트에 전달됩니다. - 추적 가능성 보장: 클라우드 에이전트의 커밋은 Copilot이 작성하며, 작업을 시작한 사람은 공동 작성자로 표시됩니다. 이렇게 하면 에이전트에서 생성한 코드와 작업을 시작한 사용자를 더 쉽게 식별할 수 있습니다. 클라우드 에이전트의 커밋은 서명되므로 GitHub "확인됨"으로 표시됩니다. 이렇게 하면 커밋이 GitHub Copilot 클라우드 에이전트에 의해 만들어졌으며 변경되지 않았다는 확신을 제공합니다. 각 커밋 메시지에는 에이전트 세션 로그에 대한 링크가 포함됩니다. 이렇게 하면 에이전트에서 작성한 커밋에서 전체 세션 로그에 대한 영구 링크가 제공되므로 코드 검토 중에 변경한 이유를 이해할 수 Copilot 감사 목적으로 나중에 추적할 수 있습니다.
- 데이터 반출 방지를 위한 방화벽: 기본적으로 클라우드 에이전트에는 실수로 또는 악의적인 사용자 입력으로 인해 코드 또는 기타 중요한 데이터의 반출을 방지할 수 있는 방화벽이 있습니다.
- 자동화된 보안 취약성 검색: 코드를 생성하는 동안 클라우드 에이전트는 새로 생성된 코드를 보안 취약성에 대해 자동으로 분석하고 해결하려고 시도합니다. 분석은 CodeQL(잠재적 취약성 및 오류를 식별하기 위해), 비밀 검색(비밀이 도입되지 않았는지 확인) 및 종속성 분석을 사용하여 수행됩니다(참조된 종속성에서 알려진 취약성 확인).
코파일럿 CLI
- 디렉터리 범위 액세스: 기본적으로 Copilot CLI는 호출된 디렉터리 및 그 하위 디렉터리에 있는 파일과 폴더에만 액세스할 수 있습니다. 에이전트가 현재 디렉터리 외부의 파일에 액세스하려는 경우 권한을 요청합니다.
- ** 파일 수정 프롬프트**: Copilot CLI는 파일을 수정하기 전에 권한을 요청합니다. 사용 권한을 부여하기 전에 올바른 파일을 수정하고 있는지 확인해야 합니다.
- 사용 시 명령 실행 프롬프트: Copilot CLI는 위험할 수 있는 명령을 실행하기 전에 권한을 요청합니다. 실행 권한을 부여하기 전에 이러한 명령을 신중하게 검토해야 합니다.
- ** 구성 가능한 권한**: COPILOT CLI 특정 권한을 부여할 수 있습니다. 또는 다양한 명령줄 옵션(예:
--allow-tool=[TOOLS...],--allow-all-tools,--allow-all)을 사용하여 모든 사용 권한(또는 해당 슬래시 명령/allow-all대화형 세션에서 사용)을 사용합니다. 자세한 내용은 GitHub Copilot CLI 명령 참조을(를) 참조하세요. 일반적으로 autopilot 모드에서 Copilot CLI를 사용하면, 작업을 수행하는 동안 각 활동을 승인할 필요 없이 Copilot CLI가 작업을 자율적으로 완료할 수 있도록 전체 권한을 부여하게 됩니다. 자세한 내용은 GitHub Copilot CLI가 자율적으로 작동하도록 허용을(를) 참조하세요. - 보안 고려 사항: Copilot CLI를 사용하는 동안 보안 사례에 대한 자세한 내용은 GitHub Copilot CLI 정보 참조하세요.
코필로트 SDK
- CLI 안전 제어 상속: Copilot SDK는 Copilot CLI와 통신하며 해당 권한 모델과 안전 제어를 물려받습니다. 도구 실행 및 파일 수정에는 여전히 적절한 권한이 필요합니다.
- 후크 기반 감독: SDK의 수명 주기 후크(예:
onPreToolUse및onPostToolUse)를 통해 개발자는 도구 실행 전후에 사용자 지정 안전 검사, 감사 로깅 및 승인 워크플로를 구현할 수 있습니다. - MCP 서버 격리: MCP 서버는 별도의 프로세스로 실행됩니다. 개발자는 세션당 사용할 수 있는 서버를 제어하여 외부 도구 액세스 범위를 제한할 수 있습니다.
- 세션 범위 지정: 각 SDK 세션은 자체 컨텍스트, 도구 및 권한으로 격리됩니다. 개발자는 각 세션 내에서 사용할 수 있는 데이터 및 기능을 제어할 수 있습니다.
- BYOK 책임: 사용자 고유의 키 가져오기 구성을 사용하는 경우 프롬프트 및 응답이 구성된 공급자에게 직접 전송됩니다. 개발자는 선택한 공급자의 데이터 처리 정책을 검토할 책임이 있습니다.
사용자 고유의 CLI(모델 공급자)를 사용하는 경우 데이터 처리
고유한 모델 공급자를 사용하도록 Copilot CLI를 구성하면 프롬프트, 코드 컨텍스트 및 생성된 응답이 구성한 공급자에게 직접 전송됩니다. GitHub 통해 라우팅되지 않습니다. 사용자는 선택한 공급자의 서비스 약관 및 데이터 처리 정책을 검토하고 준수할 책임이 있습니다.
Telemetry
오프라인 모드를 사용하지 않고 자체 모델 공급자를 사용하는 경우, Copilot CLI는 평소와 같이 텔레메트리 데이터를 GitHub에 계속 전송합니다. 이 텔레메트리에는 프롬프트나 코드는 포함되지 않지만, 사용 관련 메타데이터는 포함됩니다.
환경 변수를 설정하여 오프라인 모드를 COPILOT_OFFLINE``true사용하도록 설정하면 모든 원격 분석이 비활성화됩니다. 오프라인 모드에서 Copilot CLI는 구성된 모델 공급자에게만 네트워크 요청을 합니다.
인증 및 기능 가용성
BYOK(사용자 고유의 모델 공급자)를 사용하는 경우 GitHub 인증이 필요하지 않습니다. GitHub 인증이 없으면 다음 기능을 사용할 수 없습니다.
/delegate, GitHub의 서버 측 Copilot에 세션을 넘기는- GitHub MCP 서버
- GitHub 코드 검색
오프라인 모드에서는 web_fetch 및 GitHub 코드 검색과 같은 웹 기반 도구도 사용하지 않도록 설정됩니다.
GitHub 호스트된 모델에 대한 대체 없음
모델 공급자 구성이 유효하지 않으면 Copilot CLI가 오류와 함께 종료됩니다. GitHub 호스트된 모델로 대체되지 않습니다. 연결 거부, 인증 오류, 모델을 찾을 수 없음 및 시간 제한과 같은 일반적인 오류는 실행 가능한 지침이 포함된 사용자에게 친숙한 메시지를 생성합니다.
GitHub Spark
- 콘텐츠 보호: Spark는 유해하거나 혐오스럽거나 공격적인 콘텐츠에 대한 기본 제공 보호 기능을 제공합니다.
- 콘텐츠 보고: 피드백을 통해 문제가 있거나 불쾌한 콘텐츠를 보고하거나 Spark를 남용 또는 스팸으로 보고할 수 있습니다. 불쾌한 콘텐츠의 예는 Spark의 URL을 사용하여 [email protected] 보고해야 합니다.
- 보안 런타임: Spark의 런타임 통합은 웹 배포에 대한 모범 사례를 사용하여 안전하고 확장 가능한 배포를 보장합니다.
10. GitHub Copilot 에이전트 기능 배포 및 채택 모범 사례
책임 있는 AI는 GitHub 고객과의 공동 약속입니다. GitHub 보안, 공정성 및 투명성을 핵심으로 AI 애플리케이션을 빌드하지만, 고객은 이러한 기술을 자체 컨텍스트 내에서 책임감 있게 배포하고 사용하는 데 중요한 역할을 합니다. 이 파트너십을 지원하기 위해 고객이 책임 있는 AI를 효과적으로 구현할 수 있도록 배포자와 최종 사용자를 위한 다음과 같은 모범 사례를 제공합니다.
-
** 결과적 의사 결정에 Copilot 에이전트 기능을 사용하거나 중요한 도메인에서 ** 사용 시 주의 및 결과 평가: 결과적 결정은 교육, 고용, 금융 플랫폼, 정부 혜택, 의료, 주택, 보험, 법적 플랫폼에 대한 개인의 접근에 법적 또는 중대한 영향을 미칠 수 있거나 신체적, 심리적 또는 재정적 피해를 초래할 수 있는 결정입니다. 금융 플랫폼, 의료 및 주택과 같은 중요한 도메인은 다른 그룹의 사람들에게 불균형적으로 영향을 미칠 수 있기 때문에 특별한 주의가 필요합니다. 이러한 영역에서 결정에 AI를 사용하는 경우 영향을 받는 이해 관계자가 의사 결정 방법을 이해하고, 결정에 이의를 제기하고, 관련 입력 데이터를 업데이트할 수 있는지 확인합니다.
-
법률 및 규제 고려 사항을 평가합니다. 고객은 모든 산업 또는 시나리오에서 사용하기에 적합하지 않을 수 있는 AI 플랫폼 및 솔루션을 사용할 때 잠재적인 특정 법률 및 규제 의무를 평가해야 합니다. 또한 AI 플랫폼 또는 솔루션은 해당 서비스 약관 및 관련 행동 강령에서 금지된 방식으로 설계되지 않았으며 사용할 수 없습니다.
-
적절한 경우 사용자 감독 연습: AI 애플리케이션과 상호 작용할 때 인간의 감독은 중요한 안전 장치입니다. AI 애플리케이션을 지속적으로 개선하는 동안 AI는 여전히 실수를 할 수 있습니다. 생성된 출력은 부정확하거나, 불완전하거나, 편향되거나, 잘못 정렬되거나, 의도한 목표와 무관할 수 있습니다. 이는 입력의 모호성 또는 기본 모델의 제한 사항과 같은 다양한 이유로 인해 발생할 수 있습니다. 따라서 사용자는 Copilot 에이전트 기능에서 생성된 응답을 검토하고 예상 및 요구 사항과 일치하는지 확인해야 합니다.
-
지나친 의존의 위험에 유의하세요. AI에 대한 지나친 의존은 AI 출력의 실수가 감지하기 어려울 수 있기 때문에 사용자가 올바르지 않거나 불완전한 AI 출력을 수락할 때 발생합니다. 최종 사용자의 경우, 과잉 의존은 생산성 감소, 신뢰 상실, 신청 포기, 재정적 손실, 심리적 피해, 신체적 피해 등을 초래할 수 있습니다. (예: 의사가 잘못된 AI 출력을 수락합니다).
-
중요한 도메인에서 에이전트 AI를 디자인할 때 주의해야 합니다. 사용자는 에이전트 작업이 돌이킬 수 없거나 매우 중요한 중요한 도메인에 에이전트 AI 애플리케이션을 디자인 및/또는 배포할 때 주의를 기울여야 합니다. GitHub 약관에 자세히 설명된 대로 자율 에이전트 AI를 만들 때도 추가 예방 조치를 취해야 합니다.
-
Copilot 코드 검토를 사용하여 사용자 검토를 대체하는 것이 아니라 사용자 검토를 보완합니다: Copilot 코드 검토는 코드 품질을 개선하기 위한 강력한 도구일 수 있지만 사용자 리뷰를 대체하는 대신 도구로 사용하는 것이 중요합니다. 항상 Copilot 코드 검토에서 생성된 피드백을 검토하고 확인하고, 코드가 요구 사항을 충족하는지 확인하기 위해 신중하게 사용자 검토를 통해 Copilot 피드백을 보완해야 합니다.
-
피드백 제공: Copilot 코드 검토에서 문제나 제한 사항을 발견한 경우, Copilot 댓글의 좋아요 및 싫어요 버튼을 사용하여 피드백을 제공하는 것이 좋습니다. 이렇게 하면 GitHub 도구를 개선하고 우려 사항이나 제한 사항을 해결하는 데 도움이 될 수 있습니다.
-
** 사용자 지정 지침 구성**: 코딩 스타일 및 모범 사례를 Copilot 이해하는 데 도움이 되도록 사용자 지정 지침을 구성하여 검토 피드백의 관련성과 품질을 향상시킬 수 있습니다.
-
클라우드 에이전트 작업의 범위가 잘 지정되었는지 확인합니다. 클라우드 에이전트에 할당하는 프롬프트가 명확하고 범위가 잘 지정될수록 결과가 향상됩니다. 이상적인 문제에는 문제에 대한 명확한 설명, 완전한 수용 조건 및 변경해야 하는 파일에 대한 힌트가 포함됩니다.
-
추가 컨텍스트를 사용하여 클라우드 에이전트 사용자 지정: 클라우드 에이전트는 의미 체계 코드 검색에 액세스할 수 있으므로 정확한 텍스트 일치가 아니라 의미에 따라 관련 코드를 찾을 수 있으므로 작업을 더 빠르게 완료할 수 있습니다. 성능을 더욱 향상시키려면 에이전트가 프로젝트와 변경 내용을 빌드, 테스트 및 유효성 검사하는 방법을 더 잘 이해할 수 있도록 사용자 지정 Copilot 지침을 구현합니다.
-
클라우드 에이전트를 대체 도구가 아닌 도구로 사용: 클라우드 에이전트가 생성한 콘텐츠를 항상 검토하고 테스트하여 요구 사항을 충족하고 병합 전에 오류 또는 보안 문제가 없는지 확인해야 합니다.
-
클라우드 에이전트에서 보안 코딩 및 코드 검토 방법을 사용합니다. 클라우드 에이전트는 구문적으로 올바른 코드를 생성할 수 있지만 항상 안전하지는 않을 수 있습니다. 보안 코딩 및 코드 검토에 대한 모범 사례를 따릅니다. 엄격한 테스트, IP 검사 및 보안 취약성 검사를 포함하여 독립적으로 시작되지 않은 자료를 사용하는 코드와 동일한 예방 조치를 취합니다.
-
최신 상태 유지: 클라우드 에이전트는 진화하는 기술입니다. 새로운 보안 위험 또는 발생할 수 있는 모범 사례를 최신 상태로 유지합니다.
-
Copilot CLI를 대체 도구가 아닌 도구로 사용: 항상 Copilot CLI에서 생성된 명령과 코드를 검토하고 확인하여 요구 사항을 충족하고 오류 또는 보안 문제가 없는지 확인해야 합니다.
-
** 실행 전 명령 보기(CLI)**: Copilot CLI에서 실행 명령, 특히 파일을 수정하거나 삭제하는 명령을 제안할 때 특히 주의해야 합니다. 궁극적으로 에이전트를 실행할 수 있도록 허용하는 명령에 대한 책임이 있습니다.
-
CLI 작업의 범위를 잘 유지: 제공하는 프롬프트가 명확하고 범위가 잘 지정될수록 결과가 향상됩니다. 문제에 대한 명확한 설명, 수용 조건 및 변경해야 하는 파일에 대한 힌트를 포함합니다.
-
클라이브 피드백(CLI): Copilot CLI에 문제가 있거나 제한 사항이 발생하는 경우
/feedback명령을 사용하여 피드백을 제공합니다. -
SDK(사용자 지정 에이전트 동작) 유효성 검사: SDK를 사용하여 빌드된 애플리케이션을 프로덕션에 배포하기 전에 사용자 지정 에이전트, 도구 및 후크를 철저히 테스트합니다. 도구 구성 및 시스템 프롬프트가 안전하고 예상된 동작을 생성하는지 확인합니다.
-
MCP SDK(서버 연결) 감사: 신뢰할 수 있는 MCP 서버에만 연결합니다. 각 서버가 노출하는 도구 및 데이터를 검토하고 애플리케이션의 보안 요구 사항에 부합하는지 확인합니다.
-
SDK(안전 후크) 구현: SDK의 수명 주기 후크를 사용하여 애플리케이션에서 콘텐츠 필터링, 감사 로깅 및 도구 승인 워크플로와 같은 가드레일을 구현합니다.
-
세션 범위를 적절히 지정하세요(SDK): 각 SDK 세션은 해당 작업에 필요한 도구, 에이전트 및 권한만 포함하도록 구성합니다. 좁은 범위로 충분한 경우 광범위한 액세스 권한을 부여하지 마세요.
-
BYOK 공급자 정책 검토(SDK): 사용자 고유의 키 가져오기 구성을 사용하는 경우 선택한 모델 공급자의 서비스 약관 및 데이터 처리 정책이 조직의 요구 사항을 충족하는지 확인합니다.
-
Spark 프롬프트를 구체적이고 토픽에 유지합니다. 의도한 동작 및 상호 작용에 대해 더 구체적으로 지정할수록 출력이 향상됩니다. 특정 시나리오, 모형 또는 사양과 같은 관련 컨텍스트를 통합하면 Spark에서 의도를 이해하는 데 도움이 됩니다. Spark는 이전 프롬프트의 컨텍스트를 통합하므로 오프 토픽 프롬프트는 후속 수정 버전의 성능을 저하할 수 있습니다.
-
Spark에서 대상 편집 사용: 대상 편집을 사용하면 애플리케이션 내에서 집중된 구체화를 위해 요소를 지정할 수 있습니다. 전역 프롬프트가 아닌 가능한 경우 대상 편집을 사용하면 변경 내용이 더 정확하고 부작용이 줄어듭니다.
-
Spark의 출력 확인: 항상 Spark의 제공된 애플리케이션 미리 보기를 사용하여 애플리케이션이 다른 시나리오에서 의도한 대로 작동하는지 확인합니다. 코드에 익숙한 경우 생성된 코드를 검토하여 품질 표준을 충족하는지 확인합니다.
-
유추 기능은 의도한 대로 작동합니다(Spark): Spark 애플리케이션이 GitHub Models SDK를 통해 유추 기능을 사용하는 경우 만든 프롬프트를 테스트하여 적절한 결과를 생성해야 합니다.
11. GitHub Copilot 에이전트 기능에 대해 자세히 알아보기
Copilot 에이전트 기능의 책임 있는 사용에 대한 추가 지침은 다음 설명서를 검토하는 것이 좋습니다.
- GitHub Copilot 코드 검토 사용
- GitHub Copilot 사용하여 작업에 대한 모범 사례
- 개발 환경 구성
- GitHub Copilot 클라우드 에이전트에 대한 방화벽 사용자 지정 또는 비활성화
- 첫 번째 Copilot 기반 앱 빌드
- 리포지토리에 대한 MCP 서버 구성
- GitHub Copilot CLI 정보
- 첫 불꽃
- GitHub Spark를 사용하여 AI 기반 앱 빌드 및 배포
- GitHub Spark 청구
- 책임 있는 GitHub 모델 사용
- GitHub 시험판 사용 조건
- GitHub 추가 제품 및 기능 약관
- Copilot 보안 센터