AI 개발자 도구 Cursor 개발팀이 유튜브 채널 Lex Fridman과 진행하여 2024년 10월 7일 공개된 인터뷰 내용을 리뷰해봤습니다.
Cursor의 핵심 기능
- Tab: 코드와 커서의 위치를 보고 개발자의 의도를 파악해서 단순히 다음 문자를 생성하는 정도가 아니라 하나의 완성된 코드 블록을 자동으로 생성할 수 있음
- Chat: 채팅을 사용하면 코드베이스를 볼 수 있는 AI와 대화할 수 있음. 채팅은 항상 현재 파일과 커서를 볼 수 있으므로 “여기에 버그가 있나요?” 같은 질문을 할 수 있음
- 다음 작업 위치로 자동 이동: Tab으로 의도를 확인받은 뒤, 모델은 개발자가 다음에 주목할 영역으로 자동으로 스크롤해줌
- 터미널 명령어 제안: kubectl이나 aws cli, git 커맨드도 자연어 명령으로 생성해서 수행할 수 있음
Cursor 모델의 내부 구조
- Cursor는 자동완성을 위한 자체 모델을 만듦
- Sparse 모델: 모든 뉴런이 동시에 활성화되지 않고, 일부만 선택적으로 활성화되서 계산 효율성 향상 및 메모리 사용량 감소
- Mixture of Expert: 여러 전문가(expert) 인공신경망과 전문가를 선택하는 Gating 신경망을 조합
- Speculative decoding: 작은 "draft" 모델을 사용하여 여러 토큰을 한번에 예측, 메인 모델이 정확한 예측은 수용하고, 부정확한 경우 해당 지점부터 다시 생성.
- KV Cache: 작업과 컴퓨팅을 덜 소비할 수 있도록 새로운 토큰이 생성될 때마다 K(Key)와 V(Value) 벡터를 저장하고 다음 토큰 생성 시 저장된 KV 값을 재사용
- 프롬프트: 아주 긴 프롬프트에 많은 코드를 담아놓고, 출력 토큰은 적게 생성
차별화된 인터페이스
- Diff: Cursor 모델이 생성한 코드를 보여주는 방식도 여러방법을 시도하여 최적의 사용자 경험을 전달하고자 노력
- Cursor의 모델이 발전할수록 생성되는 코드의 양이 많아지고, 이를 리뷰해야 하는 사람의 부담이 커지는 것이 불가피
- 중요한 부분을 강조하거나 리뷰해야 되는 순서를 정돈하는 식으로 리뷰어 경험을 개선하고자 함
앞으로의 Cursor 에디터
- 모든 프로그래밍이 자연어로 전환되지는 않을 것
- 상황에 따라 예시 코드 작성이나 시각적 조작이 더 효율적일 수 있음
- 다양한 입력 방식(자연어, 예시 코드, 드래그앤드롭 등)이 공존할 것
- 커스텀 모델과 프론티어 모델의 조합해서 큰 모델이 계획을 세우고 작은 모델이 구현하게 될 것
- Speculative edits 기술을 활용해서 속도를 개선해서 나중에는 실시간 스트리밍이 되게 만들 계획
리뷰
Cursor는 단순한 코드 에디터를 넘어 AI 기반의 지능형 개발 도구로 진화하고 있습니다. 특히 탭 완성, 추측 편집, 차별화된 diff 인터페이스 등의 혁신적인 기능들을 통해 개발자의 생산성을 크게 향상시키고 있습니다.
이번 인터뷰에서는 Cursor 에디터의 내부 동작 방식에 대해 상당히 디테일한 내용이 공유되었는데요, "정확도"와 "속도"를 개선하기 위한 무수히 많은 작은 개선을 시도했다는 점을 볼 수 있었습니다.
그리고 이렇게 디테일하게 알려줘도 문제가 없을만큼 Cursor 팀의 속도에 대한 자신감이 상당하다는 점도 알 수 있었구요. "따라올테면 따라와봐 여기까지 오는 사이에 우리는 이미 저 멀리 가있을 테니까"라는 숨겨진 메시지가 있다고 보여집니다.
얼마전 트위터(X)에서 최근 Cursor 팀에 조인한 개발자가 남긴 트윗을 봤는데, 정말 믿을 수없을만큼 빠른 속도로 제품을 만들고 있다는 얘기가 담겨있었습니다. 방향성과 팀원 개개인의 역량과 철학이 탄탄한 것도 중요했겠지만 개발에 AI를 적극적으로 활용하다보니 생산성이 기하급수적으로 점프하는 것 같습니다.
최근 2돌을 맞은 LangChain 역시 마찬가지입니다. 여기도 2년밖에 안된 회사인데 정말 믿기지 않는 속도로 새로운 기능들을 쏟아내고 있지요. Cursor 역시 2년밖에 안된 회사인데 4200억 대 기업가치를 인정받았구요.
지금까지 Cursor팀의 인터뷰를 3번에 걸쳐 다뤄봤는데요. AI를 활용한 빠른 Agility, 그리고 작은 개선점도 놓치지 않는 사용자 경험에 대한 집착에서 많은 인사이트를 얻을 수 있었습니다.
의견을 남겨주세요