[2026-05-29] add hermes agent improvements doc: memory patterns, vault gaps

This commit is contained in:
Alexey Martemyanov
2026-05-29 16:39:07 +06:00
parent 5a28d347a7
commit 33cd0cfa8f
@@ -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 вс).