zerostack: agent lập trình Rust chỉ cần 8MB RAM

5 phút đọc English
Featured image for zerostack: agent lập trình Rust chỉ cần 8MB RAM

Một buổi sáng tôi gõ claude --version chỉ để kiểm tra con số. Con trỏ đứng yên. Bốn giây sau terminal in ra một chuỗi version rồi im lặng.

Tôi không phải người duy nhất để ý chuyện này. Một tài khoản tên mohsen1 trên HN đã bấm giờ nghiêm chỉnh và đăng kết quả lên:

$ time claude --version
2.1.143 (Claude Code)

Executed in    4.39 secs      fish           external
   usr time   29.68 millis    0.26 millis   29.41 millis
   sys time   71.30 millis    1.30 millis   70.00 millis

Benchmark đó giờ đang nằm trong thread bình luận của zerostack, một coding agent Rust vừa xuất hiện trên HN hôm qua với 335 upvote.

Câu chuyện trong một câu

zerostack là một coding agent full-featured viết bằng 7.000 dòng Rust thuần - hỗ trợ đa provider (OpenRouter, OpenAI, Anthropic, Gemini, Ollama), hệ thống phân quyền bốn mức, quản lý session, hệ thống prompts có thể chuyển đổi, MCP cho công cụ mở rộng, tích hợp git worktree, và vòng lặp tác vụ dài hạn - với RAM idle chỉ khoảng 8MB và binary nặng 8.9MB.

Để so sánh: opencode và các agent nền JS khác chạy ở mức khoảng 300MB lúc rảnh.

Vì sao bài này leo top HN

Công thức quen thuộc: Rust, một lập trình viên, một dự án lớn dần thành thứ gì đó thật sự, và một README có bảng hiệu năng khiến các tool khác trông ngại.

Chỉ sốzerostackopencode / agent JS
RAM (rảnh)~8MB~300MB
RAM (đang làm)~12MB~300MB+
CPU (rảnh)0,0%~2%
CPU (dùng tool)~1,5%~20%
Kích thước binary8,9MB-

Cú đấm càng mạnh hơn khi nhìn vào danh sách tính năng thật sự. Đây không phải toy project bị cắt xén. Nó có hệ thống prompts với các chế độ chuyển đổi được: code, plan, review, debug, ask, brainstorm, frontend-design, review-security… Nó tự đọc AGENTS.mdCLAUDE.md từ thư mục dự án, y như mọi agent lớn khác. Nó có bộ phát hiện doom-loop - tự động dừng lại khi agent lặp đúng một tool call ba lần liên tiếp.

Nói cách khác: đủ tính năng, nhưng chỉ bằng một phần bốn mươi bộ nhớ.

Thread HN đang tranh cãi gì

Bình luận nổi nhất đến từ throwa356262, thẳng vào con số:

“RAM footprint: ~8MB khi session rỗng, ~12MB khi đang làm việc. Tôi thích điều này lắm, Claude Code đang dùng nhiều gigabyte, cực kỳ khó chịu trên laptop cấu hình thấp.”

Tiếp theo, 360MustangScope thú nhận họ đang giữa chừng tự viết một agent Rust thì zerostack xuất hiện:

“Thật buồn cười khi opencode cứ leak bộ nhớ dần, đến khi làm dự án lớn thì leo lên 6GB rồi chậm dần đều.”

Rồi bình luận sắc bén nhất thread đến từ 2001zhaozhao:

“Hơi buồn cười khi coding agent cần kéo 1000W+ và dùng 2TB+ bộ nhớ ở data center để chạy, vậy mà người ta cứ tập trung vào vài watt và vài trăm megabyte trên laptop - vốn đã bị chi phí compile code che khuất rồi.”

Kỹ thuật mà nói, điều này đúng. Model không chạy trên máy của bạn. Inference nằm đâu đó ở một data center, và chi phí năng lượng mỗi request lớn hơn nhiều so với những gì client địa phương tiêu tốn. Liệu process local dùng 8MB hay 300MB chỉ là nhiễu so với đó.

Nhưng tôi nghĩ lập luận ngược lại cũng có lý: hiệu năng client-side không phải chuyện bảo vệ môi trường - mà là chuyện cảm giác dùng tool. Một tool ngốn 2% CPU khi bạn không dùng nó, một tool mất bốn giây để in ra version của chính nó - tool đó đang nói với bạn điều gì đó về những giả định mà tác giả đã mặc định. Và những giả định đó không phải của tôi.

Nên thử không?

Thử zerostack nếu: bạn đang dùng agent dòng lệnh và muốn thứ gì đó không ngốn 2% CPU lúc nhàn, máy bạn có RAM hạn chế và 300MB thật sự gây khó chịu, bạn muốn chuyển LLM provider mà không phải đổi tool, hoặc bạn tò mò xem một lập trình viên solo xây dựng toàn bộ agent stack trong ~7k dòng như thế nào.

Bỏ qua nếu: bạn cần tích hợp VS Code của Claude Code, cần hỗ trợ Windows được kiểm thử kỹ (zerostack nói thẳng là không test), hoặc workflow của bạn phụ thuộc vào thứ gì đó provider-specific.

Cài đặt chỉ một lệnh:

cargo install zerostack
export OPENROUTER_API_KEY="your-key"
zerostack

Có một tính năng tôi thích: sandbox mode. Cài bubblewrap rồi truyền --sandbox, mọi lệnh bash sẽ chạy trong môi trường cô lập. Loại tính năng này cho thấy tác giả đã nghĩ đến những gì có thể xảy ra nếu mọi thứ đi sai hướng.

Toàn bộ codebase nhỏ đến mức một người dùng (hiAndrewQuinn) đã đút cả source code vào một agent khác để kiểm tra tự động và không thấy gì đáng ngờ. Đó là ưu điểm của codebase nhỏ và dễ đọc.


Thảo luận trên Hacker News · Nguồn: crates.io · Đăng bởi gidellav

Hoang Yell

Một nhà phát triển phần mềm và là người kể chuyện kỹ thuật. Tôi đọc Hacker News mỗi ngày và kể lại những câu chuyện hay nhất ở đây — bằng tiếng Việt và tiếng Anh, cho người tò mò nhưng không có thời gian.