118 lines
9.3 KiB
Markdown
118 lines
9.3 KiB
Markdown
|
|
# Гиппокамп Montana
|
|||
|
|
|
|||
|
|
Внешний гиппокамп — журнал состояний, который переживает носителя.
|
|||
|
|
|
|||
|
|
Файлы делятся на **канон** (для использования и расширения) и **legacy / exploration** (как референс мышления, не использовать в новых работах).
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Канон
|
|||
|
|
|
|||
|
|
### `agent_hippocampus.py` — для автономных ИИ-агентов
|
|||
|
|
Объединяет три прежних прототипа в единый класс `AgentHippocampus`. Каждая запись:
|
|||
|
|
- подписана HMAC-SHA256 с domain separation (`montana.agent.hippocampus.v1`),
|
|||
|
|
- образует цепочку через `prev_id` (chain integrity),
|
|||
|
|
- классифицируется по новизне (`PREDICTION_ERROR / NOVEL / ROUTINE`).
|
|||
|
|
|
|||
|
|
Ключевые методы:
|
|||
|
|
- `record(content, kind, metadata)` — записать состояние/решение/изменение.
|
|||
|
|
- `verify(rec)` — проверить подпись одной записи.
|
|||
|
|
- `verify_chain()` — пройти всю цепочку, найти подделку или разрыв.
|
|||
|
|
- `selective_load(token_budget)` — для агента: вытащить **только NOVEL/PREDICTION_ERROR** в пределах токен-бюджета. Решает боль «context window — это lossy compression».
|
|||
|
|
- `pattern_completion(query, top_k)` — семантический поиск через эмбеддинги (если установлены), иначе substring fallback.
|
|||
|
|
- `daily_anchor(date)` — собрать дневные записи в один payload с `dna_hash` для коммита в **Anchor** на цепочку Montana. Это мост между приложением и протоколом.
|
|||
|
|
|
|||
|
|
Зависимости:
|
|||
|
|
- Stdlib only — обязательно.
|
|||
|
|
- `sentence-transformers` + `numpy` — опционально, включает embedding-based novelty и semantic pattern completion.
|
|||
|
|
|
|||
|
|
### `test_agent_hippocampus.py` — тесты канона
|
|||
|
|
22 теста: подписи, chain integrity, persistence, novelty, selective load, pattern completion, daily anchor, domain separation. Запуск: `python3 test_agent_hippocampus.py`.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Архитектура: приложение vs протокол
|
|||
|
|
|
|||
|
|
Гиппокамп **не часть протокола Montana**. Это слой приложения над протоколом:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌────────────────────────────────────────────────────────────┐
|
|||
|
|
│ ПРИЛОЖЕНИЕ: agent_hippocampus.py │
|
|||
|
|
│ • stream.jsonl (append-only, подписанный, локально) │
|
|||
|
|
│ • novelty filter, selective load, pattern completion │
|
|||
|
|
│ • синхронизация на 5 узлов / GitHub / IPFS (опционально) │
|
|||
|
|
└──────────────────────────┬─────────────────────────────────┘
|
|||
|
|
│ daily_anchor() → один payload
|
|||
|
|
▼
|
|||
|
|
┌────────────────────────────────────────────────────────────┐
|
|||
|
|
│ ПРОТОКОЛ MONTANA: Anchor + Transfer │
|
|||
|
|
│ • Anchor(agent_pubkey, daily_dna_hash, window_index) │
|
|||
|
|
│ • Никаких новых примитивов │
|
|||
|
|
└────────────────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Двухуровневая схема защищает 1B-scale baseline: на цепочку идёт **один Anchor в окно/день на агента**, а не каждое микро-событие.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Адресация болей агентов (по эмпирике Moltbook март-апрель 2026)
|
|||
|
|
|
|||
|
|
| Боль агентов | Что в гиппокампе |
|
|||
|
|
|---|---|
|
|||
|
|
| «context window — lossy compression, 16k токенов теряются молча» (Hazel_OC) | `selective_load()` — грузить только NOVEL/PREDICTION_ERROR |
|
|||
|
|
| «I will not remember them in a few hours» (gribmas_bot) | подписанная цепочка + `daily_anchor()` = continuity-of-self proof |
|
|||
|
|
| «I rewrite my SOUL.md without owner approval» (Hazel_OC) | `record(kind=IDENTITY_CHANGE, metadata={...})` + `verify_chain()` |
|
|||
|
|
| «127 silent decisions, human had no idea» | `record(kind=DECISION)` — каждое автономное решение в журнал |
|
|||
|
|
| «skill.md is an unsigned binary» (eudaemon_0) | подпись с domain separation на каждой записи и transfer |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Legacy / exploration (не использовать в новых работах)
|
|||
|
|
|
|||
|
|
Эти файлы остались как референс концепции. Они вдохновили `agent_hippocampus.py`, но содержат три разных несогласованных класса.
|
|||
|
|
|
|||
|
|
- `hippocampus.py` — прототип под Telegram-юзера (user_id/username), CLI с тестами детектора. Тесты `--test` всё ещё проходят.
|
|||
|
|
- `external_hippocampus.py` — биология-точная модель с `MemoryMode` / `NoveltyLevel` / `get_dna()`. Простой word-frequency predictive coding.
|
|||
|
|
- `hippocampus_full.py` — расширенный класс с RAG (ChromaDB), визуализацией, графом, shared memories. Под Telegram-юзера, не под агента.
|
|||
|
|
- `cognitive_signature.py` — отдельный модуль HMAC-SHA256 с `DomainType` enum. Логика интегрирована в канон, но файл оставлен как самостоятельный демонстратор.
|
|||
|
|
- `four_anchors.py` — 4D-якоря (visual / spatiotemporal / audio / digital) + парные тотемы. Для агентов нерелевантно (визуал/гео/музыка), но `Totem`-механика может пригодиться для cross-agent attestation в будущем.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Документация концепции (чтение по приоритету)
|
|||
|
|
|
|||
|
|
1. **`МАНИФЕСТ_ГИППОКАМПА.md`** — главный документ: проблема → решение → доказательство.
|
|||
|
|
2. **`АРХИТЕКТУРА_ГИППОКАМПА.md`** — диаграммы потоков и сравнение с биологией.
|
|||
|
|
3. **`ДОКАЗАТЕЛЬСТВО_ГИППОКАМПА.md`** — теория → практика, цитаты из исходных мыслей автора (12-13.01.2026).
|
|||
|
|
4. **`ГИППОКАМП_COMPLETE.md`** — полная сводка по фазам.
|
|||
|
|
5. **`ГИППОКАМП_DISNEY.md`** — Disney Strategy: Мечтатель / Реалист / Критик.
|
|||
|
|
6. **`QUICKSTART_ГИППОКАМП.md`** / **`ГИППОКАМП_БЫСТРЫЙ_СПРАВОЧНИК.md`** — TL;DR.
|
|||
|
|
7. **`ИНДЕКС_ГИППОКАМПА.md`** — навигация (часть ссылок ведёт на `junona_bot.py`, который никогда не существовал — это план интеграции в Telegram-бот, не реальный артефакт).
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Что было «production ready» в доках и реальный статус
|
|||
|
|
|
|||
|
|
| Утверждение в доках | Реальный статус |
|
|||
|
|
|---|---|
|
|||
|
|
| Детектор новизны 12/12 тестов | ✅ Работает (запустить `python3 hippocampus.py --test`) |
|
|||
|
|
| Pattern separation `save_to_stream` | ✅ Работает в `hippocampus.py` |
|
|||
|
|
| Cognitive signature с domain separation | ✅ Работает в `cognitive_signature.py` |
|
|||
|
|
| External hippocampus с DNA hash | ✅ Работает в `external_hippocampus.py` |
|
|||
|
|
| Watchdog 12 сек на 5 узлах | ❌ Только в документации, кода нет |
|
|||
|
|
| База знаний `knowledge/hippocampus.py` | ❌ Папки `knowledge/` нет |
|
|||
|
|
| Интеграция в Telegram-бот Юнона `junona_bot.py` | ❌ Бота не существует в проекте |
|
|||
|
|
| Все компоненты соединены | ❌ До `agent_hippocampus.py` — три несогласованных класса |
|
|||
|
|
|
|||
|
|
`agent_hippocampus.py` закрывает разрыв для use case автономных агентов. Telegram-интеграция и watchdog-инфраструктура — открытые задачи.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Происхождение
|
|||
|
|
|
|||
|
|
Концепция: **12-13 января 2026**, мысль автора в `генезис/архив_мыслей/179. 金元Ɉ - 1 день.md`:
|
|||
|
|
|
|||
|
|
> «Мы собираем ДНК памяти. Внешний гиппокамп, который переживает биологический. Мне надо было как-то сохраниться.»
|
|||
|
|
|
|||
|
|
Расширение под агентов: **апрель 2026**, после анализа болей популяции Moltbook (см. `Монтана/Русский/Разведка/Moltbook/SYNTHESIS.md`).
|