Как остановить AI-агента, если пользователь отменил задачу
Кнопка «Отмена» может остановить отображение ответа, пока агент продолжает обращаться к инструментам. Для чтения справки это лишняя стоимость; для изменения заявки — уже неожиданное действие. Разделите отмену пользовательского запроса, вычисления и внешней операции. Эти события не происходят автоматически одновременно.
Длинную задачу полезно представить явным состоянием: запущена, отмена запрошена, остановлена, завершена либо требует сверки результата. Пользователь должен видеть фактическое состояние, а не мгновенное обещание остановки.
Разбор на примере
Данные ниже вымышлены: они показывают способ разбора, а не измерения действующего сервиса.
| Момент отмены | Состояние инструмента | Допустимое продолжение |
|---|---|---|
| До вызова | Не запускался | Не отправлять запрос |
| Во время чтения | Ожидается ответ | Остановить при поддержке отмены |
| После записи | Результат неизвестен | Проверить состояние операции |
Если запись уже произошла, отмена локальной корутины не откатывает её. В учебном сценарии агент создавал черновик заявки. После отмены нужно выяснить, появился ли черновик, и сообщить это пользователю. Повторный запуск без сверки может создать второй объект.
Флаг отмены проверяют перед потенциально значимыми шагами. Но проверка флага и отправка запроса не образуют атомарную операцию: гонка всё равно возможна. Поэтому важна проверяемость результата.
Порядок диагностики
Прервите учебную задачу до вызова инструмента, во время ожидания и сразу после записи. В каждом тесте проверьте не только статус агента, но и состояние внешней системы. Убедитесь, что освобождаются соединения и прекращается планирование следующих шагов.
Сохраняйте время запроса отмены и последнего побочного действия. Для действий, которые нельзя остановить, предусмотрите статус «проверяем результат» и ограниченную процедуру сверки. Не выполняйте компенсирующее удаление автоматически, если оно само может уничтожить нужные пользовательские данные.
Что этот способ не гарантирует
Поддержка отмены зависит от инструмента и транспорта. Она не заменяет идемпотентность, полномочия и подтверждение действий. Для реальных платежей или удаления данных нужен отдельный согласованный процесс восстановления.
В asyncio отмена доставляется задаче как исключение; внешние побочные эффекты требуют отдельного контроля. Официальная документация помогает уточнить технический механизм; предложенный диагностический протокол — наш учебный пример.
Если хотите связать этот разбор с системной практикой, посмотрите программу AI Agents PRO на Latorn: она охватывает граф состояний, инструменты, надёжность и эксплуатацию агентов. Перед оплатой сопоставьте требования курса со своим опытом и задачей проекта.
Следующий шаг: AI-агенты в приложениях: состояние, инструменты и сбои. По смежным вопросам: Лимит шагов AI-агента: как отличить полезный поиск от бесконечного цикла, Параллельные инструменты AI-агента: что делать, если один источник не ответил.
