Dirge: ИИ-ассистент на Rust, который не забывает ни одной детали

Dirge: ИИ-ассистент на Rust, который не забывает ни одной детали

Июл 05, 2026 ai coding agent rust developer tools ai-assisted development terminal tools machine learning software development productivity tools

Dirge: AI-ассистент, который наконец-то запоминает ваш код

Давайте начистоту. Большинство AI-ассистентов для программирования работают так: пришёл, поработал, забыл. Каждый новый сеанс — это заново объяснять архитектуру проекта, свои привычки, принятые паттерны. Устаёшь не от кодинга, а от бесконечного повторения.

Dirge решает именно эту проблему. Это не очередная обёртка над LLM, а вдумчиво спроектированная система, где контекст — это ценность, а не расходный материал.

Родился в Rust, дышит скоростью

Первое, что бросается в глаза — скромный аппетит. Около 8 МБ оперативки в простое, бинарник на 36 МБ, и никаких зависимостей. Вообще. Сравните с Electron-монстрами, которые запросто отжирают гигабайты RAM, даже когда вы ещё не написали ни строчки кода.

AI-инструменты не должны быть капризными примадоннами. Они обязаны работать тихо, эффективно и быть готовыми к делу, а не пожирать ресурсы системы при первом открытии терминала.

TUI на базе ratatui и crossterm — это терминальный интерфейс, заточенный под клавиатуру. Живой поток токенов, ветвящееся дерево сессий для истории диалогов, настраиваемые информационные панели. Идеальный интерфейс для разработчика: быстрый, плотный по информации, без мыши.

Агент, который не впадает в панику

Вот где Dirge показывает характер. Агентный цикл — это не просто «отправил промпт, получил ответ, выполнил инструменты».

Реальность штука жёсткая. Модели галлюцинируют вызовы инструментов. Парсят JSON криво. Путают пути к файлам. Стандартные агенты на этом ломаются — зацикливаются, падают, выдают мусор, который потом чистить вам.

Dirge чинит malformed tool calls, валидирует каждую запись в файл через tree-sitter до того, как она попадёт на диск, и ставит circuit breakers на повторяющиеся циклы.

Киллер-фича? Если модель упорно косячит, Dirge не сдаётся. Он вставляет recovery checkpoint, предполагает, что модель имела в виду, и если это не работает — автоматически эскалирует на более мощную модель. Это как разница между агентом, который бьётся головой о стену, и тем, кто реально доводит дело до конца.

Память, которая остаётся

Название «dirge» выбрано не случайно. Дирж — это песня, которая ведёт умерших, не даёт им сбиться с пути. Dirge делает примерно то же самое с контекстом вашего проекта.

Двухуровневая система памяти: горячий уровень хранит факты inline, где модель может мгновенно до них добраться. Остальное уходит в поисковый breadcrumb индекс. Есть ещё глобальный кросс-проектный уровень для ваших личных предпочтений — форматирование кода, любимые паттерны, заскоки. Это живёт между сессиями и проектами.

Между сессиями работает post-session orchestrator: извлекает инсайты, курирует память и скиллы. Если вы полчаса дебажили мутную проблему с Rust lifetimes с определённым паттерном — Dirge это запомнит. В следующий раз, когда столкнётесь с похожим, у него уже есть контекст.

Долгие сессии используют durable, инкрементально обновляемые checkpoint'ы, привязанные к стабильной identity. Возобновление сжатой сессии восстанавливает живое состояние, а не за斯塔ревшую копию. Если вы хоть раз пытались вернуться к задаче недельной давности и полчаса заново входили в курс дела — поймёте, почему это важно.

Умная маршрутизация и мульти-провайдеры

Dirge не привязывает вас к одному AI-провайдеру. OpenAI, Anthropic, DeepSeek, Gemini, Ollama, OpenRouter, GLM — плюс любой OpenAI-совместимый эндпоинт. По умолчанию стоит OpenRouter, так что работает из коробки.

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

Безопасность без компромиссов

Единый permission engine с одной Policy Decision Point. Четыре режима работы, правила на уровне операций, allowlist'ы для сессий. Команда /why показывает, какая именно политика приняла решение и почему. Никаких чёрных ящиков.

Для параноиков (а вы должны быть параноиком) есть sandbox mode. Bash-команды выполняются в изоляции через bubblewrap (namespaced jail) или через hardware-изолированные libkrun microVMs. Глубина защиты поверх permission engine.

Для серьёзной разработки

Помимо ядра, Dirge напичкан фичами для профессионалов:

Phased planning workflow: explore → plan → implement → review как изолированные фазы. Агент в read-only режиме маппит код, второй в черновом режиме составляет план, ревьюер с disabled записью выполняет и возвращает пробелы на bounded retry. Как будто архитектурный ревью встроен в ваш воркфлоу.

Spec-driven workflow отслеживает изменения как SQLite rows (не хрупкие markdown-файлы). Proposals, requirement deltas, чеклисты задач с реальным статусом — активное изменение всегда в контексте, а архивирование формирует durable память.

Code intelligence через tree-sitter: inline LSP диагностика для 10+ языков прямо в выводе инструментов. Агент фиксит compile errors в том же turn. Никаких больше «попробуем так... билд падает... попробуем иначе».

Нужно дебажить? В Dirge встроен Debug Adapter Protocol клиент, который гонит реальные дебаггеры. Breakpoints, step through, инспекция стека и переменных — прямо из агентного цикла.

Расширяемость из коробки

Janet plugin system хукает полный lifecycle: перехватывает инструменты, переписывает промпты, регистрирует команды. Есть Claude-совместимые скиллы, загружаемые по запросу. MCP/ACP поддержка означает, что Dirge может быть и поставщиком, и потребителем инструментов. Например, Claude Code может делегировать Dirge задачи по имплементации и потом ревьюить результаты.

Итого

Dirge не пытается быть самым модным AI-инструментом. Он пытается быть самым надёжным. Персистентная память, восстановление после ошибок, эффективный по токенам I/O (файлы читаются как skeletons когда возможно, oversized вывод уходит на диск с саммари), гибкость мульти-провайдеров — всё складывается в агента, который работает с вами во времени, а не сбрасывается каждую сессию.

Устали начинать с нуля? Замучились с vendor lock-in? Dirge заслуживает внимания.

Установка в одну строку через crates.io (cargo install dirge-agent), задали API ключ — и погнали. Проще не бывает.

Дирж был песней, чтобы помнить мёртвых. Dirge — это система, которая гарантирует, что ваш AI никогда не забудет то, что вы построили вместе.

Read in other languages:

BG EL CS UZ TR SV FI RO PT PL NB NL HU IT FR ES DE DA ZH-HANS EN