# Hermes Agent — Улучшения и Паттерны Ref: [[personal-os-agent-rules]] ## Agentic Memory Update Как лучше обновлять доки/память агента из истории бесед. ### Основные паттерны **1. Async post-session (доминирующий)** — разделить живой чат и консолидацию памяти. После завершения сессии / по расписанию агент читает транскрипт, извлекает инсайты, пишет в canonical store. Никакой задержки в живом чате. **2. Three-memory model:** - **Episodic** — история сессий (summary что обсуждали) - **Semantic** — факты, предпочтения, решения - **Procedural** — воркфлоу, скиллы, подходы ### Чем запускают - Cron (2–4 AM) — самый простой и надёжный - Webhook после завершения сессии - LangMem `ReflectionExecutor` — фоновый тред прямо во время чата ### Инструменты | Инструмент | Плюсы | Минусы | |------------|-------|--------| | **LangMem** | Нативная интеграция с LangGraph | p95 latency = 60s в продакшне | | **Mem0** | Граф с conflict detection, лучшая производительность | Проприетарный | | **Custom agents** | Полный контроль, пишет в git/docs | Надо делать самому | Eagle использует custom agents — текущий подход. ### Главные правила 1. Обрабатывать один раз в конце сессии, не после каждого сообщения 2. Дешёвые модели для memory ops, дорогие — для разговора 3. Guard: «обновлять только при значимой новой информации» 4. Temporal decay — чтобы память не росла бесконечно ## Пробелы в текущей системе ### Vault root не обрабатывается Файлы попадают в корень vault через мобильный sync (Obsidian iOS) — нет хэндлера. - `vault-enrichment` — не перемещает (запрещено в промпте) - `inbox-sort` — сканирует только staging-папки (`family/sort/`, `personal/inbox/`) **Fix:** расширить inbox-sort, чтобы сканировал vault root и перемещал файлы по классификатору (food/recipes → family/documents/, etc.) ### Нет renaming agent Никто не переименовывает файлы. Мобильный sync создаёт файлы с произвольными именами, они остаются как есть. **Fix:** добавить логику нормализации имён в inbox-sort или отдельный препроцессор. ### Нет post-session memory agent Сессии пишутся в `~/.hermes/sessions/`, но `memory.md` и vault обновляются только вручную или через vault-enrichment (раз в неделю). **Fix:** cron 02:00 AM ежедневно — читает свежие сессии, обновляет `memory.md` и `personal/projects/`. Вписывается в слот между inbox-sort (01:00) и vault-enrichment (03:00 вс).