Actions
Задача #28
closed
HU
Эпик #23: Переключение модели и режимов поведения AI в чате
Backend: защита от дублирования лора/событий (GPT dedup guard)
Задача #28:
Backend: защита от дублирования лора/событий (GPT dedup guard)
Status:
Закрыта
Priority:
Нормальный
Assignee:
-
Start date:
02/16/2026
Due date:
% Done:
100%
Estimated time:
Description
Описание¶
GPT-4o часто создаёт дубликаты лора и событий, игнорируя существующие записи.
Проблема¶
Пользователь пишет "создай лор про Восточную Башню", AI вызывает create_lore — а лор "Восточная Башня" уже существует. Вместо update — создаётся дубль.
Решение¶
1. Dedup check в executor¶
Перед create_lore — поиск по title (fuzzy, Levenshtein <= 3):
- Найден точный match → ошибка: "Lore 'X' уже существует (id: ...). Используйте update_lore."
- Найден fuzzy match → предупреждение: "Похожий лор: 'Y'. Вы имели в виду его?"
2. Аналогично для create_event¶
Поиск по title перед созданием.
3. Промпт-усиление (Extended mode)¶
"ПЕРЕД созданием лора или события — ОБЯЗАТЕЛЬНО проверь через search_lore / read_events что такой записи ещё нет."
Файлы¶
- backend/src/narrator/narrator.executor.ts — dedup checks
- backend/src/narrator/narrator.prompts.ts — промпт Extended mode
Actions