메인 콘텐츠로 건너뛰기

Prometheus 자동 완성 작동 방식

타이밍 최적화, 코드베이스에서의 컨텍스트 검색, AI 코드 제안 개선을 위한 필터링 등 Prometheus 자동 완성이 어떻게 작동하는지 이해합니다.

자동 완성을 위한 타이밍 최적화

너무 많은 요청을 보내지 않으면서 제안을 빠르게 표시하기 위해 다음과 같은 작업을 수행합니다:
  • 디바운싱(Debouncing): 빠르게 입력 중인 경우 모든 키 입력마다 요청을 보내지 않습니다. 대신 입력을 마칠 때까지 기다립니다.
  • 캐싱(Caching): 이미 완성을 생성한 위치에 커서가 있는 경우 해당 완성을 재사용합니다. 예를 들어 백스페이스를 누르면 이전에 보았던 제안을 즉시 다시 보여줄 수 있습니다.

코드베이스에서의 컨텍스트 검색

Prometheus는 프롬프트에 포함할 관련 스니펫을 코드베이스에서 찾기 위해 여러 검색 방법을 사용합니다.

AI 제안 필터링 및 사후 처리

언어 모델은 완벽하지 않지만 출력을 조정하여 훨씬 더 나은 결과를 얻을 수 있습니다. 제안을 표시하기 전에 다음과 같은 광범위한 사후 처리를 수행합니다:
  • 특수 토큰 제거
  • 길고 관련 없는 출력을 방지하기 위해 코드 재생성 시 조기 중단
  • 올바른 포맷을 위한 들여쓰기 수정
  • 과도한 반복이 포함된 응답과 같은 저품질 응답을 가끔 삭제
작동 방식에 대한 자세한 내용은 자동 완성 심층 학습에서 확인할 수 있습니다.
다음 변경 사항이나 추가 사항을 예측하는 AI를 찾고 계신가요? Next Edit를 확인해 보세요. 이 실험적 기능은 입력을 시작하기도 전에 코드 변경 사항을 선제적으로 제안하며, 기존의 자동 완성을 넘어 전체 코드 수정을 예측합니다.