Void Editor 리뷰: 개인정보 보호를 우선시하는 오픈 소스 Cursor 대안
요약
Void는 개인정보 보호를 중시하는 오픈 소스 AI 코드 에디터로, Cursor의 강력한 대안을 지향합니다. 사용자가 직접 API 키를 입력하거나 로컬 모델을 연결하여 데이터 제어권을 가질 수 있는 것이 핵심입니다.
핵심 포인트
- VS Code 기반 포크로 기존 확장 프로그램 및 설정 완벽 호환
- BYOM(Bring Your Own Model) 방식으로 모델 및 비용 직접 제어
- 채팅, 인라인 편집, 자동 완성, 에이전트 모드 지원
- 중간 서버를 거치지 않는 개인정보 보호 중심의 아키텍처
- Cursor 대비 코드베이스 인덱싱 및 자동 완성 완성도는 다소 낮음
Cursor는 AI 지원 코딩을 일상적인 경험으로 만들었지만, 사용자가 제어할 수 없는 서버를 통해 코드를 전달하는 폐쇄적인 제품입니다. Void는 많은 개발자가 기다려온 에디터입니다. 채팅 (Chat), 인라인 편집 (Inline edits), 자동 완성 (Autocomplete), 에이전트 모드 (Agent mode)와 같은 핵심 기능을 동일하게 수행하면서도, 사용자가 직접 자신의 API 키나 자신의 머신에서 실행되는 모델을 지정할 수 있게 해주는 오픈 소스 (Open-source) 프로젝트입니다. 우리는 "개인정보 보호 우선 (Privacy-first)"이 실제 차별점인지 아니면 단순한 슬로건인지 알아내기 위해 직접 사용해 보았습니다.
요약하자면: Void는 자신의 코드가 어디로 가는지 중요하게 생각하며, 제어권을 위해 약간의 완성도를 포기할 용의가 있는 개발자들에게 신뢰할 수 있는 Cursor 대안입니다. 만약 Cursor의 가장 빠른 자동 완성 기능이나 심층적인 코드베이스 인덱싱 (Codebase indexing)에 의존하고 있다면, 아직 즉시 교체 가능한 수준은 아닙니다. 실제적인 트레이드오프 (Trade-off)가 어떤 모습인지 아래에서 살펴보겠습니다.
Void의 실체
Void는 VS Code의 포크 (Fork)이며, 이것이 Void에 관한 가장 중요한 사실입니다. 기반이 되는 에디터가 이미 알고 있는 것과 동일하기 때문에 기존의 확장 프로그램 (Extensions), 테마 (Themes), 키 바인딩 (Keybindings), 설정 (Settings)을 그대로 가져올 수 있습니다. 파일 트리 (File tree), 명령 팔레트 (Command palette)를 다시 배우거나 근육 기억 (Muscle memory)을 새로 익힐 필요가 없습니다. Void를 설치하고, 아무것도 로그인하지 않은 채 바로 작업을 시작하면 됩니다.
이 프로젝트는 오픈 소스이며 Y Combinator의 지원을 받고 있습니다. AI 레이어 (AI layer)는 하나의 아이디어를 중심으로 구축되었습니다: 바로 "자신의 모델을 가져오라 (Bring your own model)"는 것입니다. 에디터와 추론 (Inference)을 하나로 묶은 단일 구독료를 지불하는 대신, Anthropic, OpenAI, Google, OpenRouter 등 원하는 제공업체의 API 키를 직접 제공하면 Void가 해당 업체와 직접 통신합니다. 사용자는 제공업체에 토큰 (Tokens) 비용만 지불하면 되며, 그것이 유일한 모델 비용입니다.
기능 세트는 이 카테고리에서 기대하는 바와 정확히 일치합니다:
- 채팅 (Chat): 코드를 컨텍스트 (Context)로 사용하는 사이드 패널 내 채팅.
- 인라인 편집 (Inline edit): 코드를 선택하고 변경 사항을 설명한 뒤, 차이점 (Diff)을 수락하거나 거부하는 방식 (Cmd/Ctrl-K 스타일 흐름).
- 자동 완성 (Autocomplete): 타이핑 시 나타나는 인라인 제안.
- 에이전트 모드 (Agent mode): 파일을 읽고, 여러 파일을 편집하며, 사용자의 승인 하에 작업을 수행할 수 있는 모드.
이러한 기능들 자체가 완전히 새로운 것은 아닙니다. 차이점은 각 기능의 배후에 있는 모델을 직접 선택할 수 있으며, 이를 혼합하여 사용할 수 있다는 점입니다. 예를 들어, 자동 완성 (Autocomplete)에는 저렴하고 빠른 모델을 사용하고, 에이전트 기반 편집 (Agentic edits)에는 더 강력한 모델을 사용할 수 있습니다.
개인정보 보호의 논거, 그리고 실제적인 한계
핵심적인 주장은 Void에는 중간 서버 (Middle-man server)가 없다는 것입니다. 채팅 메시지를 보낼 때, 요청은 사용자의 기기에서 설정된 모델 제공자 (Model provider)로 직접 전달되거나, Ollama 또는 LM Studio를 통해 로컬 모델 (Local model)을 실행하는 경우 완전히 사용자의 기기에 머뭅니다. Void라는 회사는 이 경로 사이에 위치하지 않으며, 사용자의 프롬프트 (Prompts)를 보유하지 않고, 사용자의 코드로 학습하지도 않습니다. 보안 검토 과정에서 "감사할 수 없는 데이터 보유 정책을 가진 제3자 코드 에디터"라는 지적을 받은 적이 있는 사람에게, 이러한 아키텍처 (Architecture) 자체가 핵심적인 소구점입니다.
하지만 이것이 정확히 무엇을 보장하는지에 대해서는 명확히 짚고 넘어가야 합니다. 마케팅 용어인 "프라이빗 (Private)"은 갈림길을 숨기고 있기 때문입니다.
호스팅된 모델 (Hosted model)과 함께 Void를 사용하는 것이 해당 모델 제공자로부터 코드를 프라이빗하게 만들어주는 것은 아닙니다. Void를 Claude나 GPT로 연결한다면, 귀하의 코드는 여전히 Anthropic 또는 OpenAI의 데이터 약관에 따라 해당 기업으로 전송됩니다. Void는 단지 체인(Chain) 내에서 추가적인 당사자가 되지 않을 뿐입니다. 진정한 종단간 개인정보 보호 (End-to-end privacy)는 아무것도 기기를 떠나지 않는 로컬 모델을 실행할 때만 얻을 수 있습니다.
따라서 여기에는 두 가지 정직한 시나리오가 있습니다. 첫 번째 시나리오: 호스팅된 프런티어 모델 (Frontier model)을 사용하며 Void가 중간 매개체를 하나 제거합니다. 이는 실제적이지만 완만한 수준의 개인정보 보호 이득입니다. 두 번째 시나리오: Ollama를 통해 Qwen 또는 Llama 변형 모델과 같은 로컬 모델을 실행하며, 코드가 인터넷에 전혀 닿지 않습니다. 이는 프런티어 API보다 로컬 모델이 더 약하고 느리다는 대가를 치르는 대신, 진정한 에어갭 (Air-gapped) AI 지원을 제공합니다. 이 두 가지 시나리오 중 경쟁사들이 제대로 지원하지 않는 유일한 것이 바로 두 번째 시나리오이며, 이것이 Void를 선택해야 하는 이유입니다.
규제 환경(regulated environment)이나 제3자에게 소스 코드를 전송하는 것을 금지하는 고객을 위해 Void를 평가하고 있다면, 로컬 모델(local-model) 경로가 실제로 요구 사항을 충족하는 유일한 방법입니다. 로컬 모델의 품질은 하드웨어에 따라 차이가 매우 크기 때문에, 누군가에게 작동한다고 약속하기 전에 실행할 특정 모델로 직접 테스트해 보십시오.
Cursor에 뒤처지는 부분
Void는 더 젊은 프로젝트이며, 그 차이를 체감할 수 있습니다. 자동 완성(Autocomplete) 기능은 작동은 하지만, Cursor의 목적 특화형 완성 모델(purpose-built completion model)이 보여주는 낮은 지연 시간(latency)과 놀라운 정확도에는 미치지 못합니다. Cursor는 커스텀 자동 완성에 막대한 투자를 하고 있는 반면, 사용자의 API 키를 통해 범용 모델(general-purpose models)에 의존하는 Void는 이를 완전히 복제할 수 없습니다. 코드베이스 전반의 검색(Codebase-wide retrieval) 기능은 존재하지만 Cursor의 인덱싱(indexing)만큼 정교하지 않아서, 대규모 저장소(repositories)에서는 에이전트(agent)가 어떤 파일이 중요한지에 대해 더 많은 안내(hand-holding)를 필요로 할 때가 있습니다.
또한 빠르게 변화하는 오픈 소스 소프트웨어(open-source software)에서 흔히 발생하는 문제들도 마주하게 될 것입니다. 간헐적인 UI의 기묘함(quirks), 릴리스 사이에 변경되는 기능들, 그리고 무언가 고장 났을 때 찾아볼 수 있는 문서와 커뮤니티 답변의 부족함 등이 그것입니다. 만약 당신의 업무가 에디터가 존재를 드러내지 않고(invisible) 결코 당신을 놀라게 하지 않는 것에 의존한다면, 이러한 마찰은 실질적인 문제가 됩니다.
실용적인 설정: 추론 품질(reasoning quality)이 가장 중요한 에이전트 모드(agent mode)와 인라인 편집(inline edits)에는 강력한 호스팅 모델(Claude 또는 GPT 급)을 사용하고, 탁월함보다는 지연 시간이 더 중요한 자동 완성에는 로컬 또는 저렴한 소형 고속 모델을 사용하십시오. Void는 기능별로 모델을 할당할 수 있게 해주므로, 모든 기능에 대해 하나의 선택만을 강요받지 않습니다.
만약 모델을 선택하고, API 키를 관리하며, 이러한 거친 면들을 감수하는 등 직접 조각들을 맞추고 싶지 않다면, Void가 쫓고 있는 관리형 대안(managed alternative)을 살펴볼 가치가 있습니다. Cursor는 당신의 코드를 자사 서비스를 통해 전송하고 정액 구독료를 지불하는 대가로, 모델과 인덱싱, 그리고 자동 완성 튜닝을 대신 처리해 줍니다.
누가 실제로 Void로 전환해야 할까요? 자신의 코드를 제3자 서버에 보내고 싶지 않은 개발자, 컴플라이언스 (Compliance) 이유로 로컬 모델 (Local-model) 옵션이 필요한 팀, 그리고 직접 검사하고 포크 (Fork)할 수 있는 오픈 소스 에디터라는 아이디어를 선호하는 모든 사람입니다. 그렇다면 현재로서는 누가 Cursor를 계속 사용해야 할까요? 자동 완성 속도와 설정이 필요 없는 인덱싱 (Indexing)을 무엇보다 중요하게 생각하며, 폐쇄형 호스팅 제품 (Closed, hosted product)을 사용하는 데 거부감이 없는 개발자들입니다.
Void는 아직 완성되지 않았지만, 유용하게 사용되기 위해 반드시 완성될 필요는 없습니다. 이는 점점 더 많은 개발자가 던지는 질문, 즉 "감사 (Audit)할 수 없는 벤더에게 소스 코드를 넘겨주지 않고도 에디터에서 AI를 사용할 수 있는가?"라는 질문에 대한 지금까지 중 가장 명확한 답변입니다. 로컬 모델 (Local model)을 사용한다면, 그 대답은 마침내 명쾌한 "예"입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기