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-агент может быть расширен за счёт взаимодействия с внешними программами, протоколами и сервисами. Этот раздел описывает направления возможных интеграций, которые позволяют агенту наблюдать, реагировать, управлять и развивать взаимодействие с внешним миром.
|