6P by xguru 1일전 | ★ favorite | 댓글 2개
  • Cursor의 최고 수준 탭 자동완성 기능은 Supermaven의 Babble 모델 인수로 가능해졌으며, 이 모델은 최대 100만 토큰 컨텍스트 창250ms의 낮은 지연 시간을 자랑함
  • 기존 LLM 기반 자동완성은 caret 위치 이후 코드만 예측하는 한계가 있었으나, Babble은 git diff 기반 편집 시퀀스 학습을 통해 더 유연한 코드 추천이 가능했음
  • Supermaven의 창립자 Jacob Jackson은 LLM이 뜨기전인 2018년에 최초의 코드 완성 도구중 하나인 TabNine을 만든 인물
    • Tabnine 이 인수된후, OpenAI에서 연구자로 활동하다 독립해서 2022년에 Cursor의 경쟁 제품인 Supermaven을 개발함
    • Supermaven은 Cursor만큼 인기를 얻지는 못했지만, 탭 자동 완성 모델인 Babble은 시장 최고 수준이었음
    • 2024년 기준 Babble은 300k 컨텍스트, 250ms 지연 시간을 기록하며 Cursor보다 월등히 앞섰음
    • Cursor에 인수되기전에 Babble은 100만 토큰 컨텍스트 창까지 지원했으며, 그 시절 인기 채팅 모델에 비해서 엄청 큰 크기 였음
  • Babble 의 차별화 요소는 학습 방식 이었음
    • 일반 LLM 자동완성은 caret 이후 코드만 채움 (FIM 방식)
    • Babble은 편집 시퀀스 기반 학습을 통해 코드의 다양한 위치, 파일 간 변경도 예측 가능함
    • git diff와 유사한 구조로, 실제 개발자의 편집 행동을 반영한 학습 방식임
  • Cursor와의 인수 합병
    • Cursor는 IDE 자체를 통제하고 있어 개발자 편집 이력 데이터를 기반으로 모델 학습이 가능해졌고, 이는 TabNine이나 일반 플러그인 기반 도구와의 차별점을 형성
    • 이는 자동완성 모델 학습에 매우 유리한 환경을 제공함
    • Jacob은 플러그인의 한계에 부딪힌 후 자신만의 IDE를 만들 계획이었고, Cursor는 탭 완성기능을 따라잡기 위해 노력중이었을테니 딱 맞는 선택
    • Cursor와 Jackson은 이전부터 알고 있던 관계로 인수는 자연스러운 선택지였음
  • 이를 통해 Cursor는 시장에서 가장 뛰어난 탭 자동 완성 모델을 구축

neovim 에 cursor 수준의 자동완성을 도와주는 플러그인이 없나 열심히 찾아보았었는데, 독자적인 모델로 가능한 것이었군요..

저는 neovim supermaven 플로그인을 사용하고 있습니다. 무료버전인데 코파일럿보다 낫더라고요