Скилл: ошибки и повторы
Диагностика без раскрытия ключей и повторных побочных действий
Разбор ошибки
Проверяй HTTP-статус и тело ответа. Ошибка может быть JSON, текстом или событием уже открытого потока
Поля error.code, error.type и идентификатор запроса могут отсутствовать. Не выводи ключ и полные конфиденциальные входные данные
Действия
| Ошибка | Действие |
|---|---|
| Неверный ключ или права | Исправить доступ, не повторять тот же запрос |
| Неверная модель или параметры | Исправить запрос |
429 | Проверить причину ограничения, учесть Retry-After, если есть |
Временная 5xx | Ограниченный повтор с задержкой, если операция безопасна |
| Таймаут после отправки | Состояние выполнения неизвестно, проверить последствия |
| Ошибка SSE | Считать ответ частичным, не выдавать за завершённый |
Один статус 503 не определяет причину. Если тело указывает на model_not_found, повтор без изменения модели не исправит запрос
Повторы
Установи предел попыток и общий срок. Используй задержку с увеличением и случайным разбросом, если это соответствует приложению
Не дублируй внешние действия агента при повторе генерации. Для платного асинхронного задания сначала проверь уже созданный ID
Сохраняй идентификатор и время запроса для поддержки, но не секреты
Подробности: ошибки API, повторы, таймауты