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

# 08. Logic Split

> Ветвление формулами там, где данные уже лежат в переменных.

# Ветвление без модели: Logic Split

<Info>
  **Цель модуля:** развести маршруты формулами там, где данные уже есть.
</Info>

<Frame caption="Logic Split. Три выхода: «окна есть» по {{slots_count}} > 0, «CRM не ответила» по {{get_free_slots_success}} == false и Default — «окон нет». Клиент этого узла не слышит.">
  <img src="https://mintcdn.com/hubtalk/GMvtjWdqWk0BhtuQ/images/tutorial/tut-13-node-logic-split.webp?fit=max&auto=format&n=GMvtjWdqWk0BhtuQ&q=85&s=9cfb403e2f6d6234f7845451318f884a" alt="Инспектор узла Logic Split с тремя переходами по формулам и Default" width="760" height="3217" data-path="images/tutorial/tut-13-node-logic-split.webp" />
</Frame>

Формулы работают с переменными и предикатами контекста: `node_visited(id)` — были ли мы в узле, `goals_completed()` — закрыты ли цели разговора. Порядок формул значим: первая выполненная побеждает, поэтому специальные случаи ставят выше общих.

<Note>
  **Почему не спросить модель**

  Формула бесплатна, мгновенна и одинаково ведёт себя каждый раз. Классификатор — вызов модели: он нужен, только когда решение зависит от *смысла сказанного человеком*. Правило простое: если значение уже лежит в переменной — это формула.
</Note>

<Check>
  **Практика**

  Соберите в своём агенте цепочку: Extract Variables (дата) → Function с заглушкой (свободные окна) → Logic Split (есть окна / ошибка / нет окон) → две разные реплики. Пройдите её в чат-тесте — [модуль 20](/ru/v4/tutorial/testing) покажет, как читать трейс.
</Check>
