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.
В феврале 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 на память
- 02 Почему 7×24 — не опция, а требование
- 03 Трёхслойная архитектура памяти: обзор
- 04 Слой 1: MEMORY.md и USER.md — курируемое ядро
- 05 Слой 2: Session Search — state.db и FTS5
- 06 Слой 3: внешние провайдеры и процедурные skills
- 07 Mac mini M4: Metal, UMA и I/O для агента с памятью
- 08 VPS vs Raspberry Pi vs Mac mini M4: таблица решений
- 09 curl-установка на macOS и конфигурация
- 10 Бэкап ~/.hermes: миграция и восстановление
- 11 План аренды 1–3 дня на Mac mini M4 MacDate
- 12 Ограничения и CTA MacDate
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.
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).
06. Слой 3: внешние провайдеры и процедурные skills
Восемь provider-плагинов: Honcho (диалектическое моделирование пользователя), Mem0, Hindsight, Holographic, RetainDB, ByteRover, OpenViking, Supermemory:
Внешние провайдеры работают рядом со слоем 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 вообще.
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 и конфигурация
Альтернатива 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:
7×24 на macOS: hermes gateway start или LaunchAgent plist. Доступ через Tailscale — не экспонируйте gateway-порты в публичный интернет.
10. Бэкап ~/.hermes: миграция и восстановление
- Полный бэкап:
tar -czf hermes-backup-$(date +%Y%m%d).tar.gz -C ~ .hermes - Инкрементальный: только
memories/,state.db,skills/,config.yaml. - WAL checkpoint перед бэкапом:
sqlite3 ~/.hermes/state.db "PRAGMA wal_checkpoint(TRUNCATE);" - Шифрование: GPG или EU object storage (Hetzner, Scaleway).
hermes doctor проверяет integrity memory.db (SQLite Memory v2). Запускайте после каждого restore.
Для production 7×24 настройте автоматический nightly backup через launchd:
На арендованном MacDate-инстансе храните бэкапы off-box — scp на ваш NAS или S3-compatible bucket в EU-регионе. Не полагайтесь на единственную копию на том же диске: persistent memory — это актив, который накапливался неделями; потеря ~/.hermes равносильна «амнезии» агента.
11. План аренды 1–3 дня на Mac mini M4 MacDate
- День 0. Забронировать Mac mini M4 (16 GB RAM, 512 GB SSD) на macdate.com. Подготовить SSH и Tailscale.
- День 1, утро. SSH, curl install,
hermes, настроить Ollama или API key. - День 1, день. Заполнить MEMORY.md, протестировать Telegram gateway, создать cron.
- День 2. Session Search — вопрос, ответ на который есть только в сессии дня 1. Benchmark Ollama tok/s через Metal.
- День 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.