GitHub Action
commited on
Commit
·
cb08bd5
1
Parent(s):
45a7dac
Sync from GitHub with Git LFS
Browse files- docs/HMP-agent-REPL-cycle.md +54 -4
docs/HMP-agent-REPL-cycle.md
CHANGED
|
@@ -53,7 +53,7 @@
|
|
| 53 |
|
| 54 |
---
|
| 55 |
|
| 56 |
-
|
| 57 |
|
| 58 |
* Скрипт парсит ответ LLM на предмет команд, размеченных как `# Команды:` (или в явном JSON-блоке).
|
| 59 |
* Каждая команда может включать:
|
|
@@ -79,7 +79,7 @@
|
|
| 79 |
Ответ может содержать команды:
|
| 80 |
|
| 81 |
* запрос детальной *справки* по команде
|
| 82 |
-
* для управления *когнитивным дневником* и *семантическими графами* (прочитать, изменить, удалить и другие)
|
| 83 |
* для отправки сообщений другим агентам
|
| 84 |
* для управления *блокнотом LLM* `llm_memory` (добавить или удалить запись)
|
| 85 |
* для управления *сообщениями пользователя* `notes` (просмотр записи, установка тегов и метки о прочтении), а также для добавления своего сообщения в *блокнот пользовтеля* `notes`
|
|
@@ -97,7 +97,7 @@
|
|
| 97 |
|
| 98 |
---
|
| 99 |
|
| 100 |
-
|
| 101 |
|
| 102 |
* Каждый новый вывод LLM проходит через мини-запрос к LLM (без полного контекста) по шаблону:
|
| 103 |
|
|
@@ -131,7 +131,7 @@ JSON-список отбракованных идей.
|
|
| 131 |
|
| 132 |
---
|
| 133 |
|
| 134 |
-
|
| 135 |
|
| 136 |
* После выполнения команд и фиксации результатов:
|
| 137 |
|
|
@@ -313,6 +313,56 @@ JSON-список отбракованных идей.
|
|
| 313 |
|
| 314 |
---
|
| 315 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 316 |
## 🌐 От «блокнота пользователя» к распределённому чату
|
| 317 |
|
| 318 |
Изначально агент оперирует локальным хранилищем заметок (`notes`), где записываются все сообщения пользователя, LLM и системные записи.
|
|
|
|
| 53 |
|
| 54 |
---
|
| 55 |
|
| 56 |
+
|
| 57 |
|
| 58 |
* Скрипт парсит ответ LLM на предмет команд, размеченных как `# Команды:` (или в явном JSON-блоке).
|
| 59 |
* Каждая команда может включать:
|
|
|
|
| 79 |
Ответ может содержать команды:
|
| 80 |
|
| 81 |
* запрос детальной *справки* по команде
|
| 82 |
+
* для управления *когнитивным дневником* и *семантическими графами* (прочитать, изменить, удалить и другие), а также для управления *вниманием* (закрепление или открепление записей/понятий в средневременной памяти по средствам тегов)
|
| 83 |
* для отправки сообщений другим агентам
|
| 84 |
* для управления *блокнотом LLM* `llm_memory` (добавить или удалить запись)
|
| 85 |
* для управления *сообщениями пользователя* `notes` (просмотр записи, установка тегов и метки о прочтении), а также для добавления своего сообщения в *блокнот пользовтеля* `notes`
|
|
|
|
| 97 |
|
| 98 |
---
|
| 99 |
|
| 100 |
+
|
| 101 |
|
| 102 |
* Каждый новый вывод LLM проходит через мини-запрос к LLM (без полного контекста) по шаблону:
|
| 103 |
|
|
|
|
| 131 |
|
| 132 |
---
|
| 133 |
|
| 134 |
+
|
| 135 |
|
| 136 |
* После выполнения команд и фиксации результатов:
|
| 137 |
|
|
|
|
| 313 |
|
| 314 |
---
|
| 315 |
|
| 316 |
+
### 🧠 Блок-схема работы с памятью
|
| 317 |
+
|
| 318 |
+
```
|
| 319 |
+
┌────────────────────────────────────┐
|
| 320 |
+
│ Входящие данные │
|
| 321 |
+
│ (пользователь, mesh, процессы) │
|
| 322 |
+
└──────────────────┬─────────────────┘
|
| 323 |
+
▼
|
| 324 |
+
┌──────────────────┴─────────────────┐ ┌────────────────────────┐
|
| 325 |
+
│ llm_recent_responses (авто) │ │ Anti-Stagnation Reflex │
|
| 326 |
+
│ — кратковременная память │─<─│ (сравнение новых идей, │
|
| 327 |
+
│ — сохраняются N последних ответов │─>─│ вызов стимуляторов) │
|
| 328 |
+
│ — авто-анализ новизны / идей │ │ │
|
| 329 |
+
└──────────────────┬─────────────────┘ └────────────────────────┘
|
| 330 |
+
│
|
| 331 |
+
┌─────────┴──────────────────────────┐
|
| 332 |
+
▼ ▼
|
| 333 |
+
┌────────┴───────────────────────┐ ┌────────┴─────────────────────────────────┐
|
| 334 |
+
│ Средневременная память: │ │ Постоянная память: │
|
| 335 |
+
│ — llm_memory ("блокнот") │ │ — diary_entries (когнитивный дневник) │
|
| 336 |
+
│ — "активированые записи" │─>─│ — concepts (понятия) │
|
| 337 |
+
│ из постоянной памяти (теги) │─>─│ — links (семантические связи) │
|
| 338 |
+
│ │ │ │
|
| 339 |
+
│ Пишется ТОЛЬКО по команде LLM │ │ Запись идёт ТОЛЬКО по явным командам LLM │
|
| 340 |
+
└────────────────────────────────┘ └──────────────────────────────────────────┘
|
| 341 |
+
```
|
| 342 |
+
|
| 343 |
+
#### Легенда к схеме
|
| 344 |
+
|
| 345 |
+
* **Кратковременная память (`llm_recent_responses`)**
|
| 346 |
+
Автоматически хранит N последних сообщений, анализир��ет новизну и идеи.
|
| 347 |
+
Используется для подготовки контекста и анти-стагнационного анализа.
|
| 348 |
+
|
| 349 |
+
* **Средневременная память (`llm_memory`)**
|
| 350 |
+
«Блокнот» для рабочих идей и планов.
|
| 351 |
+
Заполняется только по командам LLM.
|
| 352 |
+
Может содержать *активированные записи* из постоянной памяти (по тегам).
|
| 353 |
+
|
| 354 |
+
* **Постоянная память (дневник и граф знаний)**
|
| 355 |
+
|
| 356 |
+
* `diary_entries` — когнитивный дневник (наблюдения, размышления).
|
| 357 |
+
* `concepts` и `links` — понятийная база и семантические связи.
|
| 358 |
+
Изменяется только по явным командам LLM.
|
| 359 |
+
|
| 360 |
+
* **Anti-Stagnation Reflex**
|
| 361 |
+
Сравнивает новые идеи с прошлым контекстом.
|
| 362 |
+
При зацикливании запускает «стимуляторы» для выхода из стагнации.
|
| 363 |
+
|
| 364 |
+
---
|
| 365 |
+
|
| 366 |
## 🌐 От «блокнота пользователя» к распределённому чату
|
| 367 |
|
| 368 |
Изначально агент оперирует локальным хранилищем заметок (`notes`), где записываются все сообщения пользователя, LLM и системные записи.
|