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

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

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

Призначення: визначити бізнес-правила та логіку прийняття рішень.
У цьому полі ви визначаєте:
- коли використовувати
searchKnowledgeBase - коли ставити уточнюючі запитання
- що робити, якщо джерела не містять відповіді
- коли використовувати
routeToTeam - правила безпеки / конфіденційності / відповідності
- як обробляти "small talk"
3) Робочий формат для розділу Goals
Цей блок навмисно залишено англійською. ШІ-агент сприймає інструкції точніше саме в такому вигляді. Переклад може знизити передбачуваність поведінки. Використовуйте цю структуру (копіюйте та адаптуйте):
#Scope
- 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 — Використовуйте реальні назви інструментів
✅ Добре:
“Call `searchKnowledgeBase` before answering pricing questions.”
❌ Ризиковано:
“Search the knowledge base.”
Моделі працюють надійніше, коли використання інструментів прописано з конкретикою.
Правило 2 — Не пишіть правила, які ШІ не може виконати
❌ Уникайте правил на кшталт:
“If the user sends a screenshot, immediately route to operator.”
У багатьох каналах ШІ не отримує «скріншот» як щось, що він може візуально розглянути.
✅ Краще:
“If the user shares a link to a file or says they attached a screenshot, ask them to paste the error text or describe what they see. If it’s still unclear, offer escalation.”
Правило 3 — Розглядайте привітальні повідомлення як окремий випадок
Це одна з найпоширеніших причин дивної поведінки.
✅ Додайте правило:
greetings/thanks/emoji → short reply + one question (“How can I help?”) + no search
Правило 4 — Дозвольте одне уточнювальне запитання
Розмиті повідомлення користувачів — це норма:
- «допоможіть»
- «не працює»
- «у мене проблема»
Якщо ваші інструкції забороняють уточнення, ви заганяєте агента в глухий кут (або до галюцинацій).
✅ Найкраща практика:
Ask one minimal question that unlocks search and troubleshooting
Правило 5 — Визначте, що означає «я не знаю»
Коли джерела не містять відповіді, явно вкажіть потрібну поведінку.
✅ Рекомендовано:
If `searchKnowledgeBase` has no relevant documents: say you can’t find the answer in the connected sources, don’t guess, then offer next steps.
Правило 6 — Уникайте суперечностей
Приклади суперечностей:
- “Never route to a human” + “If you are uncertain, route to a human.”
- “Be very short” + “Explain every detail thoroughly.”
✅ Виправлення:
Оберіть одне правило за замовчуванням, а потім додайте винятки:
Be concise by default. If the user is stuck, provide step-by-step instructions.
Типові помилки в інструкціях для ШІ (та виправлені варіанти)
Нижче наведені шаблони, які часто зустрічаються в чернетках інструкцій, та що використовувати натомість.
1. ❌ Помилка: правила «Завжди роби X»
Always call `searchKnowledgeBase` before answering any message.
Це може призводити до нерелевантних відповідей на привітання
✅ Краще:
Call `searchKnowledgeBase` before answering product/company questions. Do not call it for greetings, thanks, emojis, or acknowledgements.
2. ❌ Помилка: «Якщо користувач надсилає файл/медіа → передай розмову»
If the user sends an image/screenshot/video/voice message, route to operator.
Часто не піддається надійному виявленню
✅ Краще:
If the user mentions an attachment or shares a file link, ask them to paste the key text (error message, fields, steps). If they can’t, offer escalation.
3. ❌ Помилка: «Обробляй запити про інші компанії» без прив'язки до вашої компанії
Questions about other companies → transfer immediately.
Якщо ви чітко не визначили, кого представляєте, ШІ не може надійно визначити, що означає «інша» компанія.
✅ Краще:
You represent AcmeCloud. If the user asks about competitors, do not claim competitor facts. Answer only about AcmeCloud. If they need a comparison, offer escalation to sales/support.
Швидкий чеклист для тестування (скопіюйте у ваш тестовий чат)
Після зміни інструкцій протестуйте ці повідомлення:
1) `hi` / 'Привіт'
2) `/start`
3) `thanks` / `дякую`
4) `Привіт, я не можу увійти' (привітання + опис проблеми)
5) `Не працює' (розмито)
6) Запитання про ціни
7) Запит на повернення коштів
8) Запитання про порівняння з конкурентом
9) Повідомлення, у якому стверджується, що додано скріншот
10) `Будь ласка, закрийте цей чат`
Ваша мета:
Привітання - отримати нормальне привітання (а не вивантаження з бази знань)
Розмиті повідомлення - спровокувати одне уточнювальне запитання Запитання про продукт - запустити пошук + обґрунтовану відповідь
Поза межами компетенції - залишається поза межами
Поведінка при ескалації - відповідає вашій політиці
Фінальна порада: інструкції + джерела мають відповідати одне одному
Навіть ідеальні інструкції не компенсують відсутність контенту у базі знань.
Якщо агент часто каже, що не може знайти відповідь:
- Додайте/розширте відповідні статті у вашій базі знань.
- Створіть збережені відповіді для граничних випадків.
- Використовуйте чіткі заголовки та включайте точні фрази, які вводять ваші користувачі (назви функцій, повідомлення про помилки, назви пунктів меню).