ZeroStack: Mały AI, który w kodowaniu daje radę za trzech
ZeroStack – mały agent AI, który naprawdę nie obciąża systemu
Jeśli kiedykolwiek uruchamiałeś agenta kodującego i nagle zaczynało brakować RAM-u, ZeroStack może zmienić Twoje podejście do tego typu narzędzi.
Wydajność przede wszystkim
Większość dzisiejszych agentów AI opiera się na JavaScript i Node.js. Skutkuje to często wysokim zużyciem zasobów – szczególnie gdy jednocześnie działają IDE, przeglądarka i baza danych.
ZeroStack powstał w Rust i zajmuje zaledwie 8,9 MB. Podczas pracy zużywa od 8 do 12 MB RAM. Dla porównania – alternatywy oparte na JavaScript potrafią pochłaniać ponad 300 MB. To różnica rzędu 25–40 razy na korzyść ZeroStack.
Podobnie wygląda sprawa z procesorem. Przy aktywnym korzystaniu z narzędzi agent zużywa około 1,5% CPU. W stanie bezczynności na starszym Intelu i5 7. generacji wskaźnik spada do zera. To szczególnie ważne przy pracy na baterii lub na słabszym sprzęcie.
Architektura bez zbędnego balastu
Minimalistyczne podejście nie oznacza ubogich możliwości. ZeroStack łączy zaawansowane funkcje w niewielkiej, dobrze napisanej bazie kodu.
Obsługa wielu dostawców – możesz korzystać z OpenAI, Anthropic, Ollama czy OpenRouter. Zmiana modelu w trakcie sesji nie wymaga restartu ani dodatkowych konfiguracji.
Inteligentne narzędzia – agent potrafi czytać, zapisywać i edytować pliki z dokładnością do pojedynczych wierszy. Wykonywanie poleceń bashowych podlega kontroli uprawnień, a opcjonalne sandboxowanie przez bubblewrap zwiększa bezpieczeństwo. Wbudowany mechanizm wykrywania pętli zapobiega powtarzaniu tych samych, potencjalnie szkodliwych poleceń.
Zachowywanie sesji – możesz zapisać postęp prac i wrócić do nich później. Historia rozmowy jest automatycznie kompresowana, żeby nie przekraczać limitów kontekstu LLM.
System uprawnień – elastyczna kontrola
ZeroStack oferuje czterostopniowy system uprawnień. Od trybu, w którym zatwierdzasz każdą akcję, po „yolo”, gdzie agent działa bez ograniczeń. Domyślny tryb standardowy automatycznie akceptuje bezpieczne polecenia, a przy zapisie lub operacjach destrukcyjnych prosi o potwierdzenie.
Możesz też zdefiniować szczegółowe reguły – na przykład zezwolić na automatyczny zapis plików .rs, a dla innych rozszerzeń wymagać ręcznego zatwierdzenia. Decyzje zapamiętywane są w ramach sesji, co eliminuje powtarzające się pytania.
Terminal, który po prostu działa
Interfejs oparty na crossterm zapewnia wygodę pracy. Obsługuje renderowanie Markdown, zaznaczanie myszką i kopiowanie tekstu. Możesz też ukryć lub pokazać proces rozumowania agenta, zależnie od tego, jak czytelny ma być widok.
Polecenia zaczynające się od ukośnika (/model, /thinking, /clear) działają intuicyjnie i nie przerywają pracy.
Tryby pracy zamiast wtyczek
Zamiast instalować dodatkowe moduły, ZeroStack pozwala przełączać się między gotowymi profilami zachowań – kodowanie, planowanie, recenzja, debugowanie, przegląd bezpieczeństwa. Każde przełączenie zmienia sposób działania agenta bez restartu.
Możesz też dodać plik AGENTS.md lub CLAUDE.md w katalogu projektu – agent automatycznie odczyta konwencje i wytyczne obowiązujące w Twoim repozytorium.
Integracje, które mają sens
Wsparcie dla protokołu MCP umożliwia podłączanie własnych narzędzi. Wbudowana wyszukiwarka Exa daje dostęp do funkcji WebFetch i WebSearch bez dodatkowych zależności. Integracja z worktree Git pozwala agentowi płynnie przełączać się między gałęziami projektu.
Jak zacząć
Jeśli masz zainstalowane narzędzia Rust, uruchomienie jest proste:
export OPENROUTER_API_KEY="twój_klucz"
zerostack # sesja interaktywna
zerostack -p "Twoje polecenie" # jednorazowe zadanie
zerostack -c # kontynuacja ostatniej sesji
Dla izolowanego wykonywania poleceń bashowych wystarczy zainstalować bubblewrap i uruchomić agenta z flagą --sandbox.
Po co nam taki agent?
ZeroStack pokazuje, że wydajność i zaawansowane funkcje nie muszą się wykluczać. W czasach, gdy wiele narzędzi AI rozdyma się do gigantycznych rozmiarów, lekki, szybki agent staje się realną alternatywą – szczególnie na starszym sprzęcie, w środowiskach CI/CD czy przy ograniczonej mocy obliczeniowej.