2026 Hermes Agent постоянная память:
3-слойная архитектура, Mac mini M4 7×24 vs VPS/Raspberry Pi — Metal/UMA и аренда MacDate

Hermes Agent от Nous Research — один из самых быстрорастущих open-source агентных фреймворков 2026 года (160 000+ звёзд на GitHub). Его ключевая ставка — память, которая переживает сессию. Но постоянная память требует постоянного железа. В этом руководстве разбираем трёхслойную архитектуру памяти, сравниваем VPS, Raspberry Pi и Mac mini M4 с точки зрения Metal, unified memory и I/O под SQLite, показываем curl-установку и стратегию бэкапа ~/.hermes.

Hermes Agent постоянная память на Mac mini M4 — абстрактная визуализация серверных стоек и сети

В феврале 2026 Nous Research выпустил Hermes Agent — агента, который не начинает с нуля при каждом перезапуске. Cron-задачи, Telegram/Discord-шлюзы, браузерная автоматизация и самописные skill-документы делают Hermes полноценным 7×24-ассистентом — при условии, что хост не засыпает. Эта статья для разработчиков и ML-инженеров, которые выбирают между Linux-VPS, Raspberry Pi и Mac mini M4: мы разберём официальную трёхслойную архитектуру памяти, объясним, почему Apple Silicon с unified memory (UMA) и Metal даёт преимущество для локального Ollama-инференса рядом с агентом, и покажем, как протестировать всё на арендованном Mac mini M4 через MacDate без CapEx.

01. Что такое Hermes Agent и ставка Nous Research на память

Hermes позиционируется между CLI-инструментом и чат-платформой. Агент выполняет shell-команды, ищет по файлам, управляет браузером, отвечает в мессенджерах и — главное — записывает успешные workflow в ~/.hermes/skills/ как переиспользуемые Markdown-файлы. Каждые 15 tool-call'ов агент может паузировать, рефлексировать и консолидировать опыт.

Модели взаимозаменяемы: Claude, GPT-4o, Gemini или локальный Llama через Ollama. Память хранится локально в ~/.hermes/ и не зависит от провайдера модели. Hermes не отправляет телеметрию в Nous Research — вы контролируете, что покидает машину.

Для инженеров, которые хотят минимизировать latency и стоимость token'ов, связка Hermes + Ollama на Mac mini M4 — особенно интересна: агент и инференс на одном хосте, без сетевого RTT до облачного API.

02. Почему 7×24 — не опция, а требование

Hermes — не только интерактивный терминал. Три режима требуют постоянно работающий хост:

  • Cron. Ежедневные сводки, сканирование репозиториев, мониторинг конкурентов — спящий хост пропускает триггер.
  • Messaging gateways. Telegram, Discord, WhatsApp держат открытые соединения. Закрытый ноутбук ночью обрывает все каналы.
  • Накопление памяти. Каждая сессия пишется в state.db. Прерывания фрагментируют контекст; выделенный хост накапливает непрерывно.

Практика сообщества весной 2026: энтузиасты покупают или арендуют выделенные Mac mini исключительно под Hermes. Рабочий Mac остаётся чистым; агент доступен по SSH или Tailscale.

Эмпирическое правило: при использовании более двух messaging-каналов, cron-задач или внешнего memory-провайдера 7×24 становится минимальным требованием, а не роскошью.

03. Трёхслойная архитектура памяти: обзор

Официальная документация Hermes описывает память как три кооперирующих слоя с разными профилями latency/ёмкости/стоимости:

Слой Хранилище Ёмкость Latency Типичное использование
1 — Ядро памяти MEMORY.md, USER.md ~1 300 tokens 0 ms (инъекция в prompt) Предпочтения, факты среды, конвенции
2 — Session Search state.db (SQLite FTS5) Неограничена ~20 ms FTS5-запрос «Мы обсуждали X на прошлой неделе?»
3 — Внешние провайдеры Honcho, Mem0, Hindsight… Зависит от провайдера 100–500 ms retrieval Семантический поиск, графы знаний

Дополнительно — процедурные skills в ~/.hermes/skills/: агент синтезирует успешные workflow в переиспользуемые Markdown-файлы. Это не официальный четвёртый слой, но он дополняет слой 1, фиксируя как выполнять задачу, а не только что сказал пользователь.

В Q2 2026 Hermes постепенно мигрирует слой 1 на SQLite-backed Memory v2 (PR #4722), сохраняя MEMORY.md/USER.md как экспорты совместимости. Бэкап-стратегии должны покрывать и файлы, и memory.db.

04. Слой 1: MEMORY.md и USER.md — курируемое ядро

Слой 1 инжектируется в system prompt при каждом старте сессии — как замороженный snapshot (оптимизация prefix cache LLM).

  • MEMORY.md (2 200 символов): заметки агента — OS, структура проекта, quirks инструментов.
  • USER.md (1 375 символов): профиль пользователя — имя, часовой пояс, стиль коммуникации.

Агент управляет файлами через инструмент memory: add, replace (substring matching через old_text), remove. Дубликаты отклоняются; контент сканируется на prompt injection и exfiltration credentials.

Лимиты символов намеренно жёсткие. Hermes хранит курируемые факты, а не транскрипты. При 80 % заполнения агент консолидирует записи.

Технический нюанс для локального инференса: слой 1 добавляет ~1 300 tokens в каждый prompt. При Ollama + Llama 8B на Mac mini M4 с 16 GB UMA это ~2 % контекстного окна — пренебрежимо. При Llama 70B q4 (~40 GB weights) слой 1 остаётся незначительным overhead, но сам инференс требует Mac с 64+ GB RAM — аренда Mac Studio через MacDate.

05. Слой 2: Session Search — state.db и FTS5

Слой 2 решает то, что слой 1 не может: неограниченную историю разговоров. Каждая CLI- и messaging-сессия записывается в ~/.hermes/state.db. SQLite FTS5 обеспечивает полнотекстовый поиск за ~20 ms — без LLM-вызова, без token-cost.

Инструмент session_search возвращает реальные сообщения из БД, а не LLM-саммари. Агент может скроллить вперёд/назад по найденным сессиям.

  • Слой 1 = «что я всегда должен знать?» — фиксированные ~1 300 tokens.
  • Слой 2 = «что мы тогда конкретно сказали?» — on-demand, неограничено, бесплатно.

I/O-профиль state.db на Apple Silicon

При 7×24 state.db растёт непрерывно — типично 50–200 MB/неделю при активном Telegram-gateway. Mac mini M4 с NVMe SSD (до 7,4 GB/s sequential read) обеспечивает:

  • WAL-mode SQLite: concurrent read/write без блокировки reader'ов — критично, когда gateway пишет сессии, а вы параллельно делаете FTS5-поиск.
  • Низкая latency random I/O: FTS5-индексы — random read heavy; NVMe на M4 даёт <100 µs latency vs миллисекунды на SD-карте Raspberry Pi.
  • APFS copy-on-write: snapshot state.db через tmutil или cp без остановки daemon'а (при WAL — с checkpoint).
# Инвентаризация сессий hermes sessions list # Размер state.db ls -lh ~/.hermes/state.db # Checkpoint WAL перед бэкапом sqlite3 ~/.hermes/state.db "PRAGMA wal_checkpoint(TRUNCATE);" # Проверка FTS5 sqlite3 ~/.hermes/state.db "PRAGMA integrity_check;"

06. Слой 3: внешние провайдеры и процедурные skills

Восемь provider-плагинов: Honcho (диалектическое моделирование пользователя), Mem0, Hindsight, Holographic, RetainDB, ByteRover, OpenViking, Supermemory:

hermes memory setup # Выбор и настройка провайдера hermes memory status # Проверка активного провайдера

Внешние провайдеры работают рядом со слоем 1, не заменяя его. Активен только один провайдер одновременно.

Параллельно Hermes пишет SKILL.md в ~/.hermes/skills/. После сложной задачи агент синтезирует успешный workflow. За недели skill переписывается несколько раз — автономное улучшение. Это процедурная память.

Для embedding-heavy провайдеров (Mem0, Hindsight) Mac mini M4 с Neural Engine (ANE, 38 TOPS на M4) может ускорить локальные embedding-модели через Core ML — снижая latency retrieval'а слоя 3 с сотен ms до десятков ms без облачного API.

07. Mac mini M4: Metal, UMA и I/O для агента с памятью

Почему Mac mini M4 — не просто «ещё один Unix-хост», а инженерно оптимальная платформа для Hermes с локальным инференсом:

Unified Memory Architecture (UMA)

На M4 CPU, GPU и Neural Engine разделяют один пул LPDDR5X — до 120 GB/s bandwidth на базовом M4 (Pro/Max — до 273 GB/s). Для Ollama + Metal backend это означает:

  • Zero-copy weights: веса модели загружаются в UMA один раз; GPU-ядра Metal читают их без PCIe-копирования (в отличие от discrete GPU на VPS).
  • KV-cache в UMA: при локальном инференсе KV-cache растёт в том же пуле, что и Hermes Python-процесс — нет NUMA-penalty.
  • 16 GB baseline: достаточно для Hermes daemon + Ollama Llama 3.2 3B q4 + state.db. 24 GB — комфортный запас для Llama 8B.

Metal Performance Shaders для локального LLM

Ollama на macOS использует Metal MPSGraph для matmul и attention. Типичные цифры на Mac mini M4 16 GB:

  • Llama 3.2 3B q4: ~45–55 tok/s generate, ~800 tok/s prompt processing
  • Llama 3.1 8B q4: ~18–25 tok/s generate (CPU+GPU shared bandwidth)

Hermes + Ollama на одном M4: agent loop (tool calls → memory write → LLM inference) без сетевого RTT. Cloud API добавляет 200–800 ms на каждый turn; локальный Metal — 20–50 ms TTFT для малых моделей.

ANE и embedding-провайдеры слоя 3

Neural Engine M4 (38 TOPS INT8) ускоряет Core ML-модели embedding'ов, которые используют провайдеры вроде Mem0 и Hindsight. При локальном embedding-pipeline retrieval слоя 3 опускается с 300–500 ms (cloud API round-trip) до 30–80 ms (on-device ANE inference + SQLite lookup). Это особенно заметно, когда агент делает 5–10 memory retrieval'ов за одну сложную задачу — cumulative latency cloud-провайдера превращает agent loop в «медленный чат», тогда как M4 держит loop интерактивным.

Сравнение memory wall: Pi vs M4 vs VPS

Raspberry Pi 5 с 8 GB LPDDR4X делится между OS, Hermes Python-процессом (~200–400 MB), Chromium headless (~500 MB–1 GB) и Ollama weights. Llama 3.2 3B q4 (~2 GB) теоретически помещается, но при concurrent gateway + browser automation система начинает swap'ить на SD-карту — latency SQLite FTS5 взлетает с 20 ms до секунд. VPS с 4–8 GB RAM сталкивается с тем же, плюс отсутствие GPU для локального инференса. Mac mini M4 16 GB держит Hermes daemon + Ollama 8B q4 + browser + state.db WAL-writes без swap — unified memory pool не имеет PCIe-bottleneck между «CPU-частью агента» и «GPU-частью инференса».

Термals и 7×24

Mac mini M4 в desktop-форм-factor рассеивает 15–20 W sustained load без throttling. Raspberry Pi 5 при continuous SQLite write + browser automation упирается в SD-card I/O и thermal limits. VPS не даёт локального Metal вообще.

Инженерный вывод: если ваш Hermes-workflow включает локальный LLM (Ollama) + browser automation + SQLite session log, Mac mini M4 — единственная из трёх платформ, где все три компонента работают на полной скорости без компромиссов.

08. VPS vs Raspberry Pi vs Mac mini M4: таблица решений

Критерий Linux VPS Raspberry Pi 5 Mac mini M4
Надёжность 7×24 Высокая (DC) Средняя (SD, blackout) Высокая (SSD, launchd)
Локальный LLM (Metal/UMA) Нет GPU 8 GB RAM max Metal + до 64 GB UMA
Memory bandwidth DDR4/5 (NUMA) LPDDR4X ~50 GB/s LPDDR5X 120–273 GB/s
Browser automation Headless Chrome Очень медленно Native WebKit/Chromium
SQLite I/O (state.db) NVMe SD wear NVMe 7+ GB/s
Телеметрия VPS monitoring Zero Zero (Hermes не шлёт)
CapEx / OpEx $5–30/мес ~$100 + электричество $599+ или посуточная аренда

VPS — для чисто cloud-API сценариев без локального инференса. Raspberry Pi — для weekend-экспериментов, не для production 7×24 с SQLite write load. Mac mini M4 — оптимальный баланс Metal/UMA, NVMe I/O и native macOS tooling.

09. curl-установка на macOS и конфигурация

# Требование: git (Xcode CLT или Homebrew) curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash source ~/.zshrc hermes

Альтернатива v0.14+: pip install hermes-agent + hermes postinstall.

Структура после установки:

  • ~/.hermes/hermes-agent/ — исходники и venv
  • ~/.hermes/memories/MEMORY.md, USER.md — слой 1
  • ~/.hermes/state.db — слой 2
  • ~/.hermes/skills/ — процедурные skills
  • ~/.hermes/config.yaml — routing моделей, memory limits, gateways

Для локального Ollama на M4:

brew install ollama ollama pull llama3.2:3b # В ~/.hermes/config.yaml указать Ollama endpoint # base_url: http://127.0.0.1:11434/v1

7×24 на macOS: hermes gateway start или LaunchAgent plist. Доступ через Tailscale — не экспонируйте gateway-порты в публичный интернет.

10. Бэкап ~/.hermes: миграция и восстановление

  1. Полный бэкап: tar -czf hermes-backup-$(date +%Y%m%d).tar.gz -C ~ .hermes
  2. Инкрементальный: только memories/, state.db, skills/, config.yaml.
  3. WAL checkpoint перед бэкапом: sqlite3 ~/.hermes/state.db "PRAGMA wal_checkpoint(TRUNCATE);"
  4. Шифрование: GPG или EU object storage (Hetzner, Scaleway).
tar -czf hermes-migrate.tar.gz -C ~ .hermes # На новом хосте: tar -xzf hermes-migrate.tar.gz -C ~ hermes doctor

hermes doctor проверяет integrity memory.db (SQLite Memory v2). Запускайте после каждого restore.

Для production 7×24 настройте автоматический nightly backup через launchd:

# ~/Library/LaunchAgents/com.hermes.backup.plist — пример cron 03:00 sqlite3 ~/.hermes/state.db "PRAGMA wal_checkpoint(TRUNCATE);" tar -czf ~/hermes-backup-$(date +%Y%m%d).tar.gz -C ~ .hermes/memories .hermes/state.db .hermes/skills .hermes/config.yaml

На арендованном MacDate-инстансе храните бэкапы off-box — scp на ваш NAS или S3-compatible bucket в EU-регионе. Не полагайтесь на единственную копию на том же диске: persistent memory — это актив, который накапливался неделями; потеря ~/.hermes равносильна «амнезии» агента.

11. План аренды 1–3 дня на Mac mini M4 MacDate

  1. День 0. Забронировать Mac mini M4 (16 GB RAM, 512 GB SSD) на macdate.com. Подготовить SSH и Tailscale.
  2. День 1, утро. SSH, curl install, hermes, настроить Ollama или API key.
  3. День 1, день. Заполнить MEMORY.md, протестировать Telegram gateway, создать cron.
  4. День 2. Session Search — вопрос, ответ на который есть только в сессии дня 1. Benchmark Ollama tok/s через Metal.
  5. День 3. tar-бэкап ~/.hermes, hermes doctor, освободить инстанс.

Три цифры: state.db растёт на 50–200 MB/неделю с активным gateway. 1–3 дня аренды достаточно для полного evaluation cycle. Break-even аренда vs покупка — около 120–150 активных дней/год.

12. Ограничения и CTA MacDate

Три ограничения Hermes:

  • Лимиты символов слоя 1. 2 200 + 1 375 — не замена knowledge base.
  • Зависимость от model API. Без локального Ollama prompts уходят в облако.
  • Нет multi-user RBAC. Один агент — один пользователь; team sharing требует отдельных инстансов.

Оптимальная связка: Hermes на арендованном Mac mini M4 — изолированно от рабочего Mac, с Metal/UMA для Ollama, FileVault, Tailscale и экспортируемым ~/.hermes. См. также ds4 + DeepSeek V4 для frontier-инференса на Apple Silicon.

Читайте также