Спроектируйте агента для бронирования командировок
Вопрос
Компании нужен ассистент в корпоративном мессенджере: сотрудник пишет «нужна командировка в Казань 12-14 ноября», ассистент подбирает билеты и гостиницу в рамках политики компании, согласует с руководителем и бронирует. Спроектируйте систему.
Коротко
Что должно быть в решении
- 1Требования: сценарии, политика командировок, согласования, ответственность за деньги, SLA ответа
- 2Инструменты: поиск рейсов и отелей, проверка политики, создание заявки на согласование, бронирование, отмена
- 3Оркестрация: агент для сбора требований и подбора, детерминированный процесс для согласования и оплаты
- 4Права: действия от имени сотрудника из сессии, лимиты по политике в коде, а не в промпте
- 5Подтверждения: сотрудник выбирает вариант, руководитель согласует, бронирование идемпотентно
- 6Надёжность: таймауты и повторы внешних API, состояние заявки в базе, возобновление после сбоя
- 7Наблюдаемость и качество: трейсы шагов, доля успешных бронирований, стоимость на заявку, набор сценариев для тестов
Что спросит интервьюер
- Что делать, если цена изменилась между подбором и бронированием?
- Как не допустить двойного бронирования?
- Как тестировать агента без реальных покупок?
Разбор
Сильный ответ отделяет «умную» часть от «денежной». Агент полезен для диалога: понять даты, предпочтения, подобрать варианты через инструменты поиска. А согласование, проверка политики и бронирование это обычный бизнес-процесс в коде с состоянием в базе, идемпотентными ключами и обязательными подтверждениями. Правила политики проверяются кодом. Внешние API ненадёжны: таймауты, повторы, обработка изменения цены. Тестирование на песочницах поставщиков и наборе сценариев с проверкой траектории.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.