Обработка ошибок и повторы
Тема дорожной карты · Claude от Anthropic
Обработка ошибок и повторы — ключевые элементы, которые позволяют повысить надежность и эффективность взаимодействия с API Anthropic. Этот процесс включает в себя обработку различных HTTP-кодов, таких как 400 для невалидных запросов, 401 и 403 для проблем с авторизацией, 429 для превышения лимита запросов, 500 для временных ошибок сервера и 529 при перегрузке. Официальные SDK на Python и TypeScript по умолчанию автоматически повторяют идемпотентные сбои (429, 5xx) с использованием экспоненциального backoff до двух раз, что можно настроить через опцию max_retries в конструкторе SDK. Для длительных запросов рекомендуется использовать streaming, чтобы ловить ошибки посреди потока, и при обращении в поддержку следует прикладывать request_id из заголовков ответа.
Как это работает
Обработка ошибок и повторы включает несколько ключевых механизмов, таких как prompt caching, compaction, citations, структурированный output, batch API, batching сообщений, RAG (retrieval-augmented generation) и многоканальная оркестрация. Prompt caching позволяет значительно снизить стоимость запросов, кешируя системные промпты и few-shot примеры, что обеспечивает экономию до 90%. Compaction сжимает историю разговора, когда контекст заполняется, чтобы сохранить место. Citations возвращают source-спаны для фактических утверждений, что важно для юридических, исследовательских и клиентских запросов. Структурированный output (JSON-mode со схемами) обеспечивает типизированные ответы, что упрощает парсинг данных. Batch API позволяет обрабатывать большие объемы данных асинхронно и дешевле, что особенно полезно для non-interactive нагрузок. Batching сообщений позволяет отправлять несколько turns в одном запросе, что уменьшает количество запросов. RAG использует vector DB и Claude для улучшения качества генерации, добавляя ретроспективную информацию, а многоканальная оркестрация позволяет эффективно управлять несколькими разговорами одновременно.
Когда применять
Prompt caching следует использовать с самого начала в production-app, где системный промпт и few-shot примеры кешируются, что позволяет значительно снизить стоимость запросов. Batch API полезен для обработки больших объемов данных, таких как overnight ETL и большие job-классификации, где можно получить полцены и избежать rate-лимита. Citations должны применяться, когда важен факт, например, в юридических, исследовательских или клиентских запросах. RAG следует использовать, когда знания превышают размер окна контекста или когда после cutoff важна свежесть информации.
Типичные ошибки
Типичные ошибки при обработке ошибок и повторах включают кеширование промптов с переменным контентом, что приводит к каждому запросу пропуска кеша (cache miss). Batch API может ожидать менее часа turnaround, что может привести к неправильным ожиданиям SLA. Citations могут быть включены, но не показаны пользователю, что приводит к потере токенов. Использование RAG без оценки качества может привести к нерелевантным кускам информации, что хуже, чем без использования RAG.