9cfb7d1c3b
Производный профиль (без LLM): слабые предметы, трудные темы экзамена, цель/дата, серия — из test_sessions/exam_attempts/exam_user_plan. Подмешивается в системный промпт → персональные ответы; такие не кэшируются глобально. Заметки: таблица assistant_memory + фоновый LLM-экстрактор (дросселирован), дедуп + лимит 15. Панель ученика «Что я о тебе помню» (профиль + заметки, удаление). Админ-тумблер. API GET/DELETE /assistant/memory (/:id под authMiddleware, владелец проверяется в хендлере). Заодно: сверка стабильного baseline route-auth 56→66 (долг от branch-merge, хук не идёт на merge) — новых незащищённых маршрутов не добавлено. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
14 lines
800 B
SQL
14 lines
800 B
SQL
-- Долгая память Квантика об ученике: короткие устойчивые заметки
|
|
-- (трудности/предпочтения/цели). Производный профиль считается на лету.
|
|
CREATE TABLE IF NOT EXISTS assistant_memory (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
user_id INTEGER NOT NULL,
|
|
kind TEXT NOT NULL DEFAULT 'note', -- note | difficulty | preference | goal
|
|
text TEXT NOT NULL,
|
|
weight REAL NOT NULL DEFAULT 1,
|
|
source TEXT NOT NULL DEFAULT 'extractor', -- extractor | signal | manual
|
|
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
);
|
|
CREATE INDEX IF NOT EXISTS idx_assistant_memory_user ON assistant_memory(user_id);
|