# Разветвление сценария в зависимости от условий | Слот Transition Rule и под-слот Condition

## Назначение и общая информация

Слот Transition Rule — Слот, позволяющий делать разветвления сценария в зависимости от условий, указанных в Подслотах condition.

![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-mY83W0Waor/61e5984971cadd5d6a315afff3a6dd00e353abdcb2d4c3d026470a90ef339604871b04a3a5def695169f03bd24e848b758b9f1175b45347f8f60891470ccde71b943436d03b40ba2cf9061255c8d523a33130ee0bed828ccd19585647465ddbf5c083a94)

## Создание и настройки комплексного слота Transition Rule (Transition Rule+condition)

### Атрибуты слота Transition Rule

![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-f65z-Bq5_C/ffd054b9b8aaadfb63c27c04c5c9bcdded8db88332c45773fddc6e4aabf86293587ecb17d1cd2f03c3c3668535a28b2655f7e511158e74c890170c44f8224da1a458d139ebbbb9c46d1f95e5111ba04d6f76fc44b8f2db614fafa37ab48b60af057e314b)

Name\* — название Слота, которое будет отображено в Дерево сценария. Максимальная длина значения поля — 40 символов.

### Атрибуты подслотов Condition

![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-P6yaJIqIDg/352339e8727e5c9aeca06404f05055c5f794589777cf2afc02a6c025169e5b881a9cbbfb848e2345cb941830145b70b51781dd5595cfb92ce10752c5e77a80b6bf955b8ac1f39eb11f347263f157df13c7b6c83a83ea124f609fc4d7d76cc4ca16d67b97)

1. Nameー название Слота, которое будет отображено в Дерево сценария. Максимальная длина значения поля — 40 символов. Если название не введено при создании Подслота, автоматически копируются первые 40 символов текста из поля Condition в поле Name. Если же поле Name очищено при редактировании подслота, то на подслоте в Дерево сценария будут отображаться первые 34 символа из поля Condition.
2. Condition\*ー логическое выражение, которое будет проверено в процессе Общение, и если результат проверки будет ИСТИНА, произойдет переход в ветку, идущую после этого Подслота. Выражение задается, используя Синтаксис.\
   В поле Condition доступна прокрутка при большой длине выражения.

> Важно: Проверка невозможной операции даст значение False:

> 1\. Невалидная операция, например, выражение 1 < a4

> 2\. Сравнение с несуществующей переменной

> 3\. Сравнение строки операциями >, <, >=, <=

Cимвол \ в Подслоте должен быть экранирован: ему должен предшествовать символ  \\, в противном случае Агент не обучится. Подробнее: Требования для успешного обучения Агента

### Использование синтаксиса в Подслоте Condition (Transition Rule)

В Подслоте Condition допустимо использование Выражение в поле Condition. Подробнее: СинтаксисРезультатом вычисления условия будет значение логического типа: True или False. Если результатом вычисления условия является значение какого-то другого типа (строка, число, список, и т.п.), то оно будет приведено к логическому типу.

### Создание слота

#### Автоматическая генерация подслотов при создании Transition Rule

При создании слота Transition Rule автоматически создаются два обязательных Подслота condition.

![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-VPYGXRJbnM/1bf5b243cc3cad0c8fd112768e64001186c8f49b2d9b914bc19350f8aa469b48091c7f6416740a3c2a268f2d9ed849a8d64f71911a1cb5e1d71ccf0b866cc17eb1d69bbf72df0b69d4661bb48181fd35f1fb1c14028013f8523e342c096408f4da35a37f)

* Первый из них всегда имеет значение “main”, которое можно изменить на нужное нам условие, используя Синтаксис
* Второй, имеющий значение “true” и имя FALLBACK\_CONDITION, изменить нельзя. Этот подслот всегда будет оставаться самым нижним в данном комплексном слоте — все новые Подслоты condition будут автоматически размещены выше него.

#### Добавление подслотов Condition

* Используя кнопку “+” можно создать новый Подслот condition.
* ![ДОБАВИТЬ КОНДИШН.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-TWIbm3_t8A/8f51c886019eec6dd842542a48ad488ea42015548e346645a52d86b3683e333eb4d43935d37194b387e12ffd5e9611ce06e7389ffacb7ff2d465669456036a44885ffdc8bab4842f0833c3cc062ea66f308127b8aa0f69b4eb812452562df6e7c01a63d4)
* Новые Подслоты condition будут располагаться над автоматически созданным Подслотом condition со значением “true” в порядке их создания.
* ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-db7-lvluR5/09990f3ab74ceba8a7c3b785ffe48b13a32302c0030983fda613aef002e442119724fffa9edf311969b44515abe8112abc3ec3c0f7abaf481cc600a6fc17837162feef339a6538b7e77b0b905ad0835c1002edab2a8f4c2c1a40e58146d44e975e71062f)

#### Удаление подслотов Condition

* Чтобы удалить Подслот condition, необходимо кликнуть по нему правой кнопкой мыши и нажать кнопку Remove Branch, затем нажать OK во всплывшем диалоговом окне.
* ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-6crQgJanIF/1aec480ba10b03fcf083783ae543536c3949d927a166cc3b232039f5563d242c1ccd0639d81d84d5e35315430e6a39eccc2a4c6bd9efcc60cfed1250ecb535a2710e4d842ee40607cf35458aec95576eb9a0c1b99b1dbce2d1a2f53f32bb0f947a4e19b6)![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-OEzJfAmC3j/8a8bbeaf9efe8dee0636fca9a56e414764fc464b282817a294cb89f0a02354fd48c3617b13456297b35f273a4a5c90b740be37869998ef501ea5b872baa12d6ccb55bbcfb44b4da6569d74000518b26f39e367819899e3a42ccfbe7f11d721a929824325)
* Возможно удалить любой Подслот condition, кроме Подслота со значением true, если после удаления у Transition Rule  останется не менее двух Подслотов.
* ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-0CSwuJJd3R/553e12ba6d1fb3e058372a8ceca7994fa92c81eb2b9730b58bc3530e0d132403e6eecd20654416805132adca36b1b40a2a42d214c59e3bbf0497b06fd47a7f9a6de3d82dc01b3775785870ce39bfd8cd1dbfab479b135d5ccfa9e141c05b6875e31fc31d)
* Удаление Подслота со значением true или единственного, помимо него, невозможно. При попытке это сделать появится следующая ошибка по центру внизу:
* ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-7NNxyDN9kc/389058dbe593457e736a7fa3b1f6f00eb3909402976a702af4e79e6666e5b78ce41a9c86f9644b0141fbc9cd0407281d4ec973624d88230d4cd0b64f299ac9f7a2a60976263b272405e235f3bdba3de5d3c35e2bee371d7ca8368917c5fc0ed4a754c99e)

## Работа слота

1. При прохождении сценария через Слот Transition Rule, происходит проверка истинности выражений, указанных в Подслотах condition от верхнего Подслота к нижнему;
2. Общение немедленно перейдет в ветку первого Подслота condition, результат выражения которого будет ИСТИНА, выражения в нижерасположенных Подслотах condition не будут проверены. Например, если Контекстная переменная {{ username }} является строкой и имеет значение “Иван”, произойдет переход в ветку Подслота condition с условием {{ username == 'Иван' }} так как это условие первым будет удовлетворено при проверке.

![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-HT-QXGUj7X/6596a6049c9f02b64c388de4184cbe26ad76a51f6697229d54675f48c184cf5aba663760dd93ef9f9eecc3e61ec2917b55ba104d664e0f648a057cf206cb2a810072322a3fb953e436a1bfbcf3f5c9ad6cf94d4edab72d6d0fd95e2da67e02fccbdd0774)<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://chatme-ai-4.gitbook.io/docs/proekty-na-platforme/proekt-i-ego-soderzhimoe/agenty-na-platforme/kak-postroit-scenarii-agenta/kak-sozdavat-i-nastraivat-sloty/razvetvlenie-scenariya-v-zavisimosti-ot-uslovii-or-slot-transition-rule-i-pod-slot-condition.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
