Две версии, которые важны
Все остальное — архив: снимок версии, которая раньше была опубликованной, доступный только для чтения.
Жизненный цикл
- Откройте редактор. Если черновик существует, вы всегда видите черновик. Если нет — видите опубликованную версию.
- Сохраните. Первое сохранение после публикации создает новый черновик со следующим номером версии. Все последующие сохранения обновляют этот же черновик на месте — версии не накапливаются.
- Протестируйте. Тестовые звонки из редактора идут по черновику.
- Опубликуйте. Черновик становится опубликованной версией, а прежняя опубликованная версия уходит в архив.
Пока у вас есть неопубликованный черновик, опубликованная версия продолжает без изменений обслуживать все реальные звонки. Недоделанный черновик не может «протечь» в продакшн — единственный путь туда лежит через кнопку Опубликовать.
Какая версия используется при звонке?
Здесь важна точность.
Итого: вы тестируете черновик, а внешний мир получает опубликованную версию. Если изменение из редактора не проявляется на реальном входящем звонке, причина почти всегда одна: вы сохранили, но не опубликовали.
Запуск привязан к версии, на которой начался
Когда звонок стартует, запуск привязывается к конкретной версии, и пайплайн выполняет именно этот снимок в течение всего звонка. Публикация во время идущего звонка не подменяет агента у собеседника: текущий звонок доигрывает на своей версии, а новую подхватит следующий. Каждая запись о запуске хранит версию, на которой она выполнялась, поэтому всегда можно понять, какое определение породило конкретный транскрипт. В CSV-отчетах это столбецAgent Definition ID — см. Использование и биллинг.
Публикация
Нажмите Опубликовать в шапке редактора. Кнопка появляется только при наличии черновика и заблокирована, если есть несохраненные изменения или ошибки валидации. Публикация — это и есть тот рубеж, где агент проверяется целиком. Черновик намеренно разрешено оставлять «сломанным» (нужно уметь сохраняться на середине мысли), но опубликованную версию исполняет рантайм, поэтому она обязана пройти:- Валидацию схемы — у каждого узла и ребра заполнены обязательные поля
- Валидацию графа — граф корректен и достижим
- Уникальность триггеров — ни один путь триггера не конфликтует с другим агентом
409 (version_conflict) — ничего не опубликовано; обновите страницу и опубликуйте снова.
Номер ревизии черновика (_revision в workflow_configurations, его передают как base_version при сохранении) сквозной для всего агента и только растет: новый черновик — после публикации, отмены черновика или возврата к версии — продолжает счет выше всех ранее выданных ревизий, а не начинает с 1. Поэтому устаревшая вкладка, прочитавшая прежнюю версию, не может случайно совпасть по ревизии с новой и получит 409 (version_conflict) вместо тихой перезаписи.
История версий
Откройте иконку часов в шапке редактора, чтобы увидеть историю: новые сверху, по десять за раз, кнопка Загрузить еще подгружает более старые. В каждой записи видны номер версии, статус (Draft, Published или пусто для архивной) и время создания либо публикации.
Выбор старой версии загружает ее на канвас только для чтения. Редактор говорит об этом прямо: появляется баннер режима чтения, а кнопки сохранения, публикации и телефонного звонка скрываются. Вы можете посмотреть точный граф, на котором шел прошлый звонок, без риска затереть текущую работу.
Нажмите Вернуться к черновику, чтобы выйти из режима чтения. Если черновик есть, вы вернетесь в него; если нет — он будет создан из текущей опубликованной версии, и вы продолжите работу в нем.
Дублирование агента
Дублировать (в меню⋯ шапки редактора) создает независимую копию с именем <оригинал> - Duplicate и открывает ее.
В копию переносятся:
- Последнее состояние — черновик, если он есть, иначе опубликованная версия
- Конфигурации воркфлоу (модели, голос, настройки перебивания и т. д.)
- Контекстные переменные
- Загруженный файл фонового шума, если он был
Статус агента: активен или в архиве
Отдельно от версий сам агент бываетactive или archived. Архивируйте его из меню ⋯ в списке агентов, разархивируйте — из списка архивных.
Архивация ничего не удаляет: версии, запуски и транскрипты остаются, а разархивация возвращает агента ровно в прежнее состояние.