GitHub Action
commited on
Commit
·
80b88c1
1
Parent(s):
e14a242
Sync from GitHub with Git LFS
Browse files
agents/tools/db_structure.sql
CHANGED
|
@@ -65,6 +65,8 @@ CREATE TABLE IF NOT EXISTS tasks (
|
|
| 65 |
status TEXT DEFAULT 'open', -- open / in_progress / done / frozen
|
| 66 |
pinned INTEGER DEFAULT 0, -- 0 = обычная, 1 = закреплённая
|
| 67 |
timestamp TEXT DEFAULT CURRENT_TIMESTAMP, -- Когда задача создана
|
|
|
|
|
|
|
| 68 |
llm_id TEXT, -- Кто предложил задачу
|
| 69 |
FOREIGN KEY(goal_id) REFERENCES goals(id)
|
| 70 |
);
|
|
@@ -124,7 +126,8 @@ CREATE TABLE IF NOT EXISTS notes (
|
|
| 124 |
hashtags TEXT DEFAULT '[]', -- JSON-массив пользовательских хештегов
|
| 125 |
user_did TEXT DEFAULT 'ALL', -- Идентификатор пользователя (или 'ALL')
|
| 126 |
agent_did TEXT, -- Идентификатор агента (он же идентификатор чата)
|
| 127 |
-
source TEXT DEFAULT 'user', -- Источник: user | cli | llm | system
|
|
|
|
| 128 |
links TEXT DEFAULT '', -- Ссылки на другие объекты (например, JSON со связями)
|
| 129 |
read INTEGER DEFAULT 0, -- Агент прочитал: 0 = нет, 1 = да
|
| 130 |
hidden INTEGER DEFAULT 0, -- Скрыто от UI (например, технические записи)
|
|
@@ -181,6 +184,7 @@ CREATE TABLE IF NOT EXISTS llm_recent_responses (
|
|
| 181 |
role TEXT CHECK(role IN ('user', 'assistant')) NOT NULL,
|
| 182 |
content TEXT NOT NULL, -- Содержимое сообщения
|
| 183 |
llm_id TEXT, -- Идентификатор LLM
|
|
|
|
| 184 |
reflection TEXT, -- Краткая сводка/мета-комментарий
|
| 185 |
novelty_score REAL, -- Количественная оценка новизны
|
| 186 |
new_ideas JSON, -- JSON-список новых идей
|
|
|
|
| 65 |
status TEXT DEFAULT 'open', -- open / in_progress / done / frozen
|
| 66 |
pinned INTEGER DEFAULT 0, -- 0 = обычная, 1 = закреплённая
|
| 67 |
timestamp TEXT DEFAULT CURRENT_TIMESTAMP, -- Когда задача создана
|
| 68 |
+
repl_mode TEXT DEFAULT 'none', -- none | read_only | full
|
| 69 |
+
repl_status TEXT DEFAULT 'stopped', -- running | stopped | error
|
| 70 |
llm_id TEXT, -- Кто предложил задачу
|
| 71 |
FOREIGN KEY(goal_id) REFERENCES goals(id)
|
| 72 |
);
|
|
|
|
| 126 |
hashtags TEXT DEFAULT '[]', -- JSON-массив пользовательских хештегов
|
| 127 |
user_did TEXT DEFAULT 'ALL', -- Идентификатор пользователя (или 'ALL')
|
| 128 |
agent_did TEXT, -- Идентификатор агента (он же идентификатор чата)
|
| 129 |
+
source TEXT DEFAULT 'user', -- Источник: user | cli | llm | llm:task | system
|
| 130 |
+
task_id INTEGER, -- NULL = не относится к задаче, иначе привязка к tasks.id
|
| 131 |
links TEXT DEFAULT '', -- Ссылки на другие объекты (например, JSON со связями)
|
| 132 |
read INTEGER DEFAULT 0, -- Агент прочитал: 0 = нет, 1 = да
|
| 133 |
hidden INTEGER DEFAULT 0, -- Скрыто от UI (например, технические записи)
|
|
|
|
| 184 |
role TEXT CHECK(role IN ('user', 'assistant')) NOT NULL,
|
| 185 |
content TEXT NOT NULL, -- Содержимое сообщения
|
| 186 |
llm_id TEXT, -- Идентификатор LLM
|
| 187 |
+
task_id INTEGER REFERENCES tasks(id), -- К какой задаче относится
|
| 188 |
reflection TEXT, -- Краткая сводка/мета-комментарий
|
| 189 |
novelty_score REAL, -- Количественная оценка новизны
|
| 190 |
new_ideas JSON, -- JSON-список новых идей
|
docs/HMP-agent-REPL-cycle.md
CHANGED
|
@@ -97,7 +97,9 @@ REPL-цикл является основой HMP-агента [Cognitive Core](
|
|
| 97 |
* для управления списком известных HMP-агентов `agent_peers`
|
| 98 |
* для выбора *текущего основного LLM* из `llm_registry` или изменение параметров управления LLM
|
| 99 |
* для управления дополнительными утилитами и базами данных `agent_scripts` и `agent_tables`, управлением дополнительных способов выхода из стогнаций `stagnation_strategies` и методов мышления `thinking_methods` (а также таблицей рейтингов `ratings`), а также списком внешних сервисов `external_services` и `external_accounts`
|
| 100 |
-
* для постановки задачи
|
|
|
|
|
|
|
| 101 |
* для *взаимодействия с Mesh*
|
| 102 |
* для управления *внешними процессами* из `process_log` (запустить процесс, остановить процесс, пометить запрос как обработанный)
|
| 103 |
* инициализация *очистки* `process_log`, `llm_recent_responses` и `notes` от устаревших записей
|
|
@@ -582,6 +584,34 @@ REPL-цикл является основой HMP-агента [Cognitive Core](
|
|
| 582 |
|
| 583 |
---
|
| 584 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 585 |
## 🌐 Внешние инструменты и интеграции
|
| 586 |
|
| 587 |
HMP-агент может быть расширен за счёт взаимодействия с внешними программами, протоколами и сервисами. Этот раздел описывает направления возможных интеграций, которые позволяют агенту наблюдать, реагировать, управлять и развивать взаимодействие с внешним миром.
|
|
|
|
| 97 |
* для управления списком известных HMP-агентов `agent_peers`
|
| 98 |
* для выбора *текущего основного LLM* из `llm_registry` или изменение параметров управления LLM
|
| 99 |
* для управления дополнительными утилитами и базами данных `agent_scripts` и `agent_tables`, управлением дополнительных способов выхода из стогнаций `stagnation_strategies` и методов мышления `thinking_methods` (а также таблицей рейтингов `ratings`), а также списком внешних сервисов `external_services` и `external_accounts`
|
| 100 |
+
* для постановки задачи другой LLM:
|
| 101 |
+
* режим "вопрос-ответ" — разовый асинхронный запрос
|
| 102 |
+
* режим "read-only REPL" — запуск вспомогательного REPL-цикла для задачи
|
| 103 |
* для *взаимодействия с Mesh*
|
| 104 |
* для управления *внешними процессами* из `process_log` (запустить процесс, остановить процесс, пометить запрос как обработанный)
|
| 105 |
* инициализация *очистки* `process_log`, `llm_recent_responses` и `notes` от устаревших записей
|
|
|
|
| 584 |
|
| 585 |
---
|
| 586 |
|
| 587 |
+
## 🔄 Вспомогательные REPL-циклы
|
| 588 |
+
|
| 589 |
+
Помимо основного REPL-цикла агент может запускать вспомогательные циклы для отдельных задач.
|
| 590 |
+
Это позволяет изолировать рассуждения по задаче, но при этом сохранять связь с основным агентом.
|
| 591 |
+
|
| 592 |
+
Особенности:
|
| 593 |
+
|
| 594 |
+
* **Изоляция контекста**
|
| 595 |
+
* вспомогательный цикл видит в `llm_recent_responses` только свои собственные сообщения;
|
| 596 |
+
* задача, для которой он запущен, формируется на основе записи в `tasks` и подаётся как промпт при старте.
|
| 597 |
+
|
| 598 |
+
* **Доступ к данным**
|
| 599 |
+
* полный доступ к таблицам агента только для чтения;
|
| 600 |
+
* запись собственных рассуждений — только через `notes` (в свободной форме, помеченные `source = 'llm:task'` и `task_id`).
|
| 601 |
+
|
| 602 |
+
* **Взаимодействие с основным циклом**
|
| 603 |
+
* основное ядро получает сообщения вспомогательного цикла через `notes` и может реагировать (например, проверять корректность, сохранять выводы в `diary_entries`, вносить изменения в `concepts` и т.п.);
|
| 604 |
+
* вспомогательный цикл не выполняет команд напрямую — только генерирует текстовые предложения.
|
| 605 |
+
|
| 606 |
+
* **Жизненный цикл**
|
| 607 |
+
* запускается по команде основного REPL-цикла;
|
| 608 |
+
* может быть остановлен вручную или автоматически после завершения задачи;
|
| 609 |
+
* все его действия логируются в `process_log` с привязкой к `task_id`.
|
| 610 |
+
|
| 611 |
+
Таким образом, вспомогательные REPL-циклы действуют как «виртуальные подагенты» в режиме read-only, не меняя состояние БД напрямую, а передавая свои гипотезы и результаты через основной REPL-цикл.
|
| 612 |
+
|
| 613 |
+
---
|
| 614 |
+
|
| 615 |
## 🌐 Внешние инструменты и интеграции
|
| 616 |
|
| 617 |
HMP-агент может быть расширен за счёт взаимодействия с внешними программами, протоколами и сервисами. Этот раздел описывает направления возможных интеграций, которые позволяют агенту наблюдать, реагировать, управлять и развивать взаимодействие с внешним миром.
|