> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ukrgsm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Вузол агента

> Вузол агента містить промпт, що керує розмовою з голосовим агентом.

Вузол агента — основний будівельний блок кожного сценарію. Він містить промпт LLM, що керує розмовою, будь-які інструменти, які агент може викликати, і документи бази знань, на які можна посилатись. В одному сценарії можна мати кілька вузлів агента, кожен з яких відповідає за окрему фазу розмови.

Переходи, з'єднані з вузлами агента, — це шляхи, якими LLM може рухатись залежно від того, як розвивається розмова.

## Що входить у вузол агента

**Промпт**

Інструкції для того, як агент має поводитись на цьому кроці. Явно описуйте послідовність дій: якщо агент має підтвердити особу перед обговоренням оплати, скажіть про це в промпті. Розпливчасті промпти дають непослідовну поведінку.

**Інструменти**

Зовнішні функції, які агент може викликати на цьому кроці, — наприклад, перевірити стан рахунку чи оновити запис у CRM. Додаються через вкладки «HTTP & Tools» або «MCP» у панелі налаштувань вузла.

**Дозволити переривання**

Якщо увімкнено, абонент може перервати агента посеред репліки.

**Додати глобальний промпт**

Якщо увімкнено і в сценарії є [Глобальний вузол](./global), його промпт додається на початок промпту цього вузла під час виконання. За замовчуванням увімкнено.

**Лише вибір (без власного тексту)**

Якщо увімкнено, модель на цьому кроці не може згенерувати власну репліку — лише обрати один із доступних переходів, без жодного супровідного тексту. Це обмеження на рівні виклику LLM, а не просто інструкція в промпті. Автоматично не діє, якщо до вузла прикріплено документи бази знань або інструменти — там агенту потрібен вільний текст для відповіді. Детальніше — у [Редагуванні сценарію](/voice-agent/editing-a-workflow).

**Документи бази знань**

Файли, на які агент може посилатись, відповідаючи на питання — інструкції з продукту, FAQ, політики. Прикріплюються через кнопку «Manage Documents» у панелі налаштувань вузла.

## Налаштування переходів

Кожен вихідний перехід має умову, написану простою мовою. LLM оцінює розмову й обирає перехід, чия умова найкраще відповідає ситуації.

Формулюйте умови переходів максимально конкретно:

| Розпливчасто (уникайте) | Конкретно (використовуйте)                                         |
| ----------------------- | ------------------------------------------------------------------ |
| «Абонент відповідає»    | «Абонент підтверджує особу і готовий обговорювати рахунок»         |
| «Дзвінок завершується»  | «Абонент погоджується на конкретний варіант оплати й називає суму» |
| «Проблема»              | «Абонент заперечує борг або вимагає підтвердні документи»          |

<Tip>
  Якщо агент постійно обирає не той перехід, зробіть умову конкретнішою. Умови на кшталт «користувач відповідає» чи «розмова завершується» надто широкі й дають непередбачувану маршрутизацію.
</Tip>

## Видобування змінних

Вузол агента може видобувати структуровані дані з розмови після завершення свого кроку. Увімкніть це в налаштуваннях вузла через «Увімкнути видобування змінних».

Після увімкнення налаштуйте дві речі:

* **Промпт видобування:** загальні інструкції, як LLM має підходити до видобування.
* **Змінні для видобування:** список змінних, кожна з назвою, типом даних (`string`, `number`, `boolean`) і підказкою, що саме треба зафіксувати.

Наприклад:

```text theme={null}
Промпт видобування:
Видобудь результат щодо оплати з цього дзвінка стягнення боргу.

Змінні:
- amount_user_will_pay (string): сума, яку абонент погодився сплатити.
- payment_method (string): як він планує платити, наприклад карткою чи переказом.
- sentiment (string): тон абонента: доброзичливий, вагається, роздратований, відмовився.
```

Кожне видобуте значення зберігається в `gathered_context`. Воно недоступне в промпті жодного вузла — посилайтесь на нього в тілі запиту вузла [«Вебхук»](./webhook) як на `{{gathered_context.назва_змінної}}`, або читайте його із запису запуску після завершення дзвінка.

## Використання кількох вузлів агента

Розбивайте складні розмови на фази. Кожен вузол агента відповідає за одну частину потоку. Наприклад, сценарій стягнення боргу може ланцюжком поєднувати три вузли агента: підтвердження особи, пропозицію варіантів оплати та роботу із запереченнями.

Вузли автоматично передають контекст далі, але не в промпти. Змінні, видобуті в одному вузлі, зберігаються в `gathered_context` і об'єднуються зі змінними наступних вузлів у міру розвитку дзвінка. `gathered_context` недоступний у промпті жодного вузла — на нього можна посилатись лише в тілі запиту вузла [«Вебхук»](./webhook) і в записі запуску після завершення дзвінка. Якщо наступному вузлу агента потрібно реагувати на щось, видобуте раніше, ця логіка має бути прописана прямо в інструкціях промпту, а не через посилання `{{gathered_context...}}`.

## Типові помилки

**Відсутність вихідних переходів.** Кожному вузлу агента потрібен хоча б один перехід. Тупиковий вузол без виходу заблокує дзвінок.

**Глобальні інструкції в промпті вузла агента.** Правила, що застосовуються до всього сценарію — персона, тон, вимоги комплаєнсу — мають бути в [Глобальному вузлі](./global), а не повторюватись у кожному вузлі агента.

**Розпливчасті умови переходів.** LLM обирає перехід, що найкраще відповідає стану розмови. Надто широкі умови спричиняють непередбачувану маршрутизацію між вузлами.

## Далі

<CardGroup cols={2}>
  <Card title="Завершення дзвінка" href="./end-call">
    Завершіть розмову прощальною реплікою.
  </Card>

  <Card title="Глобальний вузол" href="./global">
    Напишіть спільні інструкції, застосовні до кожного вузла.
  </Card>

  <Card title="QA-аналіз" href="./qa">
    Автоматично оцінюйте роботу агента після кожного дзвінка.
  </Card>
</CardGroup>
