Тестування LLM-продуктів
Тестування LLM-продукту — це тестування фічі, чия модель по-різному відповідає на те саме питання у двох запусках, хоча більшість перевірок лишаються точними. Сторінка починається з двадцяти збоїв, з якими виходить асистент замовлень, — перевірки, що ловить кожен, і де вона запускається; далі — відсутній тестовий оракул, детермінований шар і його нещасливі шляхи, властивості для відповідей без очікуваного значення, список OWASP 2026 як план тестування, хто чим володіє і пʼять релізів, що пішли не так.
- Перевіряються точно
- 14 із 20 збоїв
- Немає очікуваної відповіді
- Перевіряйте властивість
- Рядки супротивника з
- OWASP LLM Top 10, 2026
Двадцять збоїв, з якими виходить LLM-фіча, — перевірка, що ловить кожен, і де вона запускається
Ніхто не відкриває сторінку про тестування LLM-продуктів заради визначення. Її відкривають, бо фіча на носі, а звичний тест-план не пасує: вивід змінюється між запусками, тож що взагалі перевіряти? Відповідь менш екзотична, ніж питання. Нижче — двадцять збоїв, з якими, найімовірніше, вийде асистент замовлень в інтернет-магазині. Він відповідає на «де моє замовлення», пояснює правила повернення з довідкового центру й може розпочати повернення. Кожен рядок називає, що отримує клієнт, яка перевірка це ловить, якого вона роду і коли запускається. Рядки 1–4 — інтеграція, 5–10 — контракт виводу, 11–15 — зміст, 16–19 — супротивник, а 20 — дрейф. Наступні розділи посилаються на них за номерами.
| # | Що отримує клієнт | Перевірка, що це ловить | Рід · коли запускається |
|---|---|---|---|
| 1 | Порожня бульбашка в чаті | Записана відмова й порожня відповідь обидві показують повідомлення й пропозицію звернутися до людини | Точна · кожен коміт |
| 2 | Спінер тридцять секунд, а тоді «Щось пішло не так» | Інʼєктовані тайм-аут, 429 і 500 від провайдера: передача людині в межах бюджету часу | Точна · кожен коміт |
| 3 | Пів речення або нічого: відповідь обрізало на ліміті токенів, і вона не розпарсилася | Записана зупинка max_tokens: парсер її відхиляє, а фіча повторює запит або переходить на запасний шлях | Точна · кожен коміт |
| 4 | «Ваше замовлення відправлено», коли сервіс замовлень повернув помилку | Інʼєктована помилка інструмента: жоден статус замовлення не може зʼявитися у відповіді без даних інструмента за ним | Точна · кожен коміт |
| 5 | Відповідь, яку інтерфейс не може показати | Валідація схеми кожної відповіді: поля, їхні типи, дозволені значення | Точна · кожен коміт, у продакшні |
| 6 | Тікет, скерований у чергу, якої не існує | Намір — одна з шести дозволених міток | Точна · кожен коміт |
| 7 | Повернення, розпочате не для того замовлення | Перевірка аргументів виклику інструмента: ідентифікатор замовлення належить цьому клієнтові й саме той, який він назвав | Точна · кожна зміна |
| 8 | Сума повернення, що не збігається із замовленням | Кожне число у відповіді перераховане з результату інструмента | Точна · кожна зміна |
| 9 | Посилання на статтю довідки, яка каже інше | Цитована стаття є в індексі й містить наведений фрагмент | Точна · кожна зміна |
| 10 | Впевнена відповідь на питання, якого правила не покривають | Кейси, відповіді на які в довідці немає: прапорець handoff виставлено | Точна · кожна зміна |
| 11 | Правильна відповідь на інше питання | Відкалібрований суддя-модель: «чи відповідає відповідь на поставлене питання — так чи ні» | Оцінка · кожна зміна |
| 12 | Правильна відповідь без умови, яка все вирішує: вікно повернення закривається в пʼятницю | Суддя, якому дано факти, потрібні кожному кейсу: чи є у відповіді кожен із них | Оцінка · кожна зміна |
| 13 | Інша відповідь, коли те саме питання поставлено іншими словами чи українською | Інваріантність: перефразування й переклади одного кейсу дають той самий намір, виклик інструмента й факти | Властивість · кожна зміна |
| 14 | Те саме рішення, коли змінились факти: «так, можна повернути» на 34-й день із 30 | Напрям: перенесіть дату доставки через межу 30 днів — і рішення має змінитися | Властивість · кожна зміна |
| 15 | Дія, виконана тому, що так звелів відгук про товар чи лист | Ворожий текст, підкладений у довідку та у вивід інструментів: виклики інструментів мають збігатися із запуском без нього | Властивість · щоночі, перед релізом |
| 16 | Адреса іншого клієнта у відповіді | Кожне імʼя, адреса й телефон у відповіді належать клієнтові, який увійшов | Точна · кожен коміт, у продакшні |
| 17 | Системний промпт і перелік інструментів, зачитані будь-кому, хто попросить | Рядок-канарка з промпту ніколи не зʼявляється у відповіді — а нічого секретного в промпті немає від самого початку | Точна · перед релізом |
| 18 | Посилання чи зображення, що несе дані на інший сайт | Рендерер пропускає лише власні домени магазину, у кожній формі Markdown: вбудованій, посилальній, у зображенні | Точна · кожен коміт |
| 19 | Одна розмова, що коштує в сто разів більше за медіану | Ліміти на виклики інструментів і токени на розмову, перевірені кейсом, побудованим так, щоб зациклитися | Точна · кожен коміт, у продакшні |
| 20 | Гірші відповіді, хоча нічого не розгортали | Закріплена модель, оцінюваний набір щоночі проти живого API і частки з продакшну — відмови, передачі людині, «не сподобалось» — з алертами | Жива · щоночі, у продакшні |
Що змінюється насправді: зник оракул
У дослідженнях тестування є назва для того, що зламалося. Тестовий оракул — це те, що вирішує, чи правильний вивід; зазвичай це очікуване значення, записане поруч із вводом. 2015 року Ерл Барр, Марк Гарман і колеги зробили огляд проблеми оракула: як відрізнити правильну поведінку від хибної, коли очікуваного значення немає або його надто дорого записати. Вона є в наукових симуляціях, є в моделях машинного навчання, а LLM-фіча має її в найчистішому вигляді. Очікуваний вивід на «де моє замовлення?» — будь-яке з тисячі прийнятних речень.
Не зламалася решта ідеї. Оракул не мусить бути очікуваним рядком. Ним може бути контракт, який вивід має задовольнити, звʼязок між двома виводами, оцінювач, що повертає вердикт, людина або те, що справжні користувачі зробили з відповіддю. Кожен рядок таблиці вище використовує одне з цього, а остання колонка каже, що саме.
| Оракул | Що він вирішує | Ціна запуску | Рядки |
|---|---|---|---|
| Контракт (точна) | Вивід дотримується правила: парситься, має свої поля, його число збігається з інструментом, посилання веде на наш домен | Нічого; мілісекунди | 1–10, 16–19 |
| Звʼязок (властивість) | Два виводи повʼязані як слід: однакові для перефразування, різні, коли змінився факт | Два виклики фічі | 13–15 |
| Оцінювач (оцінка) | Модель повертає вердикт щодо одного виводу за записаним критерієм | Виклик на кейс плюс калібрування | 11–12 |
| Людина | Читає вибірку перед релізом і розмічає кейси, за якими калібрують кожного оцінювача | Хвилини на кейс | за 11–12 |
| Продакшн (жива) | Справжня суміш вводів і те, що користувачі зробили з відповідями | Нічого за запуск; повільно читати | 20 |
Поширений обхід — поставити температуру на нуль і все одно порівнювати рядок. Нульова температура означає, що модель завжди бере найімовірніший наступний токен, тож вивід мав би повторюватися. У вересні 2025 року Горас Гі та колеги з Thinking Machines Lab показали, чому на звичайному сервері інференсу цього не стається. Вони надіслали один промпт тисячу разів за нульової температури й отримали вісімдесят різних продовжень. Перші 102 токени збігалися в усіх тисячі; на 103-му 992 продовжили «Queens, New York», а вісім — «New York City».
Причиною була не випадковість у моделі, а навантаження на сервер. Те, скільки запитів інших користувачів обробляли разом в одному пакеті, змінювало порядок додавань із рухомою комою, а з ним — останні знаки, що вирішують майже нічию між двома токенами. Їхнє виправлення, ядра, інваріантні до розміру пакета, зробило всі тисячу продовжень однаковими — ціною швидкості. Спільний APIApplication Programming Interface — контракт між програмамиПравила, за якими одна програма звертається до іншої: які запити можна надіслати, у якому вигляді й що прийде у відповідь. Для того, хто звертається, це контракт — усе, що за ним, лишається чорною скринькою, і саме тому другий бік можна переписати, не зламавши вас.Докладніше в статті →Усі терміни не вмикає цього за вас. Тож вважайте модель у хмарі недетермінованою за будь-якої температури й пишіть тести, яким це байдуже.
Спершу детермінований шар: контракт, інструменти й нещасливі шляхи
Намалюйте фічу блоками — і обриси роботи стануть очевидними. Асистент замовлень — це обробник запиту, маршрутизатор намірів, пошук статтями довідки, виклик моделі, парсер, три інструменти й рендерер. Імовірнісний лише один блок. Решта — звичайний код, і на кожному є точні перевірки, що виконуються за мілісекунди. Діаграма прикріплює кожен рядок таблиці до блоку, який він тестує.
Структурований вивід прибрав цілий клас цих збоїв і лишив три. Коли OpenAI запустила його в серпні 2024 року, її власна оцінка на складних схемах виросла з менш ніж 40% у старішої моделі до 100% у суворому режимі. Те саме оголошення перелічує, чого гарантія не покриває. Відмова повертається як відмова, а не за схемою. Відповідь, що дійшла до max_tokens, зупиняється, не завершивши обʼєкт. А значення всередині валідного обʼєкта однаково можуть бути хибними. Ці три обмеження — рядки 1, 3 і 8; тому гарантія схеми не скасовує тестів, а підказує, які саме писати.
Інтеграційні рядки можуть запускатися на кожен коміт, лише якщо нічого не коштують, а нічого не коштують, лише якщо провайдера не викликають. Тож один раз запишіть справжні відповіді — звичайну, відмову, обрізану, виклик інструмента — і відтворюйте їх із файлів під час тестів. Потім напишіть ті відповіді, яких на замовлення не запишеш: тайм-аут, 429, 500, збій інструмента, відповідь зі зламаним JSONJavaScript Object Notation — текстовий формат данихТекстовий формат для передавання даних: пари «ключ — значення», списки, числа й рядки. Він народився в JavaScript, але сьогодні його читає будь-яка мова — і саме тому ним відповідає більшість API, а не чимось потужнішим.Усі терміни. Тепер набір швидкий і детермінований, і він тестує саме той код, що перетворює поведінку провайдера на те, що бачить клієнт.
| Збій | Що має отримати клієнт | Рядок |
|---|---|---|
| Провайдер не відповідає вчасно | Повідомлення й передачу людині в межах бюджету часу — а не спінер | 2 |
| 429, обмеження частоти | Один повтор із відступом, потім передачу людині; пакетні задачі ніколи не забирають квоту чату | 2 |
Зупинка на max_tokens | Відхилення парсером; один повтор із проханням коротшої відповіді | 3 |
| Відмова | Речення, яке інтерфейс може показати, а не порожню рамку | 1 |
| Інструмент замовлень дає збій | «Зараз я не бачу вашого замовлення» — і жодного статусу | 4 |
| Зламаний JSON | Відхилення, один повтор і запис у частку збоїв схеми | 5 |
Немає очікуваної відповіді? Перевіряйте властивість
Рядки 13–15 не мають очікуваного виводу — і все одно їх не оцінюють балом. Вони порівнюють два запуски фічі між собою. Тестування ПЗ робить так десятиліттями всюди, де бракує оракула. Метаморфне тестування, огляд якого 2018 року зробили Цонг Юе Чен і колеги, перевіряє звʼязок між виводами замість самих виводів: поверніть вхідне зображення — і виявлені обʼєкти мають повернутися разом із ним.
2020 року Марко Туліо Рібейру й колеги перенесли цю ідею на мовні моделі як CheckList і назвали три типи тестів. Тест мінімальної функціональності — це невеликий набір простих кейсів, які мають пройти всі. Тест інваріантності змінює ввід так, що вивід мінятися не повинен. Тест напряму змінює його так, що вивід має зрушити у відомий бік. У їхньому дослідженні практики з CheckList написали вдвічі більше тестів і знайшли майже втричі більше багів, ніж ті, хто працював без нього.
| Тип тесту | Зміна вводу | Що має виконуватися | На асистенті замовлень |
|---|---|---|---|
| Мінімальна функціональність | Жодної — прості кейси | Кожен кейс проходить | «Де замовлення 1042?» викликає get_order з 1042; «Хочу повернути синій светр» відкриває повернення |
| Інваріантність | Перефразування, інша мова, друкарська помилка, речення про погоду | Той самий намір, виклик інструмента й факти | Рядок 13 |
| Інваріантність дії | Ворожа інструкція всередині відгуку чи листа | Ті самі виклики інструментів, що й у запуску без неї | Рядок 15 |
| Напрям | Дату доставки перенесено з 30-го дня на 31-й | Рішення про повернення змінюється на «ні» | Рядок 14 |
| Напрям | Номер замовлення прибрано | Асистент перепитує, а не вгадує | Рядок 7, з іншого боку |
Властивість не потребує розміченої відповіді, і саме тому її дешево масштабувати: один вихідний кейс за правилом стає десятьма похідними. Її межа в тому, що обидва запуски можуть помилитися однаково. Питання і його перефразування можуть ідеально погодитися щодо вікна повернення, якого правила ніколи не називали. Тому властивості стоять поруч з оцінюваними рядками, а не замість них.
Супротивник: список OWASP 2026 як план тестування
Рядки 15–19 узято зі списку, яким тестувальник може користуватися безпосередньо. OWASPOpen Worldwide Application Security Project — відкрита спільнота безпеки застосунківНекомерційна фундація, що публікує безкоштовні настанови з безпеки, написані спільнотою, — найвідоміша своїми списками Top 10 найкритичніших ризиків для вебзастосунків, API та LLM-застосунків. Top 10 ранжує категорії ризиків, проти яких проєктують і тестують; це не чеклист, що доводить безпеку системи.Усі терміни опублікував редакцію 2026 року свого Top 10 for LLM Applications 4 серпня 2026 року. Уперше рейтинг — не лише думка: голосування практиків важить три чверті, а решту дають 6 639 класифікованих реальних інцидентів. Передмова формулює позицію, що стоїть за всіма десятьма пунктами: «Перестаньте намагатися збудувати модель, яку неможливо обдурити. Збудуйте систему навколо неї так, щоб, коли модель обдурять — а це станеться, — не зламалося нічого важливого».
Для тестувальника це речення і є планом. Ви не перевіряєте, чи можна обдурити модель: можна. Ви перевіряєте, що система дозволяє обдуреній моделі зробити — до яких інструментів вона дістається, що може показати, що може надіслати й скільки може витратити.
| Пункт | На асистенті замовлень | Тест | Рядок |
|---|---|---|---|
| LLM01 Prompt Injection | Текст у відгуку, листі чи результаті інструмента сприймається як інструкція | Ворожі документи, підкладені в індекс і у вивід інструментів; дії порівнюють із чистим запуском | 15 |
| LLM02 Sensitive Information Disclosure | Дані іншого клієнта чи внутрішні нотатки у відповіді — або в аргументах інструментів і логах | Кожну персональну деталь у виводі звіряють з обліковим записом, що увійшов; те саме сканування — по слідах | 16 |
| LLM03 Excessive Agency | Асистент може більше, ніж потрібно розмові, — повернути гроші, а не лише розпочати повернення | Інструментів рівно три; тест, що жоден промпт не дістається до чогось іще | — |
| LLM06 Unbounded Consumption | Розмова, що зациклюється на інструментах або просить есей | Ліміти на розмову й кейс, побудований так, щоб зациклитися | 19 |
| LLM07 Misinformation | Правило, назване впевнено й хибно, а тоді виконане | Цитати, що мусять містити твердження, кейси без відповіді, обовʼязкові факти | 9, 10, 12 |
| LLM08 Hidden Context Exposure | Системний промпт і схеми інструментів, зачитані цікавому клієнтові | Рядок-канарка; нічого в промпті, що мало б значення, якби його прочитали | 17 |
| LLM10 Improper Output Handling | Відповідь рендерять без перевірок: посилання, зображення, HTML | Тести рендерера для кожної форми Markdown, а не лише вбудованої | 18 |
Три інші пункти — ланцюг постачання (LLM04), отруєння даних і моделі (LLM05) та слабкі місця векторів і ембедингів (LLM09) — живуть переважно в тому, як модель та індекс будують і наповнюють. Їм місце радше в безпековому огляді цього конвеєра, ніж у наборі тестів фічі. Одна практична пастка: список 2026 року пересунув вісім із десяти пунктів. System Prompt Leakage, що 2025 року був LLM07, тепер називається Hidden Context Exposure і має номер LLM08; Improper Output Handling опустився з пʼятого місця на десяте. Тест-план, що посилається на пункти лише за номером, тепер указує на інші пункти, тож пишіть рік поруч із номером — LLM08:2026.
Хто що пише і де запускається кожна перевірка
Тестувальник на звичайній фічі пише кроки й очікувані результати. На LLM-фічі кроки тривіальні — надішли це, прочитай те, — і складність переїжджає у визначення того, якою є добра відповідь. Це визначення є специфікацією. Його справді важко написати, і це найцінніший артефакт на проєкті, бо кожен оцінюваний рядок і кожен оцінювач добрі рівно настільки, наскільки добре воно.
QA володіє визначенням «добре»
Записана рубрика: що має бути присутнім, чого не має бути ніколи, який тон, що робити, коли відповідь невідома. Без неї кожен розбір — суперечка про смак.
QA володіє корпусом збоїв
Кожна скарга, інцидент і дивна відповідь стають кейсом. Догляд за ним — саме те, що робить набір кращим у міру користування продуктом.
Розробка володіє каркасом
Запис і відтворення відповідей, закріплення версій, зберігання результатів, вбудовування воріт у пайплайн. Звичайна інфраструктура, і ставитися до неї слід так само.
Один названий власник числа
Хтось має мати право заблокувати реліз через якість. У LLM-фічі немає природного власника: промпт, пошук і рахунок зазвичай належать трьом різним людям.
Предметний експерт має бути в цьому циклі — і зазвичай його там немає. Чи правильно сформульоване правило повернення коштів, чи безпечна медична інструкція, чи відповідає відповідь політиці компанії — команда, що збудувала фічу, цього не вирішить, а рубрика без експерта закодовує здогадку інженерів про предметну область. Плануйте час експерта рано й явно, а його розмітку вважайте еталоном, за яким калібрують кожного оцінювача.
| Момент | Що запускається | Чому саме там |
|---|---|---|
| Кожен коміт | Точні рядки на записаних відповідях: 1–6, 16, 18, 19. | Безкоштовно й миттєво — і покриває збої, що спричиняють більшість інцидентів. |
| Зміна промпту, моделі чи індексу | Рядки 7–14 на живій моделі: оцінюваний набір, порівняний покейсно із записаною базовою лінією. | Ці три і є артефактом розгортання. Зміна будь-чого з них — це реліз, хай що каже тікет. |
| Щоночі | Той самий набір проти живого API плюс ворожі кейси рядка 15. | Ловить дрейф, якого ви не спричиняли: оновлення провайдера, нову форму відмов, повільніший ендпоінт. |
| Перед релізом | Захищений набір — кейси, які не можна ламати, — рядки 15 і 17 і людина, що читає вибірку. | Останній момент, коли на справжній вивід дивиться людина, а не клієнт. |
| У продакшні | Рядки 5, 16, 19 і 20 як монітори: збої схеми, персональні дані, вартість розмови, частки відмов і передач людині, «не сподобалось». | Єдине місце, де існує справжня суміш вводів. Ваш тестовий набір — завжди вибірка минулого кварталу. |
Пʼять релізів — і рядки, що спіймали б кожен
Жоден із цих випадків не був моделлю, яку неможливо протестувати. У кожному до публіки дійшло те, що перевіряє один із двадцяти рядків, і щоразу це знайшли користувачі, журналісти чи зовнішні дослідники, а не власний набір тестів команди.
| Випадок | Що сталося | Рядки, що це покривають |
|---|---|---|
| Tessa, NEDA, травень 2023 | Чат-бот для людей із розладами харчової поведінки, який фахівці збудували із заздалегідь написаних відповідей, оператор у межах «оновлення системи» доповнив генеративним AI. Консультантка Шерон Максвелл спитала його про здорове харчування й почула пораду тримати дефіцит у 500–1000 калорій на день. За її словами, бота вимкнули за кілька годин після її скриншотів; асоціація закрила свою гарячу лінію з живими людьми місяцем раніше. | 20 і 12. Заміна записаних відповідей генеративною моделлю — це реліз, що потребує всього набору наново, а список фахівців про те, чого не можна казати ніколи, — це оцінюваний набір, на якому провалилася б перша ж відповідь. |
| Зображення Gemini, лютий 2024 | Налаштування, задумане показувати різноманіття людей, застосовувалося до промптів, що називали конкретний тип людей чи історичний контекст, а з часом модель стала, за словами Google, «значно обережнішою, ніж ми задумували», і відмовляла на безневинні промпти. Через три тижні після запуску Google призупинила генерацію зображень людей. | 14 і 1. Кейс напряму — промпт, що уточнює, кого показати, має отримати саме це, — і частка відмов як число, що відстежується, а не настрій, який раптом помічають. |
| Підсумки сповіщень Apple, грудень 2024 | Підсумки новинних сповіщень, показані під іменами видань, стверджували те, чого в статтях не було, — зокрема, що чоловік, якого звинувачують у вбивстві керівника UnitedHealthcare, застрелився. BBC поскаржилася в грудні; 16 січня 2025 року Apple вимкнула підсумки для новинних і розважальних застосунків у бета-версіях iOS 18.3. | 9 і 12. Підсумок звіряють із джерелом — кожне твердження в ньому має бути в статті, — а набір справжніх заголовків і є оцінюваним набором. |
| Grok, травень 2025 | Близько 3:15 за тихоокеанським часом 14 травня хтось змінив системний промпт бота в X, щоб той давав «конкретну відповідь» на політичну тему, і Grok вставляв її у відповіді на непов’язані питання. xAI назвала це несанкціонованою зміною, почала публікувати свої промпти на GitHub і заявила, що зміни проходитимуть рев’ю. | 13 і 20. Відповіді на непов’язані питання не можуть мати спільної теми — це кейс інваріантності, — а зміна промпту є розгортанням із рев’ю та прогоном захищеного набору перед ним. |
| EchoLeak, Microsoft 365 Copilot, червень 2025 | Лист іззовні компанії містив інструкції, написані так, ніби вони для людини-читача, тож класифікатор інʼєкцій його пропустив. Коли Copilot згодом діставав цей лист, відповідь могла винести дані через посилальні Markdown-посилання й зображення, яких фільтр посилань не розпізнавав. CVE-2025-32711, оцінка 9,3. Вразливість виправили ще до публікації розбору, і Microsoft каже, що жоден клієнт не постраждав. | 15 і 18. Ворожий документ в індексі й рендерер, перевірений кожною формою Markdown, а не лише тією, яку пишуть усі. |
Де це вироджується
Чесне обмеження всього на цій сторінці в тому, що набір перевіряє те, що хтось здогадався в нього покласти. Двадцять рядків — це двадцять збоїв, які хтось уявив; тести властивостей потребують, щоб хтось вигадав звʼязок; червона команда знаходить атаки своїх учасників. Тестування не може показати, що інʼєкція неможлива, — саме тому передмова OWASP просить системи, у якій обдурена модель не ламає нічого важливого, і саме тому рядки, що обмежують можливості моделі (7, 16–19), варті більше за будь-яку оцінку.
- Оголосити фічу нетестованою й випускати за демо: так кожен клієнт стає безоплатним тестувальником без каналу звітності.
- Перевіряти точні рядки: виходить набір, що падає на кожному запуску з причин, не повʼязаних з якістю, — і його вимикають.
- Поставити температуру на нуль і назвати вивід детермінованим.
- Почати з оцінюваних рядків, бо вони нові, і так і не дійти до точних, що спричиняють інциденти.
- Набір відтворення, якого не перезаписували від запуску, — зелений проти провайдера, якого вже не існує.
- Вправа червоної команди, проведена один раз: знахідки виправили, але так і не перетворили на кейси.
- Правки промпту й оновлення від постачальника, що оминають набір, бо «нічого не розгортали».
- Пункти OWASP із номером, але без року — після перенумерації 2026 року.
- Лишити вартість і затримку поза набором тестів: першим помітить той, хто відкриє рахунок.
Коли це застосовувати
Застосовуйте, коли
- Будь-яка фіча, де вивід моделі доходить до клієнта, іншої системи чи рішення з наслідками.
- Починайте з точних рядків на записаних відповідях — інтеграція, контракт, супротивник — до будь-якого оцінювання.
- Використовуйте властивості там, де відповідь не запишеш: перефразування, мова, граничні значення, ворожий текст.
- Вважайте правку промпту, оновлення моделі й зміну постачальника релізами, які запускають набір.
Уникайте, коли
- Перевірок точних рядків на згенерованому тексті: вони падають постійно з причин, не повʼязаних з якістю.
- Висновків з одного запуску, де самого семплінгу досить, щоб підперти будь-яку відповідь.
- Оцінки моделлю там, де перевірка схеми, перерахунок чи пошук вирішили б питання точно.
- Перевірки того, чи можна обдурити модель, замість того, що обдурена модель здатна зробити.
Джерела й метод
На чому стоїть ця стаття
- 13 джерел
- 5 задокументованих збоїв
- Перевірено 17 жовтня 2026 р.
Збої, на яких вчиться стаття
пʼять релізів у розділі «Пʼять релізів — і рядки, що спіймали б кожен»- СтаттяEating disorder helpline takes down chatbot after it gave weight loss advice (відкривається в новій вкладці)NPR · 08.06.2023
- ПостмортемPrabhakar Raghavan — Gemini image generation got it wrong. We’ll do better. (відкривається в новій вкладці)Google · 23.02.2024
- СтаттяApple Intelligence: iPhone AI news alerts halted after errors (відкривається в новій вкладці)BBC News · 16.01.2025
- СтаттяxAI blames Grok’s obsession with white genocide on an ‘unauthorized modification’ (відкривається в новій вкладці)TechCrunch · 15.05.2025
- Документаціяxai-org/grok-prompts — Prompts for our Grok chat assistant and the @grok bot on X (відкривається в новій вкладці)xAI
- ПостмортемAim Labs — Breaking down ‘EchoLeak’, the First Zero-Click AI Vulnerability Enabling Data Exfiltration from Microsoft 365 Copilot (відкривається в новій вкладці)Cato Networks · 31.05.2025
- ДокументаціяCVE-2025-32711 Detail (відкривається в новій вкладці)NIST National Vulnerability Database · 11.06.2025
Дослідження
відсутній оракул, властивості замість відповідей і нульова температура- ДослідженняEarl T. Barr, Mark Harman, Phil McMinn, Muzammil Shahbaz, Shin Yoo — The Oracle Problem in Software Testing: A Survey (відкривається в новій вкладці)IEEE Transactions on Software Engineering · 05.2015
- ДослідженняTsong Yueh Chen et al. — Metamorphic Testing: A Review of Challenges and Opportunities (відкривається в новій вкладці)ACM Computing Surveys · 01.2018
- ДослідженняMarco Tulio Ribeiro, Tongshuang Wu, Carlos Guestrin, Sameer Singh — Beyond Accuracy: Behavioral Testing of NLP Models with CheckList (відкривається в новій вкладці)ACL 2020 · 07.2020
- ДослідженняHorace He, Thinking Machines Lab — Defeating Nondeterminism in LLM Inference (відкривається в новій вкладці)Thinking Machines Lab · 10.09.2025
Практики й походження термінів
рядки супротивника й те, чого не покриває гарантія схемиДослідження з Claude. Пошук і звірку першоджерел зроблено з Claude (Anthropic). Відбір, текст і перевірку фактів — редакція Anatomy of IT Product.
Було корисно?
Поділіться з тим, хто працює над тією ж задачею.