AI-агенты и автоматизация Спроектировать внедрение
Fallback и проверка человеком в агентных системах
AI-агенты не всегда справляются. Fallback и проверка человеком — не «запасной вариант», а часть архитектуры. Разбираем, как встроить надёжность в агентные системы без потери скорости.
Что такое Fallback в агентных системах
Fallback — это механизм переключения агента на безопасный режим при недостатке уверенности, данных или при выходе за границы компетенции. В контексте агентных систем это не просто «не знаю», а активное перенаправление на человека, альтернативный процесс или упрощённую логику.
Отличие от чат-ботов: агенты принимают решения и выполняют действия. Поэтому fallback — это не только обработка ошибок, но и контроль за последствиями.
Архитектурный паттерн fallback
flowchart TD
A[Запрос] --> B{Агент: цель + контекст + инструменты}
B -->|Уверенность > порог| C[Выполнить действие]
B -->|Уверенность < порог| D[Fallback-модуль]
D --> E{Тип fallback}
E -->|Критично| F[Human-in-the-loop: подтверждение]
E -->|Не критично| G[Упрощённая логика / rule-based]
E -->|Нужен контекст| H[Запрос уточнения у пользователя]
C --> I[Логирование и аудит]
F --> I
G --> I
H --> B
Пример: агент обработки заявок
Агент получает заявку на кредит. Он проверяет: возраст, доход, кредитную историю, внутренние правила.
- Уверенность 92% → автоматически одобряет.
- Уверенность 68% → перенаправляет в human-in-the-loop (менеджер получает уведомление в Telegram).
- Нет данных по кредитной истории → запрашивает у пользователя подтверждение («Вы подтверждаете, что у вас нет долгов?»).
- Сумма > 500 000 ₽ → всегда fallback на человека, независимо от уверенности.
Псевдокод fallback-логики
// Уровень уверенности от 0.0 до 1.0
confidence = agent.decide(request)
action = agent.propose_action(request)
// Пороги настраиваются в конфиге
if confidence < 0.75:
fallback_type = determine_fallback_type(action, request)
if fallback_type == 'human_approval':
notify_human({
action: action,
confidence: confidence,
context: request,
deadline: '5m'
})
return { status: 'awaiting_review' }
elif fallback_type == 'clarify':
return { status: 'clarify', question: generate_question(action) }
else:
return execute_simplified_rule(action)
else:
return execute(action)
Типичные ошибки
- «Скрытый fallback»: агент возвращает «не могу», но не логирует причину и не передаёт контекст человеку.
- Избыточный fallback: каждый второй запрос уходит на человека → теряется ценность автоматизации.
- Отсутствие обратной связи: человек одобряет, но агент не учитывает результат в будущем (нет обучения).
- Нет аудита: действия агента и fallback-решения не сохраняются → невозможно отследить ошибки.
Что проверить перед внедрением
| Категория | Проверка |
|---|---|
| Архитектура | Есть ли отдельный fallback-модуль? Не смешан ли с основной логикой? |
| Конфигурация | Настроены ли пороги уверенности и критичности под каждый тип действия? |
| API | Возвращает ли агент структуру с `fallback_reason`, `confidence`, `next_step`? |
| Роли | Кто принимает решения в fallback? Менеджер, модератор, супер-пользователь? |
| Логирование | Записываются ли все fallback-события с контекстом и решением? |
| Обратная связь | Используется ли результат human-проверки для дообучения агента? |
Следующий шаг
Не начинайте с «полного fallback» — начните с контролируемого эксперимента: выберите 1–2 критичных действия (например, удаление данных или перевод средств), включите fallback и измерьте:
- Долю fallback-запросов
- Время ответа человека
- Согласованность решений между людьми
После 2–3 итераций вы получите данные для оптимизации порогов и архитектуры. Подробнее о ролях и ответственности — в статье «Роли и ответственность в AI-внедрении».