Перейти к основному содержимому

Версия движка 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 }}.

    Подробнее в разделе Подстановки.

    Reactions.sendText с параметром previousResult
  • Подстановки доступны для параметров с типом object в блоках функций.

Особенности и ограничения

Отсутствие поддержки npm-пакетов

В движке версии 2 пока нет возможности подключить внешние npm-пакеты.

Параметры системных функций

При вызове системных функций из кода (в пользовательских функциях, блоках Код и Условие) необходимо передавать аргументы в виде объекта. Передача примитивных типов (строк, чисел) не поддерживается.

В версии 1:

Reactions.sendText("Привет, мир!");

В версии 2:

Reactions.sendText({text: "Привет, мир!"});

Как переключить проект на новый движок

к сведению

Чтобы получить доступ к версии 2, свяжитесь со своим аккаунт-менеджером или напишите нам на contact@just-ai.com.

Чтобы переключить версию движка в проекте:

  1. В левом меню перейдите в раздел Настройки.

  2. На вкладке Среда выполнения в поле Версия движка выберите значение Актуальная (v2).

  3. Перейдите в конструктор:

    • Отредактируйте вызовы системных функций в коде: в пользовательских функциях, блоках Код и Условие.
    • Проверьте использование подстановок в параметрах блоков, внесите необходимые изменения.
    • Если требуется, настройте таймауты и обработку ошибок в блоках функций.
  4. Протестируйте процесс.