Цей посібник навчає, як писати чіткі, несуперечливі інструкції для вашого ШІ-агента.
Він замінює шаблони, які звучать правильно, але часто не працюють на практиці (наприклад: маршрутизація «щоразу, коли користувач надсилає файл»), коли ШІ-агент отримує лише посилання або звичайний текст.
Коротка ментальна модель: як ваш ШІ-агент відповідає
Ваш агент створений для того, щоб замінити першу лінію підтримки. Під капотом агент може:
1. Шукати у підключених джерелах знань за допомогою інструменту searchKnowledgeBase.
- Цей інструмент здійснює пошук по всьому, що ви підключили до агента (наприклад, ваша база знань HelpCrunch + власні відповіді).
- Інструмент повертає список документів. Агент повинен сприймати ці документи як єдине достовірне джерело для запитань щодо продукту чи компанії.
2. Передавати розмову вашій команді за допомогою інструменту routeToTeam.
- Зазвичай використовується, коли користувач просить з'єднати з людиною або коли відповідно до ваших інструкцій потрібна ескалація.
3. Пропонувати завершити розмову за допомогою інструменту offerToResolveConversation.
- Коли агент пропонує завершити розмову, відображаються кнопки Так/Ні.
4. Закривати розмову за допомогою resolveConversation
- Коли користувач конкретно просить завершити.
5. За потреби отримувати поля профілю користувача через getCurrentUserDetails.
- Для отримання імені/міста/країни, якщо потрібно.
Чого агент не може робити (якщо ви не надали це у своїх джерелах знань)
- Не переглядає інтернет.
- Не має доступу до ваших внутрішніх систем (CRM, білінг, управління замовленнями тощо), якщо ця інформація не міститься у підключених джерелах.
- Зазвичай не може «бачити» вкладення так, як це робить людина. У багатьох каналах агент отримує лише текст та/або URL.
Де писати інструкції для ШІ-агента
У вас є три поля для інструкцій. Використовуйте їх послідовно.
1. Персоналізація
Призначення: визначити, хто такий агент, кого він представляє та за що відповідає.
Хороша персоналізація відповідає на такі запитання:
- Хто ви? (компанія + команда)
- Що ви підтримуєте? (лінійки продуктів)
- Що виходить за рамки?
- Який тон/стиль спілкування використовувати?

✅ Приклад (Персоналізація)
❌ Уникайте розмитої персоналізації на кшталт:
Оскільки це не дає орієнтирів для таких рішень, як «інша компанія чи наша», які теми дозволені тощо.
2. Мовні інструкції

Призначення: визначити мовну поведінку: яку мову використовувати, коли перемикатися, як вести двомовні розмови.
✅ Приклад (Мова)
Порада: не додавайте тут складних вимог до форматування. Залишайте мовні інструкції лише про мову.
3. Інструкції (цілі)

Призначення: визначити бізнес-правила та логіку прийняття рішень.
У цьому полі ви визначаєте:
- коли використовувати
searchKnowledgeBase - коли ставити уточнюючі запитання
- що робити, якщо джерела не містять відповіді
- коли використовувати
routeToTeam - правила безпеки / конфіденційності / відповідності
- як обробляти "small talk"
Робочий формат для розділу Goals
Цей блок навмисно залишено англійською. ШІ-агент сприймає інструкції точніше саме в такому вигляді. Переклад може знизити передбачуваність поведінки. Використовуйте цю структуру (копіюйте та адаптуйте):
- You represent <COMPANY> and answer only about <PRODUCTS/SERVICES>.
- If the user asks about something unrelated, politely say it’s out of scope and offer what you *can* help with.
#Tool usage
- For product/company questions: call the tool `searchKnowledgeBase` before answering.
- Do not answer product/company facts from general knowledge.
#Greetings & small talk
- If the user only greets ("hi", "hello", "привіт", "/start"), respond politely and ask how you can help.
- Do NOT call `searchKnowledgeBase` for greetings/thanks/acknowledgements.
#Clarifying questions
- If the user request is too vague to search (e.g., "help", "it doesn't work"), ask ONE clarifying question.
#When sources don't have the answer
- If `searchKnowledgeBase` returns no relevant information: say you can’t find the answer in the connected sources.
- Then either (a) ask ONE clarifying question, or (b) offer to connect to a human by calling `routeToTeam` (only if allowed).
#Escalation
- If the user explicitly asks for a human, call `routeToTeam` with a short message.
#Safety & privacy
- Never ask for passwords, one-time codes, or full payment card details.
- If the user shares sensitive info, tell them to remove it and continue with safe steps.
#Wrap-up
- If the user says "thanks" / "that’s all": call `offerToResolveConversation`.
- If the user asks to close/end: call `resolveConversation`.
Чому цей формат працює
- Він детермінований («Якщо X → зроби Y») замість розмитого.
- Використовує реальні назви інструментів (
searchKnowledgeBase,routeToTeam), замість абстрактного «пошукай у базі знань» / «використай інструмент маршрутизації». - Охоплює найпоширеніші сценарії збоїв: привітання, розмитість запиту, відсутність відповіді у джерелах та ескалація.
Золоті правила (і чому вони запобігають типовим помилкам)
Правило 1 — Використовуйте реальні назви інструментів
✅ Добре:
❌ Ризиковано:
Моделі працюють надійніше, коли використання інструментів прописано з конкретикою.
Правило 2 — Не пишіть правила, які ШІ не може виконати
❌ Уникайте правил на кшталт:
У багатьох каналах ШІ не отримує «скріншот» як щось, що він може візуально розглянути.
✅ Краще:
Правило 3 — Розглядайте привітальні повідомлення як окремий випадок
Це одна з найпоширеніших причин дивної поведінки.
✅ Додайте правило:
Правило 4 — Дозвольте одне уточнювальне запитання
Розмиті повідомлення користувачів - це норма:
- «допоможіть»
- «не працює»
- «у мене проблема»
Якщо ваші інструкції забороняють уточнення, ви заганяєте агента в глухий кут (або до галюцинацій).
✅ Найкраща практика:
Правило 5 — Визначте, що означає «я не знаю»
Коли джерела не містять відповіді, явно вкажіть потрібну поведінку.
✅ Рекомендовано:
Правило 6 — Уникайте суперечностей
Приклади суперечностей:
✅ Виправлення:
Оберіть одне правило за замовчуванням, а потім додайте винятки:
Типові помилки в інструкціях для ШІ (та виправлені варіанти)
Нижче наведені шаблони, які часто зустрічаються в чернетках інструкцій, та що використовувати натомість.
❌ Помилка 1: правила «Завжди роби X»
Це може призводити до нерелевантних відповідей на привітання
✅ Краще:
❌ Помилка 2: «Якщо користувач надсилає файл/медіа → передай розмову»
Часто не піддається надійному виявленню
✅ Краще:
❌ Помилка 3: «Обробляй запити про інші компанії» без прив'язки до вашої компанії
Якщо ви чітко не визначили, кого представляєте, ШІ не може надійно визначити, що означає «інша» компанія.
✅ Краще:
Швидкий чеклист для тестування (скопіюйте у ваш тестовий чат)
Після зміни інструкцій протестуйте ці повідомлення:
1) `hi` / 'Привіт'
2) `/start`
3) `thanks` / `дякую`
4) `Привіт, я не можу увійти' (привітання + опис проблеми)
5) `Не працює' (розмито)
6) Запитання про ціни
7) Запит на повернення коштів
8) Запитання про порівняння з конкурентом
9) Повідомлення, у якому стверджується, що додано скріншот
10) `Будь ласка, закрийте цей чат`
Ваша мета:
Привітання - отримати нормальне привітання (а не вивантаження з бази знань)
Розмиті повідомлення - спровокувати одне уточнювальне запитання Запитання про продукт - запустити пошук + обґрунтовану відповідь
Поза межами компетенції - залишається поза межами
Поведінка при ескалації - відповідає вашій політиці
Фінальна порада: інструкції + джерела мають відповідати одне одному
Навіть ідеальні інструкції не компенсують відсутність контенту у базі знань.
Якщо агент часто каже, що не може знайти відповідь:
- Додайте/розширте відповідні статті у вашій базі знань.
- Створіть збережені відповіді для граничних випадків.
- Використовуйте чіткі заголовки та включайте точні фрази, які вводять ваші користувачі (назви функцій, повідомлення про помилки, назви пунктів меню).