GitHub Copilot Spaces 정보
Copilot Spaces를 사용하면 Copilot Chat에서 사용자의 질문에 답변하는 데 사용하는 컨텍스트를 구성할 수 있습니다. Spaces에는 리포지토리, 코드, 끌어오기 요청, 이슈, 대화 기록, 메모와 같은 자유 텍스트 콘텐츠, 이미지, 파일 업로드가 포함될 수 있습니다. 이렇게 정리된 컨텍스트를 기반으로 Copilot에게 질문을 하거나, 팀원들과 공간을 공유하여 협업 및 지식 공유를 강화할 수 있습니다. 원격 GitHub MCP 서버를 통해 IDE에서 직접 공간에 액세스할 수도 있습니다.
입력 처리
Spaces에서 질문을 제출하면 Copilot Chat이 해당 공간의 관련 컨텍스트를 사용하여 요청을 보완합니다. 포함될 수 있는 컨텍스트는 다음과 같습니다.
- 추가한 파일 및 리포지토리
- 이슈, 끌어오기 요청, 문서
- 사용자가 제공한 메모 또는 대본
사용자의 입력 프롬프트는 Copilot Chat 시스템에서 사전 처리되고, 추가적인 상황 정보(예: 현재 날짜 및 시간)와 결합되어 대규모 언어 모델로 전송됩니다. 사용자 입력은 코드 스니펫 또는 일반 언어의 형태를 취할 수 있습니다.
큰 언어 모델은 프롬프트를 사용하고, 추가 컨텍스트(예시: GitHub에 저장된 리포지토리 데이터 또는 Bing의 검색 결과)를 수집하고, 프롬프트에 따라 응답을 제공합니다. 제출된 프롬프트에 대한 기본 설정 언어는 영어입니다.
언어 모델 분석
그런 다음 사전 처리된 프롬프트는 대량의 텍스트 데이터로 학습된 신경망인 Copilot Chat 언어 모델을 통과합니다. 언어 모델이 입력 프롬프트를 분석합니다.
응답 생성
언어 모델은 입력 프롬프트와 제공된 컨텍스트에 대한 분석을 기반으로 응답을 생성합니다. 언어 모델은 추가 컨텍스트(예시: GitHub에 저장된 리포지토리 데이터 또는 Bing의 검색 결과)를 수집하고 프롬프트에 따라 응답을 제공할 수 있습니다.
출력 형식
Copilot Chat에서 생성된 응답은 형식이 지정되어 사용자에게 표시됩니다. Copilot은 구문 강조 표시, 들여쓰기 및 기타 서식 지정 기능을 사용하여 생성된 응답에 명확성을 더할 수 있습니다. 사용자의 질문 유형에 따라 소스 코드 파일, 문제, Bing 검색 결과 또는 설명서 등 모델이 응답을 생성할 때 사용하는 컨텍스트에 대한 링크도 제공될 수 있습니다.
Copilot Chat은 질문에 가장 관련성이 높은 답변을 제공하기 위한 것입니다. 그러나 항상 원하는 답변을 제공하지는 않을 수도 있습니다. Copilot Chat 사용자는 시스템에서 생성된 응답을 검토하고 검증하여 정확하고 적절한지 확인할 책임이 있습니다. 또한 제품 개발 프로세스의 일환으로 Copilot Chat의 안전성을 이해하고 개선하기 위해 레드 팀을 구성합니다. 입력 프롬프트 및 출력 완성은 콘텐츠 필터를 통해 실행됩니다. 콘텐츠 필터링 시스템은 유해, 공격적 또는 오프 토픽 콘텐츠를 포함하여 특정 범주의 콘텐츠에 대한 출력을 감지하고 방지합니다. Copilot Chat의 성능을 개선하는 방법에 대한 자세한 내용은 Copilot Chat 성능 개선을 참조하세요.
Spaces의 사용 사례
새로운 기능 개발
Spaces를 사용하면 관련 코드, 제품 사양, 디자인 노트를 번들로 묶어 Copilot에서 현재 구현을 빠르게 설명하고, 차이점을 강조 표시하고, 새 코드 또는 다음 단계 초안을 작성할 수 있습니다. 이렇게 하면 시간을 절약하고, 요구 사항에 맞춰 작업하며, 더 높은 품질의 기능 작업을 수행할 수 있습니다.
작고 빈번한 작업에 대한 논리 정의하기
원격 분석 추가 또는 이벤트 처리와 같은 반복적인 작업의 경우, Spaces를 사용하면 프로세스를 한 번 문서화하고 다시 손쉽게 사용할 수 있습니다. 또한 Copilot을 순서도, 예제, 스키마에 기반하도록 함으로써 팀 전체에서 일관된 패턴, 재사용 가능한 템플릿, 효율적인 실행을 보장합니다.
팀 동료와 지식 공유하기
Spaces는 최신 코드 및 문서를 한 곳에서 모아 일반적인 프로젝트 질문(예: 인증 또는 검색 작동 방식)에 대한 생생한 가이드 역할을 할 수 있습니다. 그런 다음, Copilot은 해당 컨텍스트를 사용하여 시스템을 설명하고, 질문에 답변하며, 모범 사례를 바탕으로 팀 동료가 신속하게 온보딩할 수 있도록 지원합니다.
Spaces 성능 향상
Spaces는 코드 생성부터 팀 전체의 지식 공유에 이르기까지 다양한 개발 및 협업 워크플로에 활용할 수 있습니다. 성능을 향상하고 관련성이 높은 응답을 얻기 위해 채택할 수 있는 몇 가지 모범 사례가 있습니다. 시스템 제약에 대한 자세한 내용은 GitHub Copilot Spaces의 제한 사항을 참조하세요.
컨텍스트에 맞게 선택
가장 관련성이 높은 파일, 리포지토리, 노트만 추가하면 Copilot이 집중할 수 있습니다. 불필요한 콘텐츠로 공간을 오버로드하면 응답의 품질이 저하되고 정확한 결과를 얻기가 더 어려울 수 있습니다.
컨텍스트 업데이트 유지
프로젝트가 발전함에 따라 공간에서 파일, 이슈, 문서를 새로 고칩니다. 오래된 컨텍스트로 인해 Copilot이 부정확하거나 불완전한 답변을 생성하게 할 수 있습니다.
소스와 함께 지침 사용
자연어 지침을 큐레이팅된 소스와 결합하면 Copilot이 사용자의 의도를 더 잘 이해할 수 있습니다. 지침은 참고 자료를 제공하지만 소스는 실제 프로젝트 컨텍스트에 기반한 출력을 보장합니다.
공간에서 채팅 앵커
공간 내에서 대화를 시작하면 연속성과 관련성이 보장됩니다. 이렇게 하면 Copilot의 응답이 매번 새 채팅으로 초기화되는 대신, 이미 설정한 특정 컨텍스트와 일치하도록 유지됩니다.
Space의 출력 확인
Spaces는 제공된 컨텍스트를 기반으로 Copilot의 응답을 생성하지만, 시스템이 여전히 실수를 저지를 수 있습니다. 이러한 실수는 사용자의 의도를 잘못 이해했거나, 생성된 응답에서 단순한 오류가 발생했기 때문일 수 있습니다. Copilot의 출력을 항상 주의 깊게 검토하여 의도한 대로 동작하는지 확인하고, 프로덕션에서 사용하기 전에 팀의 품질 및 보안 기준을 충족하는지 확인하세요.
GitHub Copilot Spaces의 제한 사항
사용자 의도 해석
Spaces는 큐레이팅된 컨텍스트에서 Copilot Chat의 응답을 파악하는 데 도움이 되지만 시스템은 여전히 사용자의 의도를 잘못 파악할 수 있습니다. 프로젝트에서 사용하기 전에 항상 Copilot의 출력을 검토하여 목표와 일치하는지 반드시 확인해야 합니다.
컨텍스트 제한
Spaces는 크기 제한을 정의했으며, Copilot Chat은 포함된 콘텐츠의 일부만 처리합니다. 즉, Space의 모든 파일, 문서, 노트가 응답에 사용되지 않을 수 있습니다. 추가한 항목을 선택적으로 사용하면 Copilot이 가장 관련성이 높은 컨텍스트에서 작동하도록 활용할 수 있습니다.
제한된 범위
리포지토리만 포함된 Spaces는 현재 GitHub MCP 서버를 통해 IDE에서 액세스할 수 없습니다. IDE에서 Spaces를 사용하려면 파일, 이슈, 문서와 같은 추가 컨텍스트를 포함해야 합니다.
Spaces는 Copilot Chat을 기반으로 하며 많은 양의 코드를 대상으로 학습되었지만 여전히 범위가 제한되어 있어 더 복잡한 코드 구조나 모호한 프로그래밍 언어를 처리하지 못할 수도 있습니다. 각 언어의 경우 해당 언어에 대한 학습 데이터의 양과 다양성에 따라 제공되는 제안의 품질이 달라질 수 있습니다. 예를 들어, JavaScript는 퍼블릭 리포지토리에서 잘 구현되며 GitHub Copilot에서 가장 활발하게 지원되는 언어 중 하나입니다. 공개 리포지토리에 잘 표현되어 있지 않은 언어는 Copilot Chat에서 지원을 제공하기가 더 어려울 수 있습니다. 또한 Copilot 채팅은 작성 중인 코드의 컨텍스트를 기반으로 코드를 제안할 수밖에 없으므로 더 큰 디자인이나 아키텍처 문제를 식별하지 못할 수도 있습니다.
부정확한 응답
Copilot Chat은 Space에 기반을 두고 있더라도 부정확하거나 불완전하거나 오래된 응답을 생성할 수 있습니다. 코드, 요약, 이슈 초안을 포함한 모든 유형의 출력에 적용됩니다. 항상 고유한 프로젝트 요구 사항에 맞춰 결과의 유효성을 검사합니다.
보안 제한 사항
Copilot 채팅은 작성 중인 코드의 컨텍스트를 기반으로 코드를 생성하므로 신중하게 사용하지 않으면 잠재적으로 중요한 정보나 취약성이 노출될 수 있습니다. Copilot 채팅을 사용하여 보안에 중요한 애플리케이션에 대한 코드를 생성할 때는 주의해야 하며 생성된 코드를 항상 철저하게 검토하고 테스트해야 합니다.
법률 및 규정 고려 사항
사용자는 모든 산업 또는 시나리오에서 사용하기에 적합하지 않을 수 있는 AI 서비스 및 솔루션을 사용할 때 잠재적인 특정 법률 및 규정 의무를 평가해야 합니다. 또한 AI 서비스 또는 솔루션은 해당 서비스 약관 및 관련 행동 강령에서 금지된 방식으로 설계되지 않았으며 사용할 수 없습니다.
공격적인 콘텐츠
Spaces는 유해하고 증오적이거나 공격적인 콘텐츠로부터 보호하는 기본 제공 보호 기능이 있는 Copilot Chat을 활용합니다. 불쾌한 콘텐츠의 예를 copilot-safety@github.com에 보고하세요.