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

Расширенный режим агента и импорт данных в существующую базу

Теперь вы можете написать системный промпт агента самостоятельно и отключить лишние инструменты. В готовую базу данных можно импортировать записи из архива, а в Python-функциях — получать значения процесса по ключу.

Что нового​

Расширенный режим блока «Агент»​

Теперь вы можете детально настраивать поведение агента: писать системный промпт с нуля и выбирать, какие инструменты ему доступны. Для работы расширенного режима нужен движок версии 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-чате! 🎯