Расширенный режим агента и импорт данных в существующую базу
Теперь вы можете написать системный промпт агента самостоятельно и отключить лишние инструменты. В готовую базу данных можно импортировать записи из архива, а в Python-функциях — получать значения процесса по ключу.
Что нового
- Расширенный режим блока «Агент»: напишите системный промпт целиком сами и отключите ненужные системные инструменты.
- Импорт данных в существующую базу: добавляйте записи из архива в готовую базу, а не создавайте каждый раз новую.
- Значения по ключу в Python-функциях: сохраняйте значения из Python и читайте их в подстановках и других блоках процесса.
- Другие улучшения: перенос длинных строк в редакторах, имена моделей Yandex, протокол SIP-транка.
Расширенный режим блока «Агент»
Теперь вы можете детально настраивать поведение агента: писать системный промпт с нуля и выбирать, какие инструменты ему доступны. Для работы расширенного режима нужен движок версии 2 (в проектах с первой версией движка настройки сохранятся, но агент их проигнорирует).
Как включить
Опция открывается по запросу — обратитесь к аккаунт-менеджеру. После этого в настройках блока «Агент» (Основное → Модель и инструкции) появится переключатель Расширенный режим.
Особенности режима
-
Единый системный промпт. Три базовых поля (Роль, Цель, Инструкции) заменяются одним. По умолчанию оно содержит стандартный шаблон с плейсхолдерами
[role],[goal]и[instructions]. Вы можете заменить их своими значениями, удалить или полностью переписать текст. Автоматическая подстановка данных из базовых полей в этом режиме отключается. -
Системные инструменты. Скрытый ранее список стал видимым — теперь вы можете управлять им и отключать функции, которые не нужны агенту.
Вы можете свободно переключаться между базовым и расширенным режимами: платформа сохраняет их настройки раздельно. Чтобы удалить свой текст и вернуть стандартный шаблон, нажмите Восстановить исходный промпт.
Подробнее об особенностях читайте в разделе Расширенный режим.
Импорт данных в существующую базу
Вы можете пополнять и обновлять существующие базы данных, загружая в них ZIP-архивы с записями.
Как импортировать данные
В меню нужной базы (в общем списке или на странице самой базы) выберите Загрузить данные из архива и перетащите ZIP-файл в открывшееся окно.
Если в базе уже есть данные, выберите, что с ними сделать:
- Заменить содержимое базы — платформа полностью удалит старые данные и оставит только записи из архива.
- Добавить к существующим — новые записи добавятся к текущим. Если ключи в базе и архиве совпадут, выберите правило: Оставлять старое значение или Записывать новое значение.
После завершения платформа покажет статистику: сколько записей добавлено, заменено и пропущено.
- В архиве не должно быть дублирующихся ключей — оставьте строго по одной записи на каждый ключ.
- Нельзя импортировать пустой архив, чтобы обнулить базу. Для очистки выделите нужные записи в интерфейсе и нажмите Удалить записи.
Значения по ключу в Python-функциях
Встроенные функции Context.set() и Context.get() сохраняют значение по ключу, который затем доступен в подстановках и других блоках процесса. В пользовательских Python-функциях они работали иначе: sdk.context.get() отдавал весь контекст запроса целиком, а сохранить значение по ключу было нельзя.
Теперь sdk.context.set() и sdk.context.get() работают с тем же хранилищем, что и их аналоги в JavaScript:
sdk.context.set({"key": "order_id", "value": 42})
order_id = sdk.context.get({"key": "order_id"})
Параметры передаются словарем, как и в остальных функциях sdk.*.
Если ключа в контексте процесса нет, sdk.context.get() ищет его в данных сессии. Также в Python появилась функция sdk.context.get_last_state_error(). Она возвращает данные о том, из-за чего процесс ушел в ветку обработки ошибок.
Сохранение и чтение значений по ключу не поддерживаются на движке версии 1.
Другие улучшения
- Перенос длинных строк в редакторах кода. Длинную строку больше не нужно прокручивать по горизонтали: нажмите Alt + Z или выберите действие Toggle Word Wrap в палитре команд редактора.
- Понятные имена моделей Yandex. При подключении LLM, если в поле Доступ к LLM выбрано Через Just AI, модели Yandex назывались в списке только версией —
latestилиrc. Теперь платформа показывает имя модели целиком:yandexgpt/latest,yandexgpt-32k/rc. - Импорт базы больше 10 МБ. Раньше форма создания базы данных не принимала архив больше 10 МБ. Теперь мы сняли ограничение на размер. В окне импорта в существующую базу этого ограничения не было изначально.
- Транспортный протокол SIP-транка. В телефонном канале, в настройках SIP-транка оператора, появилось поле Транспортный протокол. В нем вы можете указать протокол, по которому SIP-провайдер отправляет и принимает звонки.
- Распознавание речи во встроенных функциях. Раньше функция
Asr.recognize()возвращала ошибку доступа даже при верных настройках интеграции. Теперь распознавание работает корректно. - Текст ответа в Chat API. В ответах Chat API от агентов появилось поле
answerс текстом реплики. Вам больше не нужно собирать текст из списка реплик. - Лимит на идентификатор клиента в Chat API. Платформа отклоняет запросы с идентификатором клиента длиннее 256 символов. Сервис возвращает код
413и ошибкуchatadapter.validation.client_id_too_large.
Исправления
- Служебные слова JavaScript в именах инструментов и функций. Платформа получает имена инструментов от MCP-сервера. Если имя совпадало со служебным словом JavaScript, переставал работать весь проект. Это также касалось имен пользовательских функций и их параметров. Теперь платформа обрабатывает такие имена корректно.
- Ошибки инструментов в агенте. Раньше ошибка при вызове одного инструмента прерывала работу агента. Теперь агент получает сообщение об ошибке и продолжает диалог. Кроме того, агент мог зациклиться, если модель возвращала пустой список вызовов инструментов — так отвечают некоторые модели. Теперь платформа не принимает пустой список за вызов инструмента.
- Входящие звонки и лимиты тарифа. Входящий звонок мог завершиться ошибкой из-за превышения лимитов тарифа, даже если тариф позволял принять вызов. Причина — платформа проверяла лимиты не того провайдера. Теперь она проверяет лимиты провайдера, который настроен на канале.
- Редактор кода без доступа в интернет. Поля с редактором кода не загружались, если из контура не было доступа к внешнему CDN. Это характерно для on-prem поставок. Теперь редактор загружается с сервера платформы.
Обновление уже доступно для всех пользователей. Будем рады вашим отзывам в Telegram-чате! 🎯