From 33cd0cfa8fa2278f692b31da41a1547278548267 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Fri, 29 May 2026 16:39:07 +0600 Subject: [PATCH] [2026-05-29] add hermes agent improvements doc: memory patterns, vault gaps --- .../personal-os/hermes-agent-improvements.md | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 personal/projects/personal-os/hermes-agent-improvements.md diff --git a/personal/projects/personal-os/hermes-agent-improvements.md b/personal/projects/personal-os/hermes-agent-improvements.md new file mode 100644 index 00000000..4b1fb83d --- /dev/null +++ b/personal/projects/personal-os/hermes-agent-improvements.md @@ -0,0 +1,61 @@ +# 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 вс).