# Создание функции

<figure><img src="https://2593311972-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fef2EBU68XAlye1NtG8DF%2Fuploads%2F6tlw3DCf8bkAzlW47yAS%2F%7B385D899B-199E-4D9A-B0A9-B9467A08B006%7D.png?alt=media&#x26;token=c9f64d16-b0d4-4936-8d18-93902bbc63d8" alt=""><figcaption></figcaption></figure>

Вы можете создать функцию несколькими способами:

**1. Создать функцию с базовыми настройками (в ручную)**

* Подходит, если вы знаете, как должна работать функция.
  * **Название функции** — укажите, как будет называться ваша функция.
  * **Описание** — кратко опишите, что делает эта функция.
  * **Параметры** — задайте входные данные, которые функция будет принимать.

Воспользуйтесь рекомендациями по названию функции, [клик тут](https://doc.nextbot.ru/functional/functions/create-function#rekomendacii-po-nazvaniyu-funkcii)

2. **Генерация функции с помощью ИИ**

* Если вам нужна помощь в создании функции, вы не уверены, что правильно задали название функции, описание и заполнили параметры, тогда воспользуйтесь опцией **"Сгенерировать функцию с помощью ИИ"**.
* Опишите, что должна делать ваша функция, и ИИ предложит готовый вариант.
* Проверьте и при необходимости отредактируйте сгенерированный результат.

### **Генерация функции с помощью ИИ**

<figure><img src="https://2593311972-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fef2EBU68XAlye1NtG8DF%2Fuploads%2FIWNyEEfy8vgI4bB0Zomu%2F%7B82B99FE8-F42F-42FE-A80A-D0BBD1F4581E%7D.png?alt=media&#x26;token=eec46245-a390-4b35-bf3c-bdde85d2cd82" alt=""><figcaption></figcaption></figure>

С помощью этой опции вы можете легко создать готовую функцию для вашего проекта. Просто опишите, что должна делать функция, и система автоматически сгенерирует ее с настройками.

#### Как это работает:

1. Начните описание со слов **"Необходимо создать функцию"** и кратко объясните её задачу.
2. Система проанализирует ваш запрос и подготовит профессиональную функцию.

<figure><img src="https://2593311972-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fef2EBU68XAlye1NtG8DF%2Fuploads%2Ffg4F560szw7IBq9nwnGj%2F%7B6152EEC5-7FFB-4F19-8F56-623CEEC87802%7D.png?alt=media&#x26;token=a390e2d8-9604-4053-9e93-25b9caec9c08" alt=""><figcaption></figcaption></figure>

*Пример: "Необходимо создать функцию для отправки уведомлений оператору, если клиент испытывает трудности с выбором товара"*\
\
Жмем на кнопку "Создать функцию".

{% hint style="info" %}
Если хотите, чтобы описание функции было на русском (или другом языке), добавьте в описание:\
\&#xNAN;**"Используй русский язык для описания функции"** (или укажите нужный язык).
{% endhint %}

Если результат вас устраивает, то нажмите на кнопку "Применить функцию".

<figure><img src="https://2593311972-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fef2EBU68XAlye1NtG8DF%2Fuploads%2FQT2fft4B9H6TwBOEffKb%2F%7B766EECC1-7812-4350-BAA5-E4C7039D098A%7D.png?alt=media&#x26;token=d95fe6a5-5bc1-4529-a2d0-99886c00954d" alt=""><figcaption></figcaption></figure>

После генерации вы сможете отредактировать параметры функции — удалить лишние или изменить.

Порядок параметров функции можно поменять перетаскиванием. Доступно только в десктоп версии браузера

### Создание функции по коду из буфера обмена

Для создания функции по коду из буфера обмена:

1. скопируйте код существующей функции нажав на кнопку копирования<br>

   <div align="left"><figure><img src="https://2593311972-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fef2EBU68XAlye1NtG8DF%2Fuploads%2FBQZen38GtS74zZl3MeZo%2Fimage.png?alt=media&#x26;token=762349e8-d781-4ac6-bc38-e7feb24068e3" alt=""><figcaption><p>Копирование функции</p></figcaption></figure></div>
2. Код функции скопируется, в правом верхнем углу вы увидите сообщение о том что код функции скопирован в буфер обмена
3. Нажмите на кнопку "добавить функцию"

<div align="left"><figure><img src="https://2593311972-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fef2EBU68XAlye1NtG8DF%2Fuploads%2FsHxpHrT1vIH9SnRnQRvo%2Fimage.png?alt=media&#x26;token=c1192bc4-a3f5-4090-8424-48ccb4bb6525" alt=""><figcaption></figcaption></figure></div>

4. Нажать на кнопку "создать по коду из буфера обмена"

<figure><img src="https://2593311972-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fef2EBU68XAlye1NtG8DF%2Fuploads%2FRliP0LsZNNj0auKVT4kx%2Fimage.png?alt=media&#x26;token=7833dc91-bd18-4f59-9690-b9d27eefca1e" alt=""><figcaption></figcaption></figure>

5. После этого у вас создаться идентичная функция которую вы скопировали со всеми ее параметрами и настройками, изменится только название функции, к названию добавиться цифра\
   \
   Например: была скопирована функция save\_user\_data, у функции созданной по коду из буфера обмена название будет save\_user\_data\_1

### Модифицировать функцию

С помощью данного функционала можно оптимизировать, дополнить и улучшить функцию.

Опишите, что нужно поменять в функции. ИИ изучит ваш запрос и попробует его улучшить, сохраняя основную логику.

{% hint style="info" %}
Но учтите: ИИ иногда может ошибаться или не сразу правильно понять ваш запрос. Если результат вас не устроит — уточните пожелания и попробуйте снова.
{% endhint %}

### **Рекомендации по названию функции**

**Название функции (пишем на английском языке).** В это поле введите название функции, которое будет отображаться в списке функций.

* Название должно быть уникальным и осмысленным, чтобы его легко можно было найти и понять его назначение.
* Используйте только английские символы и символ “\_” для разделения слов.
* Название должно полностью соответствовать описанию функции и отражать его суть.

### **Описание функции**

В это поле введите краткую инструкцию на русском или английском языке. Инструкция должна содержать конкретное действие, которое должен совершить ИИ-агент при выполнении данной функции.

<figure><img src="https://2593311972-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fef2EBU68XAlye1NtG8DF%2Fuploads%2Fgit-blob-e780d94b9265a89253d6c2ae393bc331d209c625%2Fimage%20(4).png?alt=media" alt=""><figcaption></figcaption></figure>

#### **Примеры хороших названий и описаний**

Название: **save\_user\_data**\
Описание: Сохрани данные пользователя, например имя, телефон и описание запроса для дальнейшего взаимодействия

Названи&#x435;**: send\_notification**\
Описание: Отправь уведомление менеджеру.

Название: **get\_info\_from\_database**\
Описание: Получить информацию из базы данных

#### Примеры плохих названий и описаний:

* **Название:** func123

  **Описание:** Делает что-то.
* **Название:** PROCESS

  **Описание:** Выполняет процесс. *(Неясно, какой именно процесс выполняется.)*
* **Название:** DATA

  **Описание:** Сохраняет данные. *(Описание слишком общее, не понятно, какие данные сохраняются)*
* **Название:** telefon\_nomer\
  **Описание:** Номер телефона
