Files
Learn_System/backend/src/db/migrations/067_assistant_memory.sql
T
Maxim Dolgolyov 9cfb7d1c3b feat(assistant): долгая память об ученике (персонализация)
Производный профиль (без 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>
2026-06-11 22:51:04 +03:00

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);