개요
GitHub Spark를 사용하여 자연어로 원하는 내용을 설명하고 데이터 스토리지, AI 기능 및 GitHub 인증이 기본 제공된 전체 스택 웹앱을 가져올 수 있습니다. 프롬프트, 시각적 도구 또는 코드를 사용하여 반복한 다음, 클릭하여 완전 관리형 런타임에 배포할 수 있습니다.
Spark는 GitHub와 원활하게 통합되므로 고급 편집을 위해 Copilot과 동기화된 GitHub codespace를 통해 Spark를 개발할 수 있습니다. 팀 공동 작업을 위한 리포지토리를 만들고 GitHub의 도구 및 통합 에코시스템을 활용할 수도 있습니다.
Spark 사용의 이점
Spark는 앱 개발의 모든 단계에서 다양한 이점을 제공할 수 있습니다.
자연어 또는 코드로 앱 빌드
Spark로 앱을 빌드하는 데는 코딩 방법을 알 필요가 없습니다. 앱이 무엇을 해야 하는지를 자연어로 설명할 수 있으며, Spark은(는) 앱의 라이브 대화형 미리 보기와 함께 필요한 모든 코드를 생성합니다.
코드를 둘러보고 편집하려면 Spark에서 코드 패널을 열거나, GitHub 코드스페이스에서 앱을 열면 됩니다. 코드스페이스는 클라우드 기반의 개발 환경입니다.
[AUTOTITLE](/codespaces/about-codespaces/what-are-codespaces)을(를) 참조하세요.
AI 기능 활용
Spark는 기본적으로 GitHub Models와 통합되어 있으므로 간단히 Spark 프롬프트 입력만으로 앱에 AI 기능(예: 텍스트 요약 또는 이미지 태그 제안)을 추가할 수 있습니다. Spark는 필요한 추론 구성 요소를 자동으로 추가하며, 사용자는 이 기능을 제어하는 시스템 프롬프트를 직접 편집할 수 있습니다.
관리되는 데이터 저장소
Spark가 앱에 데이터를 저장해야 할 필요성을 감지하면 자동으로 관리형 키-값 저장소를 설정합니다. 따라서 사용자가 데이터베이스를 설정하거나 관리하는 데 신경을 쓸 필요가 없습니다. 데이터 저장소는 Azure(Cosmos DB)에서 실행되며 작은 레코드(항목당 최대 512KB)를 위한 것입니다.
기본 제공 보안 보호
Spark에는 사용자가 GitHub 계정으로 로그인하여 앱에 접근하기 때문에 기본 제공 인증 기능이 있습니다. 앱에 대한 접근 권한을 제어하려면 가시성 및 데이터 접근 옵션을 설정하세요.
한 번의 클릭으로 배포
Spark에는 한 번의 클릭으로 앱을 배포할 수 있는 완전히 통합된 런타임 환경이 제공됩니다. 필요한 모든 인프라가 자동으로 프로비전되므로 서버 설정 또는 배포 관리에 대해 걱정할 필요가 없습니다.
모든 Spark는 ACA(Azure Container Apps)에서 호스트되고 배포됩니다.
GitHub와 완전히 통합됨
Spark는 GitHub와 완전히 통합되어 있어, 친숙한 도구와 워크플로를 통해 앱을 빌드하고 관리할 수 있습니다.
GitHub Codespaces에서 작업
-
GitHub 코드스페이스(클라우드 기반 개발 환경)를 Spark에서 직접 열 수 있으므로, Copilot 및 일반적인 모든 개발 도구에 접근하여 앱 빌딩을 계속할 수 있습니다.
-
codespace와 Spark 사이에는 자동 동기화가 이루어지므로 두 환경 간에 원활하게 전환할 수 있습니다.
양방향 동기화로 리포지토리 만들기
-
한 번의 클릭으로 Spark에 대한 리포지토리를 만들 수 있으므로 표준 GitHub 워크플로를 사용하여 앱의 코드를 관리하고 다른 사용자와 공동 작업할 수 있습니다.
-
Spark와 리포지토리 간에 양방향 동기화가 있으므로 Spark 또는 리포지토리의 주 분기에서 변경한 내용이 두 위치에 자동으로 반영됩니다. 리포지토리를 만들기 전에 수행한 Spark 변경 내용은 리포지토리에 추가되므로 만들어진 후에 Spark에 대해 수행된 모든 변경 내용 및 커밋에 대한 전체 레코드가 표시됩니다.
협력자 초대
- 다른 사람이 Spark 빌드에 기여하도록 초대하려면, 리포지토리에 공동 작업자로 추가할 수 있습니다.
표준 GitHub 기능 활용
- Spark에 대한 리포지토리를 만든 후에는 풀 리퀘스트, 이슈 및 프로젝트 보드와 같은 모든 표준 GitHub 기능을 사용하여 Spark 개발 프로세스를 관리하고, GitHub Actions를 활용하여 CI/CD 워크플로를 수행할 수 있습니다.
엔터프라이즈 고려 사항
Spark를 평가하는 엔터프라이즈 관리자라면 엔터프라이즈 수준에서 제공되는 특정 이점과 제어 기능을 사용할 수 있습니다.
엔터프라이즈에서 Spark를 활성화하는 방법에 대한 자세한 내용은 엔터프라이즈에서 GitHub Spark 관리을(를) 참조하세요.
엔터프라이즈에서 Spark를 활성화해야 하는 이유는 무엇인가요?
Spark을(를) 사용하도록 설정하면 엔터프라이즈 관리자가 기대하는 보안, 거버넌스 및 비용 제어를 유지하면서 팀이 아이디어에서 프로덕션으로 더 빠르게 이동할 수 있습니다.
이점은 다음과 같습니다.
-
**중앙 집중식 컨트롤**입니다. Spark는 Copilot 라이선스에 포함되며 기존 엔터프라이즈 접근 정책을 준수합니다. -
**거버넌스 및 보안**. GitHub 및 Azure 기반으로 하는 Spark는 엔터프라이즈급 안정성, 인증 및 규정 준수를 상속합니다. -
**투명성 및 비용 관리**. Spark 소비량은 Copilot 프리미엄 요청에서 가져옵니다. 이를 GitHub 청구 플랫폼을 통해 모니터링할 수 있습니다. -
**가속화된 혁신**. Teams는 조각화된 도구 체인에 의존하지 않고 몇 달이 아닌 몇 시간 안에 아이디어의 유효성을 검사할 수 있습니다.
결제
Spark에서의 각 자연어 프롬프트는 4건의 프리미엄 요청을 소모합니다.
[AUTOTITLE](/billing/concepts/product-billing/github-spark) 참조하세요.
인프라
Spark 개발 환경은 GitHub Codespaces에서 제공됩니다. 엔터프라이즈에서 Codespaces을(를) 비활성화하면 사용자는 여전히 Spark 인터페이스에 접근할 수 있지만, 기본 코드스페이스를 열 수 없습니다.
모든 spark는 ACA(Azure Container Apps)에 배포됩니다.
Copilot과 함께 Spark 개발하기
GitHub Spark의 기능을 GitHub Copilot의 기능과 결합하여 앱 개발을 지원할 수 있습니다.
Copilot 에이전트 모드
GitHub 코드스페이스에서 스파크를 열면, Copilot의 모든 기능인 Copilot 채팅 및 Copilot 에이전트 모드를 포함하여 사용할 수 있습니다.
에이전트 모드는 특정 작업을 염두에 두고 Copilot이 코드를 자율적으로 수정하도록 할 때 유용합니다. 에이전트 모드에서는 Copilot이 변경할 파일을 결정하고, 작업을 완료하기 위한 코드 변경 및 터미널 명령을 제공하고, 원래 작업이 완료될 때까지 문제를 해결하기 위해 반복합니다. Copilot을 활용하여 코드의 이슈를 디버깅하고 해결하는 동시에 앱 개발을 한 단계 더 발전시킬 수 있습니다.
[Copilot 에이전트 모드](/copilot/how-tos/chat-with-copilot/chat-in-ide#agent-mode)를 참조하세요.
Copilot 코딩 에이전트
고유의 스파크가 GitHub 리포지토리에 연결되면 Copilot 코딩 에이전트을 사용하면 앱을 계속 빌드하고 유지 관리할 수 있으며, 다른 일에 집중하면서 작업을 완료할 수 있습니다.
코딩 에이전트를 사용하면 Copilot에게 특정 작업을 위임할 수 있습니다(예: Copilot에게 이슈를 할당하거나, Copilot에게 끌어오기 요청을 생성하도록 요청). 그러면 Copilot이 백그라운드에서 자율적으로 작업을 완료합니다. Copilot 코딩 에이전트는 버그를 수정하고, 코드를 리팩터링하고, 테스트 범위를 개선하는 등의 작업을 수행할 수 있습니다.
[AUTOTITLE](/copilot/concepts/agents/coding-agent/about-coding-agent)을(를) 참조하세요.
Spark 공유
Spark를 게시할 준비가 되면 다음 표시 여부 옵션 중에서 선택할 수 있습니다.
- 나만 볼 수 있는 프라이빗 전용
- GitHub에서 특정 조직의 구성원에게 표시
- 모든 GitHub 사용자에게 표시(관리자 설정에 따라 특정 관리형 사용자 계정의 경우 비활성화될 수 있음)
Spark를 다른 사람들과 공유하면 다른 사용자가 앱을 보고 상호 작용할 수 있게 됩니다. Spark의 링크는 해당 링크를 가진 사람만 액세스할 수 있으며, 링크가 없는 경우에는 검색되지 않습니다.
필요에 따라 Spark를 "읽기 전용"으로 게시할 수도 있습니다. 이 경우, 다른 사용자는 앱을 볼 수는 있지만 콘텐츠를 편집하거나 삭제할 수는 없습니다.
Spark의 제한 사항
Spark는 안정성을 위해 의견이 반영된 스택(React, TypeScript)을 사용합니다. 최상의 결과를 위해 Spark의 SDK 및 핵심 프레임워크 내에서 작업해야 합니다.
외부 라이브러리를 추가할 수는 있지만 Spark의 SDK와의 호환성은 보장되지 않습니다. 외부 라이브러리를 추가한 후에는 항상 Spark를 철저히 테스트해야 합니다.
기본적으로 Spark의 데이터 저장소는 게시된 Spark의 모든 사용자와 공유됩니다. 다른 사용자에게 표시하기 전에 앱에서 프라이빗 데이터 또는 중요한 데이터를 삭제해야 합니다. Spark를 "읽기 전용"으로 게시하도록 선택할 수도 있습니다. 이 경우, 다른 사용자는 앱을 볼 수는 있지만 콘텐츠를 편집하거나 삭제할 수는 없습니다.
추가 참고 자료
-
[AUTOTITLE](/copilot/responsible-use/spark) -
[AUTOTITLE](/copilot/tutorials/spark/build-apps-with-spark) -
[AUTOTITLE](/copilot/how-tos/troubleshoot-copilot/troubleshoot-spark)