C
ChaoBro

Zerostack: программный агент, полностью написанный на Rust — новый минималистичный подход

На рынке программных агентов большинство участников стремятся к расширению функциональности — больше возможностей, больший контекст, более сложные инструментальные цепочки. Однако недавно появился проект под названием Zerostack, который движется в противоположном направлении: максимально мало кода — только самое главное.

Этот программный агент, полностью написанный на Rust, получил 220 баллов и вызвал 75 обсуждений на Hacker News. Для нового проекта с всего 51 коммитом и 136 звёздами такая популярность выглядит необычайно высокой.

Уверенность минимализма

В README Zerostack сразу обозначена его позиция: это минималистичный программный агент, вдохновлённый проектами pi и opencode.

Его функциональный список выглядит скромно, но каждая функция решает острую практическую задачу:

  • Поддержка множества моделей: OpenRouter, OpenAI, Anthropic, Gemini, Ollama, а также возможность подключения пользовательских провайдеров
  • Стандартный набор инструментов: реализованы все необходимые стандартные инструменты для программных агентов согласно документации opencode
  • Четыре режима работы: настраиваемые режимы прав доступа, включая режим «по инструменту», белый список сессий и стратегию внешних каталогов
  • Управление сессиями: сохранение/загрузка/восстановление сессий с автоматическим сжатием для укладки в окно контекста
  • TUI-интерфейс терминала: построен на основе crossterm, поддерживает рендеринг Markdown, выбор мышью, прокрутку истории и переключение видимости рассуждений
  • Динамическое переключение системных промптов во время выполнения: возможность мгновенно менять шаблон системного промпта (claude, opencode, pi и др.) прямо в сессии — без необходимости управления «навыками»

По отдельности эти функции не кажутся чем-то революционным, однако их совмещение в одном проекте, полностью написанном на Rust, означает одно: крайне низкое потребление памяти и исключительно быстрый запуск.

Почему именно Rust?

Современные популярные программные агенты — такие как Claude Code, Cursor и Windsurf — в основном построены на Electron или аналогичных технологиях, и их потребление оперативной памяти зачастую достигает сотен мегабайт или даже гигабайта.

Выбор Rust для Zerostack не случаен. Встроенный компилятор, отсутствие зависимостей от среды выполнения и гарантии безопасности памяти делают Rust идеальным выбором для создания высокопроизводительных CLI-инструментов. Для программного агента, ориентированного на частое взаимодействие в терминале, разница в миллисекундах отклика и в мегабайтах потребляемой памяти ощущается на практике.

Представьте, что вы подключаетесь по SSH к удалённому серверу и вам нужно быстро запустить задачу через агент. Вам не нужен Electron-приложение объёмом 500 МБ — вам нужен инструмент, который стартует менее чем за 100 мс и работает в пределах 10 МБ оперативной памяти.

Связь с pi и opencode

Zerostack чётко признаёт своё вдохновение от pi и opencode. Эти три проекта отражают одну и ту же философию: программный агент не должен быть громоздким плагином IDE — он должен быть лёгким, встраиваемым инструментом командной строки.

pi (лёгкая альтернатива Aider) и opencode (открытый помощник для кодирования в терминале) уже продемонстрировали жизнеспособность этого подхода. Инновация Zerostack заключается в том, что он переосмысливает эту концепцию на Rust и добавляет более тонкую настройку прав доступа и переключения моделей.

Особенно выделяются его четыре настраиваемых режима работы — от максимально свободного доступа ко всем инструментам до строгого белого списка сессий. Это позволяет гибко адаптировать Zerostack под различные требования к безопасности — важное преимущество для корпоративных пользователей.

Отзывы сообщества

Обсуждения на Hacker News демонстрируют интересную поляризацию. Одна часть участников считает: «Ещё один программный агент — чем он особенный?». Другая — возражает: «Rust + минимализм + поддержка множества моделей — вот как должен выглядеть настоящий CLI-инструмент».

На наш взгляд, вторая точка зрения ближе к сути. Рынок программных агентов действительно стремительно растёт, но большинство продуктов просто «накапливают» функции. Ценность Zerostack — в обратном подходе: оставить только ядро интерактивного слоя и безупречно реализовать выбор модели, контроль прав и управление сессиями — всё остальное остаётся на усмотрение пользователя.

Перспективные направления

Zerostack пока остаётся ранним проектом (51 коммит), однако его дизайн-философия заслуживает пристального внимания. При условии последовательной доработки в рамках сообщества он может стать «unix-подобным» выбором в категории программных агентов — делать одну вещь, но делать её отлично.

Разработчикам, предпочитающим рабочие процессы в терминале и чувствительным к потреблению памяти и скорости запуска, стоит попробовать Zerostack в своём инструментарии. Ведь в эпоху, когда «всё становится Electron», чистый Rust-агент — это уже само по себе освежающий опыт.

GitHub: gi-dellav/zerostack | Crates: zerostack 1.0.0