Rust로 만든 AI 코딩 에이전트 Zerostack, JS 기반 도구 대비 메모리 25분의 1 (crates.io)
목차(4)
한줄 요약
Rust로 만든 초경량 AI 코딩 에이전트, JS 기반 도구 대비 메모리 사용량 25분의 1 수준
무엇이 달라지나?
AI 코딩 에이전트 시장에 Rust로 작성된 새로운 선택지가 등장했다. Zerostack은 약 7,000줄 수준의 코드베이스로 구현된 미니멀한 코딩 에이전트로, 성능 수치가 꽤 인상적이다.
공식 수치 기준으로 바이너리 크기는 8.9MB이며, 빈 세션 기준 RAM 점유는 약 8MB, 작업 중에도 약 12MB 수준에 머문다. 비교 대상으로 명시된 opencode 등 JS 기반 에이전트는 약 300MB의 RAM을 사용하는 것으로 나타나, 단순 수치상으로는 약 25배 차이다. CPU 사용률도 유휴 시 0.0%, 도구 사용 중 약 1.5%로 측정됐다고 밝히고 있다(측정 환경: Intel i5 7세대).
기능 면에서는 단순 경량화에만 머물지 않는다. OpenRouter, OpenAI, Anthropic, Gemini, Ollama 등 주요 AI 제공자를 모두 지원하며, 커스텀 엔드포인트도 설정할 수 있다. 파일 읽기·쓰기·편집, grep, 디렉터리 탐색 등 파일 도구와 Bash 실행 기능을 갖추고 있으며, MCP(Model Context Protocol) 서버 연동도 지원한다.
눈에 띄는 부분은 프롬프트 시스템이다. code, plan, review, debug, ask, brainstorm, frontend-design, review-security, simplify, write-prompt 등 10가지 빌트인 프롬프트 모드를 런타임에 전환할 수 있다. 별도의 스킬이나 플러그인 관리 없이 에이전트의 행동 방식을 즉석에서 바꿀 수 있다는 점에서 실무 적용 유연성이 높다.
Git Worktree 통합도 흥미롭다. /worktree, /wt-merge, /wt-exit 커맨드를 통해 채팅 UI 안에서 브랜치 단위 작업 흐름을 관리할 수 있다. 다만 이 기능은 현재 실험적(experimental)으로 표기돼 있다.
실무에서 어떤 의미인가?
AI 코딩 에이전트는 현재 개발자 워크플로에서 빠르게 자리를 잡아가고 있다. 그런데 기존 도구 대부분은 Node.js나 Electron 기반으로 구현돼 있어, 항상 실행 상태를 유지하기엔 리소스 부담이 적지 않다. 개발 머신 사양이 넉넉하지 않거나, 서버 환경에서 헤드리스로 운용하려는 경우라면 이런 부담이 더 뚜렷하게 느껴진다.
Zerostack이 주목받는 이유는 여기에 있다. 낮은 메모리 점유와 바이너리 단일 배포라는 특성은 CI/CD 파이프라인이나 원격 서버에 코딩 에이전트를 붙이려는 시나리오에서 실질적인 이점이 된다. cargo install zerostack 한 줄로 설치가 끝나는 구조도 도입 장벽을 낮춘다.
루프 시스템도 주목할 만하다. 장기 태스크를 위한 반복 실행 기능(/loop)은 태스크를 단계별로 쪼개 계획을 세우고, 테스트를 돌리고, 결과를 반영하며 이터레이션을 돌리는 방식으로 동작한다. 헤드리스 모드에서도 --loop, --loop-max, --loop-run 플래그로 동일한 흐름을 CLI에서 실행할 수 있다. 이 역시 실험적 기능으로 분류돼 있으므로, 프로덕션 자동화에 바로 적용하기보다는 검증 후 사용하는 편이 안전하다.
권한 시스템도 실무 관점에서 잘 설계돼 있다. restrictive, standard, accept-all, yolo 네 단계의 모드를 지원하며, 글로브 패턴으로 도구별 세분화된 권한 설정이 가능하다. 반복되는 동일한 작업에 매번 확인을 요청받지 않도록 세션 단위 허용 목록도 유지된다. Bash 실행 시에는 bubblewrap 기반 샌드박스 옵션도 제공해 시스템 보호 수단을 갖추고 있다.
보안 측면에서 특이한 기능으로 "Doom-loop detection"이 있다. 동일한 도구 호출이 3회 이상 반복되면 경고를 발생시키거나 차단하는 구조로, 에이전트가 오작동하며 파괴적인 명령을 반복 실행하는 상황을 방어한다.
도입 전 체크포인트
Zerostack은 분명 매력적인 수치를 가진 도구다. 하지만 실제 도입 전에 몇 가지를 점검하는 것이 좋다.
첫째, 아직 1.0.0 버전이다. Git Worktree 통합과 루프 시스템이 실험적 기능으로 명시된 만큼, 핵심 기능만 안정적이고 일부 기능은 변경될 가능성이 있다고 보는 것이 맞다.
둘째, 라이선스가 GPL-3.0이다. 내부 도구로 활용하는 것과 상업 제품에 통합하는 것은 다른 이야기다. 라이선스 조건을 사전에 법무팀과 확인해야 한다.
셋째, 성능 수치는 특정 환경(Intel i5 7세대)에서 측정된 값이다. 자신의 환경에서 동일한 수치가 보장되지는 않으며, 비교 대상인 opencode와의 차이도 직접 재현해볼 필요가 있다.
넷째, Exa 검색, MCP 연동 등 외부 서비스 의존 기능은 해당 서비스의 API 키와 요금 정책을 별도로 확인해야 한다.
자주 묻는 질문
Q.Zerostack을 설치하려면 무엇이 필요한가?
Rust의 패키지 관리자인 Cargo와 git이 설치되어 있어야 한다. 그 이후 `cargo install zerostack` 명령 하나로 설치가 완료된다. 샌드박스 기능을 사용하려면 Linux 환경에서 bubblewrap을 추가로 설치해야 하며, Debian/Ubuntu 기준으로는 `apt install bubblewrap`으로 설치할 수 있다. Windows 환경에서의 지원 여부는 원문에 명시되어 있지 않으므로 직접 확인이 필요하다.
Q.OpenAI나 Anthropic 외에 로컬 모델도 사용할 수 있나?
Ollama 지원이 공식적으로 포함되어 있어 로컬에서 실행 중인 LLM을 연결할 수 있다. 또한 vLLM, LiteLLM 등 OpenAI 호환 엔드포인트도 지원하므로, 자체 모델 서버를 운용하는 환경에서도 활용이 가능하다. 커스텀 제공자는 설정 파일에서 베이스 URL과 API 키 환경 변수를 지정하는 방식으로 추가할 수 있다.
Q.JS 기반 코딩 에이전트와 비교했을 때 실제로 체감 차이가 있나?
공식 문서에 따르면 메모리 사용량 기준으로 opencode 대비 약 300MB vs 12MB 수준의 차이가 있다. 메모리가 빡빡한 개발 환경이나 다수의 에이전트를 병렬로 실행해야 하는 서버 환경에서는 이 차이가 실질적인 이점으로 작용할 수 있다. 반면 기능 성숙도나 커뮤니티 생태계는 기존 도구 대비 아직 초기 단계이므로, 용도에 맞게 선택하는 것이 중요하다.
관련 아티클
AI 코딩 에이전트 시대, IT 에이전시는 어떻게 달라져야 하는가
가이드Codex CLI /goal 기능으로 AI 에이전트 루프 자동화하기 — 반복 실행 기반 목표 달성 구현 가이
가이드Claude Code UX에 DeepSeek 뇌를 이식하기 — deepclaude 실전 분석
트렌드8B 소형 LLM으로 에이전트 정확도 99% 끌어올리는 Forge 프레임워크 분석
트렌드AI 에이전트 토큰 사용량 98% 줄이는 코드 검색 도구 'Semble' 실전 분석
트렌드클로드 코드 vs 코덱스, IT 에이전시는 어떤 AI 코딩 도구를 선택해야 하나
관련 사례
이 글의 키워드와 맞닿은 실제 개발 사례를 함께 보세요.