Project

General

Profile

Actions

Задача #28

closed
HU

Эпик #23: Переключение модели и режимов поведения AI в чате

Backend: защита от дублирования лора/событий (GPT dedup guard)

Задача #28: Backend: защита от дублирования лора/событий (GPT dedup guard)

Added by Hardelele User about 8 hours ago. Updated about 3 hours ago.

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

Also available in: PDF Atom