zerostack โ Minimalist Coding Agent Optimized for Memory Footprint
์์ฝ
๐ ์๋ณธ: Reddit r/PiCodingAgent ยท zerostack ๊ณต์ ์ฌ์ดํธ
Pi๋ฅผ ๋์์ธ ๋ ํผ๋ฐ์ค๋ก ์ผ์ Rust๋ก ๋ง๋ ๋ฏธ๋๋ฉ ์ฝ๋ฉ ์์ด์ ํธ. JS ๊ธฐ๋ฐ ์์ด์ ํธ(~700MB)์ ๋น๊ตํด ๊ทน๋๋ก ๋ฎ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋(~16MB)์ด ํต์ฌ ํน์ง. GPL-3.0 ๋ผ์ด์ ์ค.
์์ธ ๋ถ์
์ฑ๋ฅ ๋ฒค์น๋งํฌ
| ํญ๋ชฉ | zerostack | JS ๊ธฐ๋ฐ ์์ด์ ํธ (๋น๊ต) |
|---|---|---|
| ์ฝ๋ ๊ท๋ชจ | ~13,000 LoC | โ |
| ๋ฐ์ด๋๋ฆฌ ํฌ๊ธฐ | 12.9 MB | โ |
| RAM (ํ๊ท ) | ~16 MB | ~700 MB |
| RAM (ํผํฌ) | ~24 MB | โ |
| CPU (์ ํด) | 0.0% | โ |
| CPU (์์ ์ค) | ~1.5% | โ |
๊ธฐ๋ฅ ๋ชฉ๋ก
ํต์ฌ ๊ธฐ๋ฅ:
- ๋ฉํฐ ํ๋ก๋ฐ์ด๋ โ OpenRouter, OpenAI, Anthropic, Gemini, Ollama (+ OpenAI ํธํ ์๋ํฌ์ธํธ)
- ๊ถํ ์์คํ โ 5๋จ๊ณ (restrictive / readonly / guarded / standard / yolo), per-tool ํจํด, ์ธ์ allowlist
- ํฐ๋ฏธ๋ UI โ crossterm ๊ธฐ๋ฐ, ๋งํฌ๋ค์ด ๋ ๋๋ง, ๋ง์ฐ์ค ์ง์, ์คํฌ๋กค๋ฐฑ
- ํ๋กฌํํธ ์์คํ
โ 10๊ฐ ๋ด์ฅ ํ๋กฌํํธ, ๋ฐํ์ ์ ํ ๊ฐ๋ฅ (
/prompt) - ์ธ์ ๊ด๋ฆฌ โ ์ ์ฅ/๋ถ๋ฌ์ค๊ธฐ/์ฌ๊ฐ, ์๋ ์์ถ
- MCP ์ง์ โ ์ธ๋ถ ๋๊ตฌ ์๋ฒ ์ฐ๊ฒฐ
- ๋ฃจํ ์์คํ โ ์ฅ๊ธฐ ํ์คํฌ์ฉ ๋ฐ๋ณต ์ฝ๋ฉ
- Git Worktrees โ ๋ธ๋์น๋ณ ์์ ์ํฌํ๋ก
- ACP ์ง์ โ ์๋ํฐ ํตํฉ (Zed ๋ฑ)
- ์๋๋ฐ์ค ๋ชจ๋ โ bubblewrap / zerobox ๊ฒฉ๋ฆฌ
- Exa ๊ฒ์ โ WebFetch & WebSearch ๋๊ตฌ
- ๋ณ๋ ฌ ์์ด์ ํธ โ
--parallelํ๋๊ทธ๋ก ๋์ผ ๋ ํฌ์์ ์ฌ๋ฌ ์์ด์ ํธ ๋์ ์คํ
๋ด์ฅ ํ๋กฌํํธ (10์ข )
| ํ๋กฌํํธ | ์ค๋ช |
|---|---|
code |
๊ธฐ๋ณธ ์ฝ๋ฉ ๋ชจ๋ (TDD ์ํฌํ๋ก) |
plan |
์ฝ๋ ์์ด ํ์/๊ณํ๋ง |
review |
์ฝ๋ ๋ฆฌ๋ทฐ (์ ํ์ฑ, ์ค๊ณ, ํ ์คํ , ์ํฅ) |
debug |
์์ ์ ์ ์ ๊ทผ๋ณธ ์์ธ ์ฐพ๊ธฐ |
ask |
์ฝ๊ธฐ ์ ์ฉ ๋ชจ๋ |
brainstorm |
์ฝ๋ ์์ด ์์ด๋์ด ์ค๊ณ |
frontend-design |
๋ ์ฐฝ์ ์ธ ํ๋ก๋์ UI |
review-security |
์ทจ์ฝ์ ์ฐพ๊ธฐ |
simplify |
๋์ ๋ณ๊ฒฝ ์์ด ๋ช ํ์ฑ ๊ฐ์ |
write-prompt |
์์ด์ ํธ ํ๋กฌํํธ ์์ฑ/์ต์ ํ |
๊ถํ ๋ชจ๋
| ๋ชจ๋ | CLI ํ๋๊ทธ | ๋์ |
|---|---|---|
| restrictive | -R |
๋ชจ๋ ์์ ์ ํ๊ฐ ์์ฒญ |
| readonly | --read-only |
์ฝ๊ธฐ๋ง ํ์ฉ, ์ฐ๊ธฐ/ํธ์ง/bash ๊ฑฐ๋ถ |
| guarded | --guarded |
์ฝ๊ธฐ ํ์ฉ, ์ฐ๊ธฐ/ํธ์ง/bash๋ ํ๊ฐ ํ์ |
| standard | (๊ธฐ๋ณธ๊ฐ) | CWD ๋ด ๊ฒฝ๋ก ๋๊ตฌ ํ์ฉ, ์์ ํ bash ์๋ ํ์ฉ |
| yolo | --yolo |
๋ชจ๋ ๊ฒ ํ์ฉ, ํ๊ดด์ ๋ช ๋ น์ด๋ง ํ์ธ |
๊ธฐํ ๋ช ๋ น์ด
/model โ ๋ชจ๋ธ ์ ํ
/thinking โ ์ฌ๊ณ ์์ค ์ค์
/clear โ ๋ํ ์ด๊ธฐํ
/session โ ์ธ์
๋ชฉ๋ก/์ ์ฅ/๋ถ๋ฌ์ค๊ธฐ
/loop โ ๋ฐ๋ณต ํ๋กฌํํธ ์ค์ผ์ค
/worktree โ git worktree ์์ฑ ๋ฐ ์ด๋
/wt-merge โ worktree ๋ณํฉ, ํธ์, ์ ๋ฆฌ, ๋ณต๊ท
/wt-exit โ ๋ณํฉ ์์ด ๋ฉ์ธ ๋ ํฌ๋ก ๋ณต๊ท
์ค์น
cargo install zerostack
# ๋๋ ACP ์ง์
cargo install zerostack --features acp
Pi์์ ๊ด๊ณ
zerostack์ Pi์ ๋์์ธ์ ๋ ํผ๋ฐ์ค๋ก ํ์ง๋ง, ๋ ๊ฐ์ง ํฐ ์ฐจ์ด์ ์ด ์์:
- Rust ๊ตฌํ โ JS ๋์ Rust๋ก ์์ฑ๋์ด ๋ฉ๋ชจ๋ฆฌ/์ฑ๋ฅ ๋ฉด์์ ์ ๋ฆฌ
- MCP ์ง์ โ Pi์ ๋ฌ๋ฆฌ MCP๋ฅผ ๊ธฐ๋ณธ ์ง์ (Pi๋ Skills ๊ถ์ฅ)
- GPL-3.0 ์คํ์์ค โ MIT ๋ผ์ด์ ์ค์ธ Pi์ ๋ผ์ด์ ์ค ์ฐจ์ด
์ปค๋ฎค๋ํฐ ๋ฐ์์ ์์ง ์์ (๊ฒ์ 6์๊ฐ ๊ฒฝ๊ณผ).
์ฐ๊ฒฐ
- [[Pi Agent]] โ ๋์์ธ ๋ ํผ๋ฐ์ค
- [[OpenCode โ Pi ์ ํ ๋ ผ์]] โ Pi ์ํ๊ณ ๋ด ๋ฏธ๋๋ฉ๋ฆฌ์ฆ ์ถ๊ตฌ ํ๋ฆ
์ธ์ฉ
โ~13k LoC, 12.9 MB binary, ~16 MB RAM. Peak RAM ~24 MB vs ~700 MB for JS-based agents.โ