Getting more from each token: How Copilot improves context handling and model routing

개요

GitHub Copilot은 토큰 효율성을 높이기 위해 컨텍스트 관리 및 모델 라우팅 기능을 개선하고 있으며, 이를 통해 개발자 생산성과 AI 크레딧 활용도를 향상시킨다.

주요 내용

* 컨텍스트 처리 개선:
* 긴 GitHub Copilot 세션에서 반복되는 정보(지시사항, 저장소 컨텍스트, 대화 기록, 도구 정의, 캐시된 상태 등)를 줄이기 위해 프롬프트 캐싱과 지연 로딩 방식을 도입했다.
* 프롬프트 캐싱은 반복되는 프롬프트 접두사에 대해 모델 상태를 재사용하여 재계산을 줄인다.
* 도구 검색 기능을 통해 모델이 필요할 때만 도구 정의를 로드하여 각 턴마다 불필요한 전체 도구 스키마 전송을 방지한다.
* 자동 모델 선택 (Auto):
* 작업 의도와 현재 모델 상태를 기반으로 최적의 모델을 자동으로 선택하여 개발자가 직접 모델 설정을 조정할 필요가 없다.
* 빠른 설명, 코드 수정, 여러 파일 변경 등 작업 종류에 따라 필요한 추론 수준이 다르므로, Auto는 각 작업에 가장 적합한 모델을 선택한다.
* 평가 결과, 모든 작업에서 일관되게 최고의 성능을 보이는 단일 모델은 없었으며, 효율적인 모델로도 동일한 결과를 얻는 경우가 많았다.
* Auto 모델 선택 메커니즘:
* 실시간 모델 상태: 모델 가용성, 활용률, 속도, 오류율, 비용 등을 동적으로 추적하여 현재 조건에 맞는 모델을 선택한다.
* HyDRA (작업 인식 라우팅): 추론 깊이, 코드 복잡성, 디버깅 난이도, 도구 오케스트레이션 필요성 등을 고려하여 작업 품질 기준을 충족하는 모델 중 최적의 모델을 선택한다.
* 실제 워크플로우 적용:
* 캐시 인식 라우팅: 대화 모델 변경 시 캐시가 깨져 효율성이 저하될 수 있으므로, 캐시를 손실하지 않는 자연스러운 경계(첫 턴, 압축 후)에서 라우팅을 수행한다.
* 다국어 지원: 16개 언어 패밀리의 대화 데이터를 학습시켜 영어 외 언어에서도 라우팅 정확도를 유지한다.
* 학습 기반 에스컬레이션: 단순한 '쉬움' 또는 '어려움'으로 작업 유형을 분류하는 대신, 모델 간 성능 차이가 발생하는 지점을 학습하여 최적의 모델을 선택한다.
* Auto with task intent 확장:
* Visual Studio Code, github.com, 모바일 앱 등에서 이미 사용 가능하며, 코딩, 디버깅, 계획, 도구 사용 등 작업 유형에 대한 더 많은 신호를 제공한다.
* Copilot CLI, GitHub App, 추가 IDE 등으로 확장될 예정이며, Copilot 무료 및 학생 요금제는 Auto를 기본 모델 선택 옵션으로 단순화한다.
* AI 크레딧 활용 증대 방안:
* Auto를 기본으로 사용하고, 작업 전환 시 새 세션을 시작하거나 긴 세션을 압축하며, 관련 파일을 명시한다.
* 세션 중 모델이나 설정을 변경하는 것을 피하고, 관련 작업은 함께 유지한다.
* 대규모 작업 시 먼저 계획을 요청하고, 병렬 에이전트는 신중하게 사용한다.
* 작업에 필요한 도구만 사용하고, 사용하지 않는 도구는 비활성화한다.
* AI 사용량 페이지를 통해 크레딧 사용 현황을 확인한다.

시사점

GitHub Copilot의 지속적인 효율성 개선은 개발자가 AI를 더 효과적으로 활용하여 생산성을 높이고, AI 리소스 비용을 최적화하는 데 기여할 것으로 예상된다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions