Copilot Workspace: 정의, 작동 방식, 중요한 이유
최근 Unstructured Data Meetup에서 진행된 발표에서, 우리는 선임 연구 디렉터인 Idan Gazit과 GitHub Next의 선임 연구 엔지니어 Cole Bemis의 이야기를 들었습니다. 그들은 GitHub Copilot을 기반으로 구축된 새로운 작업 지향 개발 환경인 Copilot Workspace를 소개했습니다.
이 개발 환경은 생성형 AI 모델을 활용하는 방식을 향상시켜, 이제 단순한 코드 제안을 넘어 전체 기능 구현까지 가능하게 합니다. 다음 섹션에서는 이 Copilot Workspace와 이것이 AI 앱을 빌드하고 유지 관리하는 데 어떻게 도움이 되는지 살펴보겠습니다.
GitHub Copilot Workspace란 무엇인가요?
GitHub Copilot Workspace는 생성형 AI를 코딩 환경에 직접 통합하도록 설계된 도구입니다. 자연어 대화와 프롬프트를 사용하여 코드를 브레인스토밍하고, 계획하고, 빌드하고, 테스트하고, 실행할 수 있게 해줍니다. 버그 수정, 기능 구현 등과 같은 작업을 수행하도록 돕기 위해 구축되었습니다.
GitHub Copilot workspace는 생성형 모델로 구동되며, 생성형 모델을 다룰 때와 마찬가지로 상호작용 시 몇 가지 어려움이 있을 수 있습니다. 일반적인 어려움 중 하나는 모델이 완전히 엉뚱한 방향으로 가지 않으면서 응답, 이 경우 제안을 제공하게 하는 것입니다.
GitHub Next 팀은 주어진 작업과 제안된 코드 사이에 조정 지점을 구현함으로써 이 문제를 해결했습니다. 이를 통해 개발자는 모델이 우리의 요청을 오해하거나 일부 엣지 케이스를 놓쳤을 때 이를 알려 모델을 안내할 수 있습니다. Copilot Workspace가 따르는 흐름을 살펴보겠습니다.
작업에서 사양, 계획, 코드로
Copilot Workspace는 작업 생성으로 시작하여 사양, 계획, 코딩으로 이어집니다.
그림 1- 작업에서 사양, 계획, 코드로 이어지는 워크플로
각 단계에 대한 설명은 다음과 같습니다:
작업 생성: 워크플로는 GitHub 이슈, 풀 리퀘스트 또는 일반적인 기능 요청이나 아이디어일 수 있는 작업으로 시작합니다. 이것이 초기 프롬프트 또는 목표입니다.
사양: Copilot Workspace는 작업에서 달성해야 할 것에 대한 상위 수준의 사양 또는 개요를 생성합니다. 코드베이스, 이슈 댓글 및 기타 컨텍스트에 대한 이해를 활용하여 사양을 제안합니다.
계획: 그런 다음 Copilot Workspace는 사양을 상세한 계획으로 변환합니다. 이 계획은 필요한 코드 변경, 테스트 및 기타 작업을 포함하여 솔루션을 구현하는 데 필요한 단계별 프로세스를 설명합니다. 그런 다음 계획은 검증을 위해 사용자에게 제시됩니다.
코딩: 계획에 만족하면 Copilot Workspace는 솔루션을 구현할 실제 코드를 생성합니다. 계획을 가이드로 사용하고, 코드베이스와 프로그래밍 언어에 대한 이해를 활용하여 필요한 코드를 작성합니다.
이러한 조정 지점이 없다면, 이는 눈을 감고 목표물을 맞히길 바라는 것과 같습니다. 워크플로의 각 단계는 편집 가능하며, 콘텐츠를 수집하거나 개선할 수 있게 해줍니다.
Copilot Workspace 작동 방식을 보여주는 실용적인 데모
Copilot Workspace 워크플로를 더 잘 이해하기 위해 실용적인 예를 살펴보겠습니다. Copilot은 기술 검토 단계에 있으며 모든 사람이 이용할 수 있는 것은 아니므로, 공식 출시 때 제시된 스크린샷을 사용하겠습니다.
GitHub 이슈로 시작해 보겠습니다. 이것은 Copilot Workspace가 우리와 함께 작업하길 원하는 작업입니다. 이 경우, 게임에 AI Player를 추가하여 항상 두 사람이 필요하지 않도록 하고자 합니다. AI player는 인간 플레이어를 95%의 확률로 성공적으로 막아야 하며, 게임을 도전적이면서도 플레이 가능하게 만들어야 합니다. Open in Workspace를 클릭하면 워크플로가 트리거됩니다.
그림 2- GitHub AI 플레이어 옵션 이슈
트리거되면 Copilot Workspace는 해당 이슈를 작업으로 받아들이고 사양 또는 개요를 생성합니다. 현재 코드베이스를 살펴보고 AI player가 없음을 검증합니다. 그런 다음 게임의 향후 상태에 AI 플레이어가 포함될 수 있도록 하는 수정 사항을 제안합니다. 제안서를 클릭하여 기대에 맞게 편집할 수 있습니다.
그림 3- Copilot Workspace 워크플로 사양 단계
개요가 만족스러우면 Copilot Workspace가 이를 구현하기 위한 계획을 생성합니다. 계획은 새로운 AI 플레이어 기능을 통합하기 위해 index.jsx 및 style.css 파일을 변경하는 것입니다. Copilot Workspace는 사양을 구현하기 위해 각 파일에서 수행할 모든 변경 사항을 나열합니다. 이 단계에서 계획을 편집하거나 항목을 추가할 수 있습니다.
그림 4- Copilot Workspace 워크플로 계획 단계
계획을 검토하고 만족했다면, 계획된 솔루션을 구현하는 것이 다음 단계입니다. 여기에는 제안된 파일에 제안된 코드를 작성하는 작업이 포함됩니다. Copilot workspace는 변경된 파일을 표시합니다. 표시 화면에서 바로 코드를 편집하고 수정할 수 있습니다.
그림 5- Copilot Workspace 워크플로 구현 단계
코드가 만족스러우면 라이브 미리보기를 열어 게임이 어떻게 보이는지 확인할 수 있습니다. Copilot Workspace 환경 내의 내장 터미널을 사용하면 별도의 터미널이나 환경으로 전환하지 않고도 코드를 검증하고 테스트할 수 있습니다. 새로운 기능, 이 경우 AI 플레이어가 만족스럽다면, 다음 단계는 풀 리퀘스트를 여는 것입니다.
그림 6- Copilot Workspace 워크플로 풀 리퀘스트 생성 단계
이 단계에서는 코드 병합 전에 귀하 또는 팀이 변경 사항을 마지막으로 검토할 수 있습니다. 이 접근 방식은 프로세스 전반에 걸쳐 검증이 필요하기 때문에 Copilot Workspace가 개발자를 대체하는 것이 아니라 보완하는 데 도움이 된다는 것을 보여줍니다.
GitHub Copilot Workplace와 Milvus로 RAG 구축 간소화하기
GitHub Copilot Workspace는 생성형 AI를 사용한 작업-코드 개발 워크플로를 가능하게 하여 생산성을 향상시킵니다. 이 Copilot Workspace는 복잡한 애플리케이션 구축을 훨씬 더 쉽고 효율적으로 만듭니다.
좋은 예는 검색 증강 생성(RAG)입니다. 이는 해당 모델에 외부 지식을 제공함으로써 대규모 언어 모델(LLM)의 환각을 해결하도록 설계된 고급 기법입니다. RAG는 두 가지 핵심 구성 요소로 이루어집니다. Milvus 또는 Zilliz Cloud(관리형 Milvus)와 같은 벡터 데이터베이스와 임베딩 모델로 구축된 Retriever, 그리고 LLM입니다.
RAG 애플리케이션을 구축하는 것은 복잡합니다. 그러나 Copilot Workspace를 사용하면 이러한 작업이 훨씬 더 간소화됩니다.
RAG 작업—단일 언어 앱을 다국어 앱으로 만드는 작업—을 살펴보고 이 Workplace가 어떻게 도움이 되는지 보겠습니다.
현재 단일 언어이며 Milvus 벡터 데이터베이스로 구동되는 앱에 RAG 코드가 있습니다. BGE-M3와 같은 Milvus 다국어 지원 임베딩 모델을 사용하여 앱이 여러 언어를 지원하도록 하고 싶습니다. Copilot Workspace에 이 기능을 구현하도록 지시할 수 있습니다.
Copilot Workspace를 사용한 구현
이 기능을 구현하기 위해 Copilot Workspace를 활용하는 방법은 다음과 같습니다:
작업 생성: 앱을 다국어로 만들기 위해 GitHub 이슈를 생성하는 것부터 시작합니다. 작업은 (BGE-M3) 다국어 모델을 기존 RAG 시스템에 통합하는 것입니다.
사양 정의: Copilot Workspace는 작업을 분석하고 상위 수준의 사양을 생성합니다. 여러 언어를 처리하도록 데이터 처리 파이프라인을 업데이트하고, 다국어 지원을 위해 BGE-M3를 활용하도록 RAG 시스템을 수정해야 할 필요성을 식별합니다.
계획: 그런 다음 Workspace는 상세한 계획을 생성합니다. 여기에는 다음과 같은 단계가 포함됩니다:
다국어 데이터를 포함하도록 데이터 수집 프로세스 업데이트.
BGE-M3를 지원하도록 기존 Milvus 설정 수정.
BGE-M3의 다국어 기능을 활용하도록 RAG 시스템 조정.
여러 언어에서 작동하는지 확인하기 위해 시스템 테스트.
- 코딩: 검증된 계획을 기반으로 Copilot Workspace는 필요한 코드를 생성합니다:
다국어 데이터를 Milvus에 전처리하고 인덱싱하도록 데이터 수집 스크립트를 업데이트합니다.
여러 언어에서 유사도 검색을 위해 BGE-M3 임베딩을 활용하도록 Milvus 코드를 구성합니다.
다국어 모델을 사용해 Milvus를 쿼리하고 관련 결과를 검색하도록 RAG 시스템을 수정합니다.
검토 및 테스트: 생성된 코드를 검토하고, 필요한 조정을 수행하며, 변경 사항을 테스트합니다.
Pull Request 및 병합: 만족스러우면 팀과 변경 사항을 검토하기 위해 pull request를 엽니다. 최종 검증 후 변경 사항이 병합되어 앱이 다국어를 지원하게 됩니다.
결론
Idan Gazit와 Cole Bemis의 발표는 GitHub Copilot Workspace의 잠재력을 조명했습니다. 이 개발 환경은 RAG와 같은 복잡한 소프트웨어 개발을 간소화하는 데 중요한 진전을 의미하며, 생성형 AI를 사용한 작업-코드 개발 워크플로를 가능하게 함으로써 생산성을 향상시킵니다.
추가 자료
계속 읽기

Zilliz Cloud Just Landed in Claude Code
The Zilliz Cloud Plugin brings the full power of Zilliz Cloud directly into your Claude Code terminal as natural-language conversations.

Why Not All VectorDBs Are Agent-Ready
Explore why choosing the right vector database is critical for scaling AI agents, and why traditional solutions fall short in production.

How to Use Anthropic MCP Server with Milvus
MCP + Milvus: Streamline AI agent development with standardized data access, eliminating integration hassles while enhancing context and flexibility.


