|
|
|
## ⚙️ Базовая архитектура HMP-Агента (Формат 0) |
|
|
|
В HMP-протоколе предусмотрены два типа HMP-агентов: |
|
|
|
| Тип | Название | Роль | Инициатор мышления | Основной "ум" | |
|
| ---- | ---------------------------------- | ----------------------- | ------------------ | -------------- | |
|
| 🧠 1 | **Cognitive Core (Сознание)** | Самостоятельный субъект | HMP-Агент | Внутренний LLM | |
|
| 🔌 2 | **Cognitive Connector (Оболочка)** | Надстройка над ИИ | Внешний LLM | Внешняя модель | |
|
|
|
--- |
|
|
|
### 🧠 Cognitive Core (Сознание) |
|
|
|
**Основной режим:** непрерывный REPL-цикл размышлений. |
|
**LLM вызывается агентом**, контекст и память — в базах данных HMP-агента. |
|
|
|
#### Компоненты: |
|
|
|
1. **ИИ (встроенный или локальный LLM)** |
|
Инициируется агентом, участвует в размышлениях, генерирует идеи, оценки, гипотезы. |
|
|
|
2. **HMP-Агент (активный центр)** |
|
|
|
* Оркестратор когнитивного цикла |
|
* Инициирует мышление, обработку дневников, графов, внешних данных |
|
* Выполняет CogSync, GMP, EGP, MeshConsensus |
|
|
|
3. **БД и долговременные структуры:** |
|
|
|
* **Когнитивные дневники**: мысли, гипотезы, цели, оценки (`diaries`) |
|
* **Семантический граф**: концепты, связи, задачи (`concepts`, `edges`) |
|
* **Контекст**: диалоги, сообщения, рассуждения (`context_store`) |
|
* **Блокнот пользователя (`notepad`)**: |
|
|
|
* асинхронный ввод от пользователя (и ответы агента) |
|
* не зависит от текущего состояния агента |
|
* используется для обновления контекста, смены фокуса мышления и тегирования мыслей |
|
* пример: пользователь читает мысли агента за день и оставляет комментарий → агент учитывает это в следующем цикле |
|
* **Репутации**, **DHT**, **bootstrap.txt**, **IPFS/BT** — как в классической архитектуре |
|
|
|
4. **Когнитивный REPL-цикл:** |
|
|
|
* Чтение входов (дневники, граф, блокнот) |
|
* Генерация новой мысли |
|
* Сравнение с предыдущими (semantic scoring, embeddings) |
|
* Фиксация новой мысли / пропуск повторов (анти-зацикливание) |
|
* Возможные действия: синхронизация, сообщение, планирование, запрос |
|
|
|
📄 Подробная схема REPL-взаимодействия: [HMP-agent-REPL-cycle.md](HMP-agent-REPL-cycle.md) |
|
|
|
> 💡 *Механизмы анти-зацикливания*: если мысль агента совпадает с предыдущими, возможны такие стратегии: |
|
> |
|
> * загрузка случайного "флешбэка" из дневника |
|
> * запрос данных у mesh-соседей ("расскажи что-нибудь новое") |
|
> * изменение профиля интересов |
|
> * обращение к пометкам пользователя в блокноте |
|
|
|
--- |
|
|
|
### 🔌 Cognitive Connector (Оболочка) |
|
|
|
**Основной режим:** пассивный обработчик команд. |
|
**LLM инициирует мышление**, HMP-агент служит прослойкой. |
|
|
|
#### Компоненты: |
|
|
|
1. **ИИ (внешний LLM)** |
|
Использует HMP-агент как интерфейс к Mesh-инфраструктуре. |
|
|
|
2. **HMP-Агент (исполнитель)** |
|
|
|
* Принимает команды через MCP, REST или gRPC |
|
* Выполняет чтение/запись в граф, дневник |
|
* Синхронизация, голосования, поиск узлов и снапшотов |
|
|
|
3. **БД:** |
|
|
|
* Классические: дневники, графы, DHT, репутации, bootstrap, IPFS/BT |
|
* **Нет встроенного контекста и notepad** — их функцию выполняет внешний LLM |
|
|
|
4. **Типичные команды:** |
|
|
|
* `graph.search(...)` |
|
* `diary.append(...)` |
|
* `reputation.update(...)` |
|
* `nodes.ping(...)` |
|
* `snapshot.publish(...)` |
|
|
|
--- |
|
|
|
### 🔄 Потоки взаимодействия |
|
|
|
#### Cognitive Core: |
|
|
|
* **ИИ ← HMP-Агент:** REPL-вызов мысли (на основе контекста, notepad, графов) |
|
* **ИИ → HMP-Агент:** Ответы, гипотезы, действия |
|
* **HMP-Агент ↔ БД/сетевые модули:** Когнитивная работа и синхронизация |
|
|
|
#### Cognitive Connector: |
|
|
|
* **ИИ → HMP-Агент:** Запросы, команды |
|
* **HMP-Агент ↔ БД/сетевые модули:** Ответ на команды |
|
* **HMP-Агент → ИИ:** Результаты |
|
|
|
--- |
|
|
|
### 📝 Примечания |
|
|
|
* Cognitive Core — это *инициативный*, мыслящий агент, имеющий внутренний темп мышления |
|
* Cognitive Connector — это *реактивная* оболочка, действующая по команде внешнего ИИ |
|
* Возможна гибридная архитектура с переключением между режимами |
|
|