Версия движка Agent Platform
Версия движка влияет на написание и выполнение JavaScript-кода в проекте.
В Agent Platform работают две версии движка:
- Версия 2 — обеспечивает высокую производительность и позволяет создавать более сложные и отказоустойчивые процессы. В этой версии уже доступны все встроенные функции и коллекции.
- Версия 1 — поддерживается для обратной совместимости с ранее созданными проектами.
Ключевые отличия
Настройка таймаутов и обработка ошибок
Движок версии 2 позволяет гибко управлять поведением функций. В настройках блока Функция появилась новая вкладка Поведение, где вы можете настроить:
-
Время ожидания ответа: до 60 минут. Если выполнение функции не завершится за это время, будет зафиксирована ошибка.
-
Повторные попытки при ошибке: до 10 повторных вызовов.
Например, если указать таймаут 20 секунд и количество повторных попыток 3, то суммарное время ожидания может составить до 80 секунд: 20×(1+3).
-
Возвращать указанное значение вместо ошибки: если функция не выполнится успешно после всех попыток, процесс не прервется, а на выход блока будет передано заданное значение (число, строка, JSON-объект,
true/falseилиnull).
Синхронное выполнение системных функций
Все системные функции в версии 2 выполняются синхронно. Это означает, что процесс дождется завершения функции (например, ответа на HTTP-запрос), прежде чем перейти к следующей инструкции в коде. Такой подход делает код более предсказуемым.
В версии 1:
// Ожидание асинхронного ответа
Http.get("https://api.example.com/data")
.then((response) => {
// Код обработки ответа
});
В версии 2:
// Процесс автоматически дождется результата
try {
const response = Http.get({url: "https://api.example.com/data"});
const body = JSON.parse(response.body);
// Код обработки ответа
} catch (e) {
// Обработка ошибок
}
Подстановки {{ … }}
-
В движке версии 2 нельзя вызывать произвольные функции в подстановках
{{ … }}. Например, в блоке функцииReactions.sendText()нужно в качестве аргумента указывать не{{ JSON.stringify(Context.getLastFunctionResult()) }}, а{{ previousResult }}или{{ previousResult | json }}.Подробнее в разделе Подстановки.
-
Подстановки доступны для параметров с типом
objectв блоках функций.
Особенности и ограничения
Отсутствие поддержки npm-пакетов
В движке версии 2 пока нет возможности подключить внешние npm-пакеты.
Параметры системных функций
При вызове системных функций из кода (в пользовательских функциях, блоках Код и Условие) необходимо передавать аргументы в виде объекта. Передача примитивных типов (строк, чисел) не поддерживается.
В версии 1:
Reactions.sendText("Привет, мир!");
В версии 2:
Reactions.sendText({text: "Привет, мир!"});
Как переключить проект на новый движок
Чтобы получить доступ к версии 2, свяжитесь со своим аккаунт-менеджером или напишите нам на contact@just-ai.com.
Чтобы переключить версию движка в проекте:
-
В левом меню перейдите в раздел Настройки.
-
На вкладке Среда выполнения в поле Версия движка выберите значение Актуальная (v2).
-
Перейдите в конструктор:
- Отредактируйте вызовы системных функций в коде: в пользовательских функциях, блоках Код и Условие.
- Проверьте использование подстановок в параметрах блоков, внесите необходимые изменения.
- Если требуется, настройте таймауты и обработку ошибок в блоках функций.