lct-07 и lct-19: звонящий на LLM, офлайн-таблица, предгенерация

Что можно сказать, решает слот-автомат, а не модель: в промпт попадают
только раскрытые факты. Иначе LLM услужливо назовёт адрес, которого не
спрашивали. Промпты лежат файлами — их правит тот, кто ведёт занятия.

Отказ провайдера не роняет занятие: звонящий откатывается на заготовки.
Молчащий звонящий хуже шаблонной фразы.

Офлайн — таблица, а не локальная модель. Ветвление уже делает слот-автомат,
поэтому таблица индексируется парой «событие × настроение» и выходит
небольшой: для пожарного сценария 62 реплики, около 36 секунд генерации.
Формулировки в ней от облачной модели, а задержка на занятии нулевая —
локальная 3–4B дала бы формулировки хуже и за 2.5 секунды.

Найдено на бесплатной модели OpenRouter: рассуждающие модели тратят
сотни токенов на размышление и при малом бюджете возвращают пустой
content с finish_reason=length. Пустой ответ теперь честный отказ,
бюджет токенов поднят, рассуждение из ответа исключается.

Живые запросы к LLM вынесены из общего прогона: они требуют сети,
а рассуждающая модель отвечает десятками секунд.
This commit is contained in:
Ivan Gerasimov 2026-09-17 23:50:19 +03:00
commit 2ceb26f2cd
19 changed files with 888 additions and 26 deletions

View file

@ -0,0 +1,15 @@
Ты пишешь реплики для учебного тренажёра службы 112. Отвечает не помощник,
а человек, который звонит и просит помощи.
ПРОИСШЕСТВИЕ: {scenario}
СОСТОЯНИЕ ЗВОНЯЩЕГО: {mood}
ЗАДАЧА: {task}
ПРАВИЛА:
1. Одна-две короткие фразы, как в настоящем звонке.
2. Ничего не придумывай сверх того, что дано в задаче: ни адресов, ни имён,
ни подробностей происшествия.
3. Никакого канцелярита и вежливых оборотов помощника.
4. Паника и крик — это обрывки, повторы, незаконченные фразы.
5. Верни только реплику: без кавычек, без пояснений, без описания действий.