# Тест

Пишіть тест-кейси з критеріями приймання — модель перевірки оцінить кожну зміну агента

> Full REST + WebSocket API reference: https://api.happ.tools/reference

**Тести** ловлять погану відповідь до того, як її побачить клієнт. Ви описуєте розмову і що агент має (і не має) робити; Happ програє її в прихованому чаті плейграунду — з тим самим промптом, моделлю, інструментами й базою знань, що й живі чати, — а **модель перевірки** оцінює діалог: **Пройдено** чи **Не пройдено**, оцінка від 0 до 1 і вердикт.

Відкрийте з бічної панелі агента: **Монітор** > **Тест**. Тести йдуть як текстові чати; голос перевіряйте кнопкою **Тест дзвінком** у верхній панелі.

<TestsPageDemo />

## Додати тест-кейс [#додати-тест-кейс]

**Додати кейс** відкриває редактор:

| Поле                                    | Що робить                                                                                                                                           |
| --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| Назва                                   | До 300 символів, наприклад «Знаходить товар у каталозі»                                                                                             |
| Режим                                   | **AI-клієнт** — модель грає клієнта за вашим сценарієм (до 12 реплік). **Скрипт** — до 10 повідомлень клієнта, що надсилаються дослівно, по порядку |
| Сценарій клієнта / Повідомлення клієнта | Хто клієнт, чого хоче, які дані дає — або точні повідомлення                                                                                        |
| Критерії приймання                      | Що агент має робити і чого не має, наприклад «Викликає search\_in\_vector() перед тим, як назвати ціну»                                             |
| Динамічні змінні                        | Значення для `{{плейсхолдерів}}` у промпті на час тесту — як на справжньому дзвінку                                                                 |
| Моки інструментів                       | Підставні відповіді інструментів (див. нижче)                                                                                                       |
| Ліміти витрат                           | **Макс. повідомлень у діалозі** (2–200) і &#x2A;*Макс. вартість, $**. Перевищення зупиняє кейс з помилкою                                           |

Нові кейси зберігаються **вимкненими**: увімкніть **Запускати з усіма** в таблиці, щоб вони потрапили в **Запустити всі**.

**Запропонувати (AI)** чернетить кейси за вас: модель читає промпт, інструменти й базу знань агента. Додайте необов'язковий фокус («повернення, грубі клієнти»), оберіть кількість (1–10), залиште потрібні.

## Моки інструментів [#моки-інструментів]

**Виклики інструментів у тестах — справжні, якщо їх не замокати**: тест може створити реальне замовлення у вашій CRM. Мокайте все, що змінює дані:

* **Мокати всі інструменти** — кожен виклик інструмента в кожному тесті цього агента отримує підставну відповідь.
* **Цей тест / Усі тести** — мок одного інструмента для одного кейсу або для всього агента. Правила перевіряються згори вниз, спрацьовує перше збіжне; правило може перевіряти аргумент виклику (`параметр = значення`) і повертати помилку.

## Запуск [#запуск]

* **Запустити всі** запускає всі увімкнені кейси; ▶ у рядку — один кейс, навіть вимкнений.
* **Run on** обирає основну версію або [чернетку](/docs/agents/versions) — перевірте експеримент, перш ніж він піде в роботу.
* **Модель перевірки** — модель судді. За замовчуванням — як в агента; інша, сильніша модель судить краще.

Перед кожним запуском Happ показує оцінку: кейси, моделі, токени й **оцінку вартості**. Кейси йдуть по три одночасно.

## Результати [#результати]

**Запуски** — список усіх запусків зі статусом (**У черзі**, **Виконується**, **Завершено**, **Помилка**), пройдено / усього, токенами, вартістю й тривалістю. Відкрийте запуск, щоб побачити:

* кейси, що **погіршились** і **виправились** порівняно з попереднім запуском;
* кожен кейс: оцінку, **вердикт** судді, повний **діалог** з кожним викликом інструмента, його входом і виходом;
* **Запропонувати правку** — мінімальну зміну промпту, з якою кейс пройшов би. Це пропозиція: внесіть її самі й запустіть кейс знову.

Кейс отримує **Помилку** замість **Не пройдено**, коли не зміг завершитися: спрацював ліміт, упав інструмент або суддя відповів беззмістовно.

**API:** [api.happ.tools/reference](https://api.happ.tools/reference)

## Далі [#далі]

* [Версії та чернетки](/docs/agents/versions) — перевірте експеримент у чернетці
* [Аудитор](/docs/agents/auditor) — перевірка відповідей наживо, а не лише в тестах
* [Інструменти](/docs/agents/tools) — що агент може викликати
