Риск невалидации данных при реальном использовании API
Артефакт описывает алгоритм обработки запросов, но не учитывает возможные ошибки в формате входных данных, приводящие к сбою в работе системы.
Чем доказывается, что документ «риски» состоялся: у каждого риска есть мера или цена ошибки.
Документ
Риски
-
Несоответствие формату JSON при предобработке
- Причина: Предобработка не учитывает случаи некорректного JSON, который может быть передан как
constraintsили вprompt - Признак наступления: Ошибка в коде при попытке обработать данные
- Цена ошибки: Система завершает запрос с 500 ошибкой и теряет пользовательский опыт
- Мера: Внедрить проверку данных перед предобработкой и логирование подозрительных значений
- Причина: Предобработка не учитывает случаи некорректного JSON, который может быть передан как
-
Нет обработки некорректного формата prompt
- Причина: Псевдокод не предусматривает корректную проверку строки
promptна наличие спецсимволов или кодов, которые могут сломать ИИ-модель - Признак наступления: Непредсказуемый ответ от ИИ из-за неправильного ввода
- Цена ошибки: Возврат некорректной информации пользователю или сбой при генерации решения
- Мера: Добавить фильтрацию спецсимволов и паттернов, угрожающих безопасности ИИ-модели
- Причина: Псевдокод не предусматривает корректную проверку строки
-
Проблема ограничения размера массива constraint
- Причина: Входные данные не проверяются на наличие лишних элементов при валидации
- Признак наступления: Превышение лимита в 5 элементов или некорректный тип данных
- Цена ошибки: Сбой обработки запроса и потеря информации о пользовательском запросе
- Мера: Валидация на количество ограничений до вызова ИИ, с уведомлением клиента о превышении
-
Отсутствие балансировки нагрузки
- Причина: Алгоритм не содержит механизмов для защиты от перегрузки при высоких объемах запросов
- Признак наступления: Система начинает возвращать 503 ошибку из-за перегрузки
- Цена ошибки: Потеря пользовательского доверия и невозможность обработки заявок
- Мера: Внедрить rate-limiting, очереди на запросы и мониторинг производительности
-
Ошибка в генерации UUID
- Причина: Не реализовано условие уникальности решения по ID
- Признак наступления: Дублирование
solution_idпри одновременных запросах - Цена ошибки: Потери данных и несоответствие логике работы БД
- Мера: Убедиться в использовании надежного генератора UUID (например, Uuid4)
-
Недостаток тестирования на реальных запросах
- Причина: Не учтены случаи, когда ИИ не может выполнить задание или выдает неконкретные ответы
- Признак наступления: Возврат невалидных данных при проверке JSON
- Цена ошибки: Проблема в пользовательском опыте и потери качества решения
- Мера: Увеличить объем тестов с реальными ИИ-запросами и добавить механизм фильтрации некачественных решений
Вход
- Контракт API и алгоритм для генерации инженерных решений на основе ИИ
Выход
- Риск-анализ контракта API и алгоритма
Допущения
- Алгоритм предполагает, что все данные будут корректны
- ИИ всегда будет возвращать JSON
- Уникальность ID при генерации не будет нарушаться
Открытые вопросы
- Каковы реальные ограничения ИИ по токенам?
- Предусмотрена ли проверка на повторные вызовы?