[2026-09-29] eagle: personal/tech/hermes-memory-architecture.md personal/tech/hermes-whale-mattermost-transport.md
This commit is contained in:
1 parent
6337fa0479
commit
b30684ecfb
2 files changed
+132
-2
No files matched your search
@@ -106,6 +106,45 @@ find ~/.hermes/hermes-whale/memories -type f -name "*.md"
|
||||
# Редактировать prompt (через patch или write_file)
|
||||
```
|
||||
|
||||
## 🔴 Лимиты и падение агента (наблюдение 2026-09-29)
|
||||
|
||||
**Симптом:** агент не отвечает в треде, в `errors.log` — серия:
|
||||
```
|
||||
Tool memory returned error: Memory at 2,899/3,000 chars.
|
||||
Adding this entry (781 chars) would exceed the limit. Replace or remove existing entries first.
|
||||
[Tool loop warning: same_tool_failure_warning; count=3; memory]
|
||||
```
|
||||
Итог: агент зацикливается на попытках записать факт и **не доходит до ответа**.
|
||||
|
||||
### Ключевой факт: USER.md — всегда глобальный
|
||||
|
||||
`_path_for("user")` → `memories/USER.md` **всегда**, независимо от `thread_key`.
|
||||
В `threads/` уходит только `MEMORY.md`. Следствие: **забитый USER.md бьёт по всем
|
||||
тредам одновременно** — `thread_scoped: true` от него не защищает.
|
||||
|
||||
| Файл | Лимит (конфиг) | Значение 2026-09-29 |
|
||||
|---|---|---|
|
||||
| `memories/USER.md` | `user_char_limit: 1375` | 2295 байт → **уже переполнен** |
|
||||
| `memories/threads/<key>/MEMORY.md` | `memory_char_limit: 3000` | по треду |
|
||||
| `memories/MEMORY.md` (fallback) | `memory_char_limit: 3000` | 0 байт |
|
||||
|
||||
⚠️ Расхождение лимитов: `user_char_limit: 1375` против `memory_char_limit: 3000`.
|
||||
Сообщение об ошибке упоминает 3000 — **это лимит MEMORY.md, не USER.md**; при
|
||||
диагностике смотреть оба значения в `config.yaml`.
|
||||
|
||||
### Диагностика
|
||||
|
||||
```bash
|
||||
# размеры
|
||||
wc -c ~/.hermes/hermes-whale/memories/USER.md ~/.hermes/hermes-whale/memories/MEMORY.md
|
||||
# где именно падает
|
||||
grep -n "memory returned error" ~/.hermes/hermes-whale/logs/errors.log | tail -10
|
||||
```
|
||||
|
||||
**Лечение:** сжать USER.md (слить дубли, убрать устаревшее) до <1375, либо поднять
|
||||
`user_char_limit` в `config.yaml`. Правка `config.yaml` — только скриптом с
|
||||
YAML-roundtrip-валидацией (прямой `patch`/`write_file` заблокирован харнессом).
|
||||
|
||||
## Связанное
|
||||
|
||||
- [[thread-scoped-memory]] — план реализации.
|
||||
|
||||
Reference in new issue
Block a user