fix(jivo-bot): «не знаю» без кнопки экскурсии + статья про объединение дублей
Живой урок владельца 12.07.2026 («а что такое объединить дубли?»): - LLM признался «в инструкции этого нет» (слабое ИЛИ-совпадение по общим словам), а мы лепили кнопку «Показать на портале» → теперь такой ответ = честная эскалация без кнопок (регэксп-детектор признания) - статья konkurentnoe-pole: «Найти и объединить дубли» 🧹 — пары-двойники, подтверждение клиента, бесплатно, счётчик на кнопке - TDD: тест «не знаю без кнопки», 38/38 зелёные Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -82,6 +82,24 @@ it('вопрос-продолжение: история разговора сп
|
||||
});
|
||||
});
|
||||
|
||||
it('LLM ответил «в инструкции этого нет» → честная эскалация БЕЗ кнопки экскурсии', function () {
|
||||
// Живой урок 12.07.2026: «а что такое объединить дубли?» → слабое совпадение поиска
|
||||
// («что», «такое») → LLM честно сказал «В инструкции этого нет», а мы приляпали
|
||||
// кнопку «Показать на портале». Незнание = эскалация, без кнопок.
|
||||
config()->set('services.jivo_bot.tours_enabled', true);
|
||||
Http::fake([
|
||||
'llm.api.cloud.yandex.net/*' => Http::response([
|
||||
'result' => ['alternatives' => [['message' => ['role' => 'assistant', 'text' => 'В инструкции этого нет.']]]],
|
||||
]),
|
||||
]);
|
||||
|
||||
$answer = app(BotAnswerService::class)->answer('что такое объединить дубли?');
|
||||
|
||||
expect($answer->escalate)->toBeTrue()
|
||||
->and($answer->text)->not->toContain('Показать на портале')
|
||||
->and($answer->text)->toContain('живому специалисту');
|
||||
});
|
||||
|
||||
it('просьба позвать человека → эскалация', function () {
|
||||
Http::fake();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user