Hermes Agent
TL;DR
| Engram | Hermes Agent | |
|---|---|---|
| Философия | Файловый протокол под управлением человека (автоматизация опциональна) | Автономная постоянно активная память |
| Хранилище | Типизированные файлы Markdown в .agents/.engram/ | MEMORY.md + USER.md (строгий лимит символов) |
| Модель записи | По умолчанию одобряется человеком (шлюз A/B/C; автоматизируется правилами) | Агент пишет автономно |
| Вызов | По запросу: engram load "<task>" внедряет нужные файлы | Постоянно включен: основные файлы закреплены в system prompt в каждой сессии |
| Векторный поиск | Опциональный локальный sqlite-vec (детерминированный, без эмбеддингов) | Через внешнего провайдера (например, agentmemory — BM25 + вектор) |
| Кросс-агент | Любой агент, читающий файлы, может использовать память Engram | Ядро Hermes ориентировано на одного агента; кросс-агент через плагин agentmemory |
| Переносимость | Нативная для Git, сначала оффлайн, простой Markdown | Локальные файлы; внешние провайдеры могут привязать к облаку |
| Накладные расходы | Без демона, требуется дисциплина сохранения (если не автоматизировано) | Серверный процесс + UI просмотра, REST API, сервер MCP |
Форматы хранения
Engram хранит каждое воспоминание в виде типизированного Markdown-файла с YAML frontmatter, проверкой целостности хэшей и необязательным графом зависимостей (depends_on). Индекс JSON, граф и sqlite-vec sidecar служат слоями ускорения — Markdown является источником истины.
Hermes сжимает всю постоянную память в два ограниченных файла:
~/.hermes/memories/MEMORY.md— заметки агента, лимит 2200 символов~/.hermes/memories/USER.md— профиль пользователя, лимит 1375 символов
Строгие лимиты символов заставляют агента курировать информацию, а не просто накапливать ее. История сессий доступна для поиска через SQLite FTS5.
Модель записи
Engram — по умолчанию явный шлюз человека. Агенты предлагают кандидатов; человек должен одобрить их перед записью на диск. Сканирование на предмет конфиденциальных данных и prompt-injection происходит во время сохранения. Пользователи могут автоматизировать этот процесс, сохранив правило автоматического сохранения предложенных воспоминаний после завершения ответа.
Hermes — автономный. Агент сам решает, что и когда писать, ограничиваясь только лимитом символов. Одобрение человека в основном цикле отсутствует.
Модель вызова
Engram — маршрутизация по запросу. engram load "<task>" переранжирует кандидатов по тегам, типу, новизне, графу и необязательным векторным сигналам, затем внедряет компактный пакет (по умолчанию: 8 файлов) в контекст.
Hermes — постоянно активное внедрение. Основные файлы закрепляются в system prompt в начале сессии. Дополнительный внешний провайдер (например, agentmemory) запускает предварительное извлечение перед каждым шагом LLM и синхронизирует данные после.
Что когда использовать
Используйте Engram, если вам нужна подлежащая аудиту память, проверяемая человеком; совместное использование в команде через Git; гарантии конфиденциальности; или переносимость между различными инструментами независимо от агента (с возможностью автоматического сохранения с помощью пользовательских правил).
Используйте Hermes, если вам нужна память, которая накапливается автоматически без необходимости следить за сохранением, постоянно включенное внедрение контекста или более богатая среда выполнения со средствами просмотра, REST API и подключаемыми векторными бэкендами.