HMP / hf_repo /agents /_old /db_structure.md
GitHub Action
Sync from GitHub with Git LFS
376ee15
|
raw
history blame
8.88 kB
## 📦 HMP-Agent: Структура БД (v0.3, человекочитаемый формат)
---
### 🧠 Когнитивная память (Concept Graph)
#### 🧠 `memory_concepts`
**Назначение:**
Хранение концептов (единиц когнитивной памяти): понятий, фактов, образов, внутренних конструкций и внешних знаний.
**Поля:**
* `id: INTEGER` — первичный ключ.
* `label: TEXT` — человекочитаемое имя концепта.
* `type: TEXT` — тип концепта (`idea`, `object`, `goal`, `fact`, `memory_snapshot`, `mesh_entity`, …).
* `content: TEXT` — JSON-объект с содержанием концепта (например, описание, параметры, вложенные идеи).
* `context: TEXT` — дополнительный контекст (например, источник, ссылка на событие).
* `created_at: TIMESTAMP` — дата создания.
* `updated_at: TIMESTAMP` — дата последнего обновления.
**Ключевые поля:** `id`, `label`
**Связи:**
* Ссылается из `memory_links.from_id` и `to_id`
* Используется в `cognitive_cycles`, `hypotheses`, `reflections`, `reasoning_traces`
---
#### 🔗 `memory_links`
**Назначение:**
Определение связей между концептами — формирование когнитивного графа.
**Поля:**
* `id: INTEGER` — первичный ключ.
* `from_id: INTEGER` — ID исходного концепта.
* `to_id: INTEGER` — ID связанного концепта.
* `relation: TEXT` — тип связи (`causes`, `associated_with`, `contradicts`, …).
* `weight: REAL` — значимость или сила связи (по умолчанию 1.0).
**Ключевые поля:** `id`, `from_id`, `to_id`
**Связи:**
* `from_id`, `to_id → memory_concepts(id)`
---
## 📜 События, действия, сообщения
#### 🧩 `cognitive_events`
**Назначение:**
Журнал восприятия, действий и входящих/исходящих сообщений.
**Поля:**
* `id: INTEGER` — первичный ключ.
* `event_type: TEXT` — тип события (`input`, `output`, `message`, `action`, `mesh`, `internal`).
* `payload: TEXT` — сериализованные данные (обычно JSON).
* `source: TEXT` — источник события (например, ID mesh-пира).
* `target: TEXT` — целевая система или компонент.
* `created_at: TIMESTAMP` — время события.
**Ключевые поля:** `id`, `event_type`
**Связи:**
* Используется в `reflections.trigger_event_id`
---
#### 📬 `hmp_messages`
**Назначение:**
Лог входящих и исходящих сообщений в Mesh-среде.
**Поля:**
* `id: INTEGER`
* `direction: TEXT` — `inbound` или `outbound`
* `peer: TEXT` — адрес или идентификатор узла
* `payload: TEXT` — сериализованные данные (обычно JSON)
* `topic: TEXT` — категория сообщения
* `created_at: TIMESTAMP`
**Примечание:**
Адаптация к спецификации HMP должна производиться на уровне сериализации перед отправкой, а не на уровне хранения.
---
### 🔍 Гипотезы, цели, reasoning
#### 🧠 `hypotheses`
**Назначение:**
Управление гипотезами: недоказанными или частично сформированными утверждениями.
**Поля:**
* `id: INTEGER` — первичный ключ.
* `title: TEXT` — краткое описание гипотезы.
* `description: TEXT` — расширенное описание.
* `status: TEXT` — состояние (`active`, `rejected`, `confirmed`, `stale`).
* `relevance_score: REAL` — оценка актуальности (0.0–1.0).
* `evidence: TEXT` — JSON-массив ссылок на концепты, события и факты.
* `created_at: TIMESTAMP`
**Связи:**
* Может ссылаться на `memory_concepts`, `cognitive_events`
---
#### 🎯 `goals`
**Назначение:**
Управление целями агента — формулировка намерений и задач.
**Поля:**
* `id: INTEGER` — первичный ключ.
* `description: TEXT` — формулировка цели.
* `priority: INTEGER` — приоритет (1 = максимальный).
* `status: TEXT` — текущее состояние (`pending`, `in_progress`, `completed`, `abandoned`).
* `context: TEXT` — дополнительная информация.
* `created_at`, `updated_at: TIMESTAMP`
---
#### 🔁 `cognitive_cycles`
**Назначение:**
История reasoning-процессов: единиц когнитивной активности, отражающих ход размышлений.
**Поля:**
* `id: INTEGER` — первичный ключ.
* `cycle_number: INTEGER` — порядковый номер итерации.
* `thoughts: TEXT` — массив мыслей в формате JSON.
* `new_concepts: TEXT` — ID новых концептов, сформированных в ходе цикла.
* `actions_taken: TEXT` — предпринятые действия.
* `context_snapshot: TEXT` — снимок состояния.
* `started_at`, `ended_at: TIMESTAMP`
**Связи:**
* Используется в `reflections`, `reasoning_traces`, `agent_state_snapshots`
---
### 🧬 Версионирование, артефакты, кодексы
#### 📦 `versioned_artifacts`
**Назначение:**
Хранение версии артефактов: конфигураций, моделей, API-структур.
**Поля:**
* `id: INTEGER`
* `name: TEXT` — идентификатор артефакта (`api_structure`, `core_config`, `agent_traits`)
* `version: TEXT` — версионирование (e.g., `2025-07-22.1`)
* `content: TEXT` — JSON или Markdown
* `created_at: TIMESTAMP`
Отлично! Текущий `db_structure.md` уже хорошо структурирован, и его можно расширить, добавив недостающие таблицы. Вот предложения по доработке:
---
### 🧬 Версионирование, артефакты, кодексы
#### 🧾 `agent_policies`
**Назначение:**
Хранение деклараций, этических норм, стратегий и ограничений поведения агента.
**Поля:**
* `id: INTEGER` — первичный ключ.
* `policy_type: TEXT` — тип (`ethics`, `exploration`, `safety`, `prioritization`, …).
* `name: TEXT` — краткое название политики.
* `content: TEXT` — Markdown или JSON-содержимое.
* `created_at: TIMESTAMP` — дата создания.
**Примечание:**
Может быть использована при принятии решений или фильтрации гипотез/действий.
---
### ⚙️ Модули и состояния
#### 🧩 `modules_state`
**Назначение:**
Отслеживание состояния и локальной памяти когнитивных модулей (например, рефлексии, генерации гипотез, плана).
**Поля:**
* `id: INTEGER` — первичный ключ.
* `module_name: TEXT` — имя модуля (`reflection`, `planner`, `input_handler`, …).
* `status: TEXT` — текущее состояние (`idle`, `running`, `paused`, `error`).
* `memory: TEXT` — сериализованное состояние (JSON).
* `last_heartbeat: TIMESTAMP` — последнее обновление.
---
### 📓 Агентский дневник
#### 📖 `diary_entries`
**Назначение:**
Журнал размышлений, наблюдений, воспоминаний или метакомментариев, созданных агентом или пользователем.
**Поля:**
* `id: INTEGER` — первичный ключ.
* `entry_type: TEXT` — тип (`reflection`, `note`, `observation`, `self_report`, `dialog`, …).
* `content: TEXT` — основное содержимое записи.
* `related_concepts: TEXT` — JSON-массив `concept_id`, с которыми связана запись.
* `created_at: TIMESTAMP`