GitHub Copilot 확장을 위한 모든 준비가 되었습니다
2024년 6월 24일, Isidor Nikolic 작성, @isidorn
2017년, Google 연구원들은 획기적인 논문 "Attention is All You Need"에서 트랜스포머라는 개념을 소개했습니다. 인간의 집중력과 유사하게 정보를 우선시하는 이러한 유형의 모델은 현재 GitHub Copilot을 구동하는 모델과 같은 최신 언어 모델의 기초입니다.
트랜스포머가 AI에 혁신적이었던 것처럼(죄송합니다), GitHub Copilot 확장이 궁극적으로 개발자를 위한 AI의 모든 약속을 이행할 것이라고 믿습니다.
VS Code는 역사상 가장 널리 사용되는 개발자 도구 중 하나입니다. 이러한 인기는 커뮤니티가 기여한 방대한 확장 프로그램 생태계 덕분입니다. VS Code 사용자라면 머릿속에서 바로 떠오르는 필수 확장 프로그램 몇 가지를 꼽을 수 있을 것입니다. 이러한 확장 프로그램이 AI와 GitHub Copilot의 힘을 활용한다고 상상해 보세요.
AI의 진정한 힘은 특정 컨텍스트를 알 때 발휘됩니다. VS Code는 이 지식을 가지고 있습니다. 확장은 VS Code API를 사용하여 이 컨텍스트를 활용하고 개발자가 이미 있는 VS Code에서 직접 최고의, 가장 관련성 높은 AI 기반 답변 및 상호 작용을 제공할 수 있습니다.
이 게시물에서는 확장이 GitHub Copilot이 제공하는 언어 모델 및 채팅 경험과 직접 상호 작용할 수 있도록 지원하는 새로운 API를 살펴보겠습니다. 오늘부터 이러한 API를 사용하여 구축을 시작하는 방법과 이러한 API를 활용하여 확장을 개선하기 시작한 초기 채택 사례를 몇 가지 소개하겠습니다.
채팅 및 언어 모델 API
올해 Build에서 VS Code의 GitHub Copilot에 대한 새로운 API 세트를 발표했습니다.
GitHub Copilot을 사용한 VS Code 확장 개선에 대한 Build 세션을 시청하여 이러한 API에 대해 자세히 알아보세요.
LLM을 채팅 인터페이스를 통해 사용하는 것이 가장 익숙할 수 있습니다. 확장 프로그램이 GitHub Copilot의 힘을 활용하는 한 가지 방법은 사용자가 VS Code 내의 채팅 보기에서 상호 작용할 수 있는 **채팅 참가자**를 구축하는 것입니다. 채팅 API를 사용하여 채팅 참가자를 만들고 언어 모델 API를 사용하여 자연어를 처리하고 사용자 쿼리에 대한 응답을 구성할 수 있습니다. 새로운 API 개념에 대한 예로 @cat 코드 멘토를 사용하는 확장 프로그램 가이드에서 채팅 API에 대해 자세히 알아보세요.

언어 모델 API를 사용하면 이제 GitHub Copilot이 제공하는 대규모 언어 모델(또는 줄여서 LLM)에 직접 액세스하고 확장 프로그램에서 활용할 수 있습니다. 사용하려는 모델을 선택하고, 프롬프트를 빌드하고, 선택한 모델에 요청을 보내면 됩니다. VS Code API를 사용하면 관련 컨텍스트를 프롬프트에 추가할 수 있습니다. 예를 들어 현재 파일의 내용이나 사용 중인 기술 스택을 포함할 수 있습니다.
언어 모델 API는 채팅 보기뿐만 아니라 편집기의 모든 부분에서 개발자 경험을 개선하는 데에도 사용할 수 있습니다. VS Code의 편집기 컨텍스트 메뉴와 같이 기여할 수 있는 모든 표면에 언어 모델 API를 사용하는 작업을 기여할 수 있습니다. 예를 들어 소스 제어 보기에서는 언어 모델 API를 사용하여 사용자가 소스 코드 변경 내용을 기반으로 **커밋 메시지를 생성**할 수 있습니다. 또 다른 예는 언어 모델이 코드 컨텍스트를 기반으로 기호 다시 이름 바꾸기 제안을 제공하는 Copilot 기반 다시 이름 바꾸기 기능입니다.

확장 프로그램 가이드에서 언어 모델 API에 대해 자세히 알아보세요.
채팅 및 언어 모델 API를 VS Code API의 강력한 제품군과 결합하면 가장 뛰어난 사용자 경험이 나올 것이라고 믿습니다. 확장 프로그램 작성자는 단순히 질문-답변 봇을 넘어 이러한 도구를 창의적으로 활용하여 올바른 사용자 컨텍스트를 사용하는 풍부하고 통합된 VS Code 상호 작용을 개발해야 합니다. 사용자는 워크플로 내에서 원활하고 강력한 상호 작용을 높이 평가합니다. 이러한 새로운 API를 통해 확장은 AI 기능을 VS Code에 직접 통합하여 사용자 생산성을 높일 수 있습니다.
GitHub 앱
대안으로, GitHub 앱을 만들어 채팅 보기에 채팅 참가자를 기여하여 GitHub Copilot을 확장할 수 있습니다. GitHub 앱은 서비스로 지원되며 github.com, Visual Studio 또는 VS Code와 같은 모든 GitHub Copilot 표면에서 작동합니다. GitHub 앱은 VS Code API에 완전히 액세스할 수 없습니다. GitHub 앱을 통해 GitHub Copilot을 확장하려면 Copilot 파트너 프로그램에 가입해야 합니다.
Microsoft Build 컨퍼런스에서 GitHub 앱을 통해 GitHub Copilot 확장을 발표했으며 이미 GitHub Marketplace에서 몇 가지 훌륭한 확장을 볼 수 있습니다.
GitHub Copilot 확장에 대한 Build 세션을 시청하여 작동하는 모습을 확인하세요.
VS Code 확장 쇼케이스
언어 모델 및 채팅 API를 사용하여 VS Code 확장 커뮤니티가 구축한 내용을 선보이게 되어 기쁩니다. 지금까지 우리는 광범위한 시나리오에서 GitHub Copilot을 기반으로 100개 이상의 확장을 보았습니다. 특히 흥미로운 몇 가지를 소개합니다.
Stripe
Stripe는 개발자가 온라인으로 결제를 수락하고 돈을 이동할 수 있도록 합니다. 새로운 @stripe 채팅 참가자는 Stripe의 설명서, 코드 예제 및 모범 사례에 대한 지식을 손끝으로 제공하므로 VS Code를 벗어나지 않고도 Stripe 통합을 구축하고 유지 관리할 수 있습니다.
“저희는 개발자가 Stripe를 더 쉽게 통합할 수 있도록 끊임없이 노력하고 있습니다. 그래서 Stripe별 컨텍스트 및 기능을 갖춘 Copilot을 확장하게 되어 기쁩니다. 새로운 확장성 API는 잘 만들어지고 구축하기 쉽기 때문에 매우 빠르게 진행할 수 있었습니다.” - Ian McCrystal (Stripe 개발자 AI 팀 EM)
@stripe 참가자는 다음을 도와줍니다.
- Stripe API 코드를 생성하고 디버깅하여 프로젝트에 삽입
- Stripe 설명서에 기반한 질문에 대한 답변 얻기
- API 통합 구축 및 최종 업그레이드 단계별 진행

@stripe 참가자는 7월 중순부터 모든 Stripe VS Code 확장 프로그램 사용자가 사용할 수 있습니다.
MongoDB
MongoDB 개발자는 원활한 데이터 탐색, 쿼리 빌드, 플레이그라운드를 통한 프로토타이핑 및 인기 언어로의 내보내기를 지원하는 MongoDB for VS Code 확장을 좋아합니다. @mongodb 채팅 참가자는 이 확장 프로그램과 깊이 통합되어 개발자가 GitHub Copilot과 확장 프로그램의 강력한 조합을 활용하여 VS Code 내에서 MongoDB를 사용한 애플리케이션 개발을 더욱 빠르게 할 수 있습니다.
@mongodb 채팅 참가자
- 자연어에서 MongoDB 쿼리 생성
- 데이터베이스 로그에서 쿼리 성능 및 오류 패턴에 대한 통찰력 제공
- 데이터베이스 및 컬렉션 스키마 정보 제공
- 공식 설명서를 참조하여 VS Code에서 직접 질문에 답변

MongoDB 채팅 참가자를 사용하는 데 관심이 있다면 비공개 미리 보기에 액세스하기 위해 가입할 수 있습니다.
Parallels
인기 있는 macOS 가상화 소프트웨어인 Parallels는 최근 Parallels Desktop 환경을 개선하기 위해 새로운 Parallels Desktop VS Code 확장을 공개했습니다. GitHub Copilot과의 통합을 통해 더욱 개선되었습니다.
“쉽고 강력한 API와 좋은 예제를 통해 상당한 노력과 시간이 필요했을 강력한 코파일럿 참가자를 신속하게 만들 수 있었습니다.” – Carlos Lapao (솔루션 아키텍트, Parallels)
새로운 @parallels 채팅 참가자를 통해 대부분의 가상 머신 작업을 자연어를 사용하여 손쉽게 실행할 수 있습니다. 예를 들어 “@parallels Windows 11 VM 시작”이라고 말하면 채팅 참가자가 대신 작업을 수행하도록 할 수 있습니다.

PostgreSQL
PostgreSQL은 매우 인기 있는 관계형 데이터베이스 플랫폼으로, PostgreSQL 채팅 참가자 확장을 사용하여 직접 채팅할 수 있습니다. @pg 채팅 참가자는 데이터베이스 스키마를 학습하고 스키마에 기반한 답변을 제공합니다. 스키마를 생성하고, SQL 쿼리에 대한 도움을 받고, 데이터베이스와 상호 작용하는 코드를 생성하는 데에도 사용할 수 있습니다.

다음 단계
저희는 이제 막 시작했습니다. VS Code의 모든 제품 이니셔티브와 마찬가지로 시간이 지남에 따라 AI 확장 기능을 확장할 것입니다. 올해 말에 다음과 같은 기능이 출시될 것으로 예상합니다.
- 의도 감지(채팅 참가자가 자동으로 호출되도록)
- GPT-4o 언어 모델 지원
- 모델 요청에 대한 토큰 제한 증가(현재 제한은 4K 토큰)
- 편집기 인라인 채팅, 터미널 및 노트북의 채팅 참가자
- 변수 해석 API - 확장이 확장 도메인의 컨텍스트를 제공하는 채팅 변수를 기여할 수 있도록 합니다.
- 도구 API – 자연어를 인수로 도구 호출로 변환합니다. 다른 참가자가 호출할 수 있는 도구를 확장 프로그램이 등록할 수 있도록 합니다.
지금 바로 사용할 수 있습니다!
채팅 및 언어 모델 API는 오늘 VS Code Insiders에서 사용할 수 있으며 7월 초에 VS Code Stable에 포함될 예정입니다. 문서와 샘플을 사용하여 강력한 AI 확장을 쉽게 구축할 수 있습니다. 질문이나 피드백이 있으면 리포지토리에 이슈를 열 수 있습니다.
오늘날에도 언어 모델 및 채팅 API에 의존하는 확장을 VS Marketplace에 게시할 수 있습니다. 진짜 질문은 다음과 같습니다. 어떤 놀라운 확장을 만들 것입니까? 가능성은 무한하며, 이러한 혁신적인 아이디어를 현실로 가져올 수 있는 것은 여러분뿐입니다. 따라서 훌륭한 확장 프로그램 개발 흐름에 뛰어들어 올바른 사용자 컨텍스트로 AI의 힘을 활용하고 창의력을 발휘하여 개발의 미래를 만들어나가세요! 구축하는 과정은 재미있습니다. 가서 즐기세요!
감사합니다.
Isidor와 VS Code 팀