Фоновые операции¶
Некоторые сервисные операции выполняются заметно дольше обычного ответа. ИИ Студия 0.3.66 поддерживает фоновый режим для подходящих и явно настроенных операций.
Это позволяет помощнику начать долгую операцию, получить ссылку на её задачу и продолжать другую работу, не блокируя весь ход разговора.
Важная граница продукта¶
Danger
Произвольное выполнение пользовательского кода в ИИ Студии выключено. Наличие фонового механизма не означает, что помощнику разрешено запускать shell, Python или Code Interpreter.
В текущем продукте фоновый режим следует рассматривать только применительно к разрешённым сервисным операциям, для которых администратор явно включил такую возможность.
Как это работает¶
помощник
↓
запускает долгую разрешённую операцию
↓
получает идентификатор фоновой задачи
↓
продолжает работу
↓
операция завершается
↓
результат возвращается помощнику
Для сохранённого помощника 0.3.66 также включает автоматическое пробуждение после поддерживаемого завершения фоновой задачи.
Когда это полезно¶
Например:
- долгий поиск по внешней системе;
- тяжёлый отчёт;
- операция, которая возвращает результат через несколько десятков секунд;
- дочерняя работа, завершение которой нужно позже подмешать в основной ответ.
Не нужно включать фон для быстрых операций на 100–300 мс.
Фоновый режим настраивается по операциям¶
Само наличие возможности run_in_background не делает все сервисы фоновыми.
В редакторе помощника для подходящего сервиса администратор/редактор может отметить отдельные операции или весь поддерживаемый набор.
Если такой переключатель недоступен, операция не считается квалифицированной для фонового режима в данном интерфейсе.
Что видит пользователь¶
Во время работы могут отображаться состояния:
- Выполняется в фоне;
- Завершено в фоне;
- ошибка;
- ожидание результата.
После завершения помощник может автоматически продолжить сохранённый запуск.
Фоновая операция не равна плановому заданию¶
| Фоновая операция | Плановое задание | |
|---|---|---|
| Когда запускается | внутри текущего разговора | по расписанию |
| Кто инициирует | работающий помощник | планировщик |
| Контекст | текущий запуск | новый разговор каждого запуска |
| Назначение | не блокировать долгую операцию | повторять работу во времени |
Не все внешние операции безопасны в фоне¶
Если операция изменяет данные, фоновый режим не должен отменять серверные подтверждения и ограничения.
Особенно опасно проектировать схему:
запусти изменяющее действие в фоне и не показывай пользователю.
Корпоративная политика должна оставаться приоритетной.
Отказ процесса¶
Обычная фоновая операция может зависеть от процесса, который её выполняет.
После сохранения конечного результата его доставка может быть устойчивее, но активную операцию нельзя считать гарантированно переживающей любой аварийный перезапуск.
Критические внешние процессы должны иметь собственную идемпотентность и статус на стороне внешней системы.
Дочерние помощники в фоне¶
Современный агентный механизм умеет выполнять отделённую дочернюю работу и затем продолжать родителя после получения результата.
Это полезно, если подзадача длинная, но главный помощник может пока выполнять другую часть работы.
Подробнее: Дочерние помощники.
Безопасность¶
Перед включением фонового режима проверьте:
- что операция разрешена корпоративной политикой;
- что повторный запуск не создаёт опасный дубликат;
- что пользователь сможет понять статус;
- что результат не потеряется бесследно;
- что секреты не появляются в карточке фоновой задачи.
Как проверить¶
На испытательном сервисе:
- включите фоновый режим только для одной подходящей операции;
- запустите помощника;
- убедитесь, что интерфейс показывает фоновое состояние;
- проверьте, что помощник может продолжить другую работу;
- дождитесь результата;
- убедитесь, что результат вернулся ровно один раз.