Design GitHub Copilot Context Engine, 코드를 생성하는 문제가 아니라 어떤 코드를 모델에게 보여줘도 되는지 결정하는 시스템
현재 파일만 보내면 자동완성은 빠르게 만들 수 있습니다. 하지만 실제 개발 환경에서는 repository 전체 맥락, 권한, 제외 정책, 코드 참조 정책까지 함께 맞춰야 하게 됩니다.
Introduction & Requirements
아래 설계는 GitHub Copilot의 공개 문서와 제품 특성을 바탕으로 한 시스템 디자인 가정이며, GitHub Copilot 내부 구현을 그대로 설명하는 글은 아닙니다. 이 글은 foundation model 학습이나 GitHub 전체 호스팅 시스템을 설계하는 글이 아닙니다. 개발자가 IDE에서 코드를 작성할 때, 어떤 코드 조각과 설정과 정책을 모델 입력으로 넣을지 결정하는 context engine을 시스템 디자인 관점에서 다루는 글입니다.
GitHub Copilot을 시스템 디자인 문제로 받으면 처음에는 현재 파일 기반 자동완성 문제처럼 보일 수 있습니다.
“개발자가 코드를…


