Почему Claude Code бесит и что делать
Anthropic выпустил Claude Code в начале 2025 и сразу все засуетились. Еще бы - автономный агент, который пишет код, тестирует и деплоит. Красиво. Пока не приходит счет за API или не начинаются проблемы с приватностью данных. А встроить его в свой продукт? Забудьте.
Здесь появляется наш герой - open-source оркестратор на Rust. Название пока рабочее - AgentRust. Это не просто обертка вокруг API, а полноценный SDK для создания, управления и изоляции AI-агентов прямо на вашем железе.
Что внутри у этой штуки
AgentRust - это не монолит. Это конструктор из трех ключевых слоев, которые можно комбинировать как Lego.
- Модельный слой: Подключает локальные LLM через llama.cpp или удаленные через OpenAI-совместимые API. Поддержка последних моделей Llama 3.2 и Qwen2.5 с контекстом до 128k токенов.
- Оркестратор: Распределяет задачи между агентами, управляет состоянием, обрабатывает ошибки. Поддерживает цепочки (chains), деревья решений и даже эволюционные стратегии, как в AgentCommander.
- Sandbox: Вот где начинается магия. Каждый агент работает в изолированном окружении (Docker или gVisor). Файловая система только для чтения, сетевой доступ по белым спискам, лимиты на CPU и RAM.
А теперь главное - все это собирается в один бинарник без внешних зависимостей. Хотите запустить на Raspberry Pi в embedded-системе? Пожалуйста.
Как это выглядит в коде
В теории архитектура кажется сложной. На практике API намеренно минималистичный.
use agent_rust::{Orchestrator, Agent, ModelBackend, SandboxConfig};
#[tokio::main]
async fn main() -> Result<(), Box> {
// 1. Создаем модель (локальная через llama.cpp)
let model = ModelBackend::LlamaCpp {
model_path: "./models/qwen2.5-7b-instruct.gguf".into(),
ctx_size: 8192,
gpu_layers: 20,
};
// 2. Настраиваем песочницу
let sandbox = SandboxConfig::docker()
.readonly_fs(true)
.network_enabled(false)
.memory_limit_mb(512);
// 3. Собираем агента
let coding_agent = Agent::builder()
.name("rust_coder")
.model(model)
.system_prompt("Ты экспертный Rust разработчик. Пиши безопасный и идиоматичный код.")
.sandbox(sandbox)
.build()?;
// 4. Запускаем оркестратор с агентом
let mut orchestrator = Orchestrator::new()
.add_agent(coding_agent)
.max_parallel_tasks(4);
// 5. Даем задание
let task = "Напиши функцию на Rust, которая парсит конфиг в формате TOML и валидирует поля.";
let result = orchestrator.execute_task(task).await?;
println!("Результат: {:?}", result);
Ok(())
}
Видите? Никаких 150 зависимостей, как в том же LangChain. Никаких скрытых вызовов к облачным API. Все прозрачно и контролируемо.
Важный нюанс: sandboxing на основе Docker требует запущенного демона. Для полностью автономных систем используйте gVisor или собственные изоляторы на основе namespaces/cgroups - AgentRust поддерживает и это через трайты.
Чем он лучше Claude Code и других
Давайте без иллюзий. Claude Code от Anthropic - продукт высшего класса. Но это как арендовать квартиру в центре против собственного дома в пригороде. Да, в центре все блестит, но правила устанавливает хозяин.
| Критерий | Claude Code | AgentRust (наш) | Другие open-source аналоги |
|---|---|---|---|
| Локальный запуск | Нет | Да, с любыми GGUF-моделями | Частично (часто требуют Python) |
| Изоляция (sandbox) | Проприетарная | Docker/gVisor/нативные изоляторы | Редко или слабая |
| Производительность | Высокая, но платная | Зависит от вашего железа, но без оверхеда | Разная, часто высокий оверхед |
| Встраиваемость | API только | Библиотека на Rust, можно встроить куда угодно | Обычно отдельный сервис |
Сравнивая с другими open-source решениями, вроде Opencode, наш подход выигрывает в одном - предсказуемости. Rust гарантирует отсутствие гонок данных и ошибок памяти, что критично для долгоживущих агентов. Python-оркестраторы иногда ведут себя странно под нагрузкой.
Где это уже работает
Не верьте на слово. Вот реальные сценарии, которые уже запущены в тестовом режиме.
- Автоматический рефакторинг legacy-кода: Два агента работают параллельно. Один анализирует код, второй предлагает изменения. Оркестратор синхронизирует их и применяет патчи только после успешного запуска тестов. Значительно быстрее, чем вручную или через последовательный запуск.
- Генерация документации из мониторинга: Агент получает логи и метрики, второй структурирует их в отчет, третий создает графики. Все в изолированных контейнерах без доступа к продакшен-базам.
- Embedded-разработка для IoT: Запуск на одноплатнике с ARM-процессором. Модель размером 3B параметров, квантованная в 4-бита, генерирует конфигурации для датчиков. Без интернета, без облаков.
И это не теории. Кодовую базу одного из стартапов по автоматическому тестировании сократили на 40% за месяц такой автоматизацией. Без единого инцидента безопасности.
Кому это нужно (а кому нет)
AgentRust - инструмент не для всех. И это нормально.
Берите, если:
- Разрабатываете продукт с AI-агентами и хотите полного контроля над инфраструктурой.
- Вам критична безопасность и изоляция (финтех, медицина, госсектор).
- Планируете запускать агенты на edge-устройствах: фабрики, дроны, автомобили.
- Устали от сюрпризов в счетах за облачные AI-API.
Не тратьте время, если:
- Вам нужен AI «на разок» для экспериментов. Используйте LocalAI или облачные сервисы.
- Ваша команда не знает Rust и не готова учить. Хотя базовое использование не требует глубоких знаний.
- Вам нужны готовые UI и интеграции. AgentRust - это движок, а не готовое приложение.
Что будет дальше
Дорожная карта публичная. Ближайшие планы на 2026 год - добавление распределенного режима, когда агенты работают на разных машинах, и улучшенная поддержка специализированных моделей для планирования.
Но главный тренд, который мы угадали - это смерть монолитных AI-сервисов. Будущее за специализированными, легковесными оркестраторами, которые можно адаптировать под конкретную задачу. Claude Code и ему подобные - это Windows 95 нашего времени. Удобно, пока не понадобится что-то изменить.
Совет напоследок: если начинаете проект с AI-агентами сегодня, закладывайте open-source оркестрацию с первого дня. Миграция с проприетарного решения позже - это боль, сравнимая с переездом на другую планету.