У багатьох компаній уже є AI-чатбот, і багато хто ним тихо незадоволений. Він вигадує відповіді, яких немає в документації, відповідає по п’ять секунд, а щомісячний рахунок за API росте. Звична реакція - змінити модель або вкотре переписати промпт. З мого досвіду, модель рідко є причиною. Проблема майже завжди в пошуку, у правилах промпту або в тому, як система викликає модель.
Три симптоми, одна система
Просте запитання: «Скільки днів діє повернення?» Зламаний бот за 4,8 секунди відповідає «Повернення можливе протягом 90 днів без жодних питань». Звучить упевнено, але цього немає у ваших правилах. Виправлений бот відповідає «Повернення доступне протягом 60 днів після покупки», посилається на Refund-Policy.pdf, сторінка 2, і робить це за 1,4 секунди. Та сама модель, ті самі документи. Різниця - в інженерії: що модель отримує, що їй дозволено казати і скільки роботи виконується на кожен запит.
Хибні відповіді - зазвичай проблема пошуку
Коли бот вигадує, модель здебільшого не отримала потрібного фрагмента або отримала його серед нерелевантних. Я перевіряю, як документи розбираються й діляться на фрагменти, чи поєднує пошук ключові слова та семантику, чи ставить reranker найкращий фрагмент першим і чи не лишилися в індексі застарілі документи. Далі промпт робить опору на джерела правилом: відповідати лише з наданих джерел, посилатися на них, а за браку даних чесно про це казати або передавати розмову людині. Посилання дають користувачам змогу перевірити відповідь, а вам - побачити, який саме документ спричинив помилку.
Повільні відповіді: куди йдуть секунди
Затримка рідко буває однією великою проблемою - це кілька дрібних, що складаються. Послідовні виклики, які могли б іти паралельно, велика модель для простої класифікації, тридцять знайдених фрагментів там, де вистачило б п’яти, і відсутність стрімінгу, через що користувач дивиться на порожню бульбашку. Я вимірюю кожен крок окремо й починаю з найбільшого: стрімінг відповіді, паралельні незалежні кроки, кеш для того, що повторюється, і маршрутизація простих запитів на меншу, швидшу модель.
Великі рахунки за API: оплата токенів, які нікому не потрібні
З вартістю те саме. Більшість рахунків роздуває контекст, якого там не має бути: повна історія чату, завеликі результати пошуку, багатослівні системні промпти й найдорожча модель на кожен запит. Prompt caching для сталої частини промпту, скорочена або підсумована історія, менші результати пошуку й маршрутизація за складністю часто суттєво зменшують рахунок без втрати якості. Вартість логується на кожну розмову й функцію, тож економію видно, а регресії - ловляться.
Як я це виправляю: аудит, пошук, промпти, вартість, звіт
| Крок | Що я роблю | Що ви отримуєте |
|---|---|---|
| Аудит | Збираю реальні розмови, створюю набір оцінювання, вимірюю точність, затримку й вартість | Базову точку для порівняння |
| Пошук | Виправляю розбір документів, фрагментацію, гібридний пошук і reranking; додаю посилання на джерела | Відповіді, що спираються на ваші документи |
| Промпти | Переписую системний промпт як контракт поведінки з запасними сценаріями й передачею людині | Менше вигадок і чесне «я не знаю» |
| Вартість | Prompt caching, маршрутизація моделей, ліміти контексту, логування вартості | Нижчий і передбачуваний рахунок за API |
| Звіт | Цифри до і після на тому самому тестовому наборі | Доказ покращення та тести, які лишаються вам |
До аудиту нічого не змінюється. Без базової точки кожне виправлення - лише думка. З нею кожну зміну промпту, пошуку чи моделі можна за хвилини перевірити на тих самих реальних запитаннях, і цей набір тестів лишається у вас після завершення роботи.
Найміть мене, щоб виправити ваш чатбот
Я Senior Full-Stack AI Engineer: 11+ років у розробці, 100% Job Success і понад $200K заробітку на Upwork. Працюю з усією системою, а не лише з промптом: пайплайни даних, бекенд, фронтенд, деплой і моніторинг. І лишаюся після виправлення. Я віддаю перевагу довгостроковій співпраці, бо чатбот потребує постійної уваги, коли змінюються ваші документи, продукти й моделі.
Якщо ваш чатбот дає хибні відповіді, повільно відповідає або забагато коштує, надішліть мені кілька прикладів розмов і короткий опис стеку. Я скажу, де найімовірніше проблема і що знадобиться, щоб її виправити.
Дайте наступному продукту того, хто лишається.
Готовий стартувати зараз і лишитись. Довготермінові ретейнери, не злив за два тижні. Напишіть - обговоримо проєкт, вимоги і як рухатись далі.