Зачем Claude для мобильного AI-ассистента?
Представьте: пользователь загружает PDF договора на 100 страниц и хочет задать вопросы по нему. Обычные ассистенты с 8K контекста не справляются — приходится резать документ, теряя целостность. Claude решает эту проблему: его контекстное окно 200K токенов позволяет загрузить весь документ целиком и отвечать по нему без RAG-пайплайна. Мы более 5 лет разрабатываем мобильные решения и гарантируем качество интеграции AI в ваше приложение. Оценим проект за 1–2 дня — просто напишите нам. Типичный бюджет на разработку текстового ассистента — от $2,000 до $4,000, а с поддержкой документов и изображений — до $10,000.
Anthropic Messages API: структура и особенности
Anthropic API по структуре похожа на OpenAI, но с важными отличиями. Системный промпт в Claude — отдельный параметр system, а не сообщение с ролью system в массиве messages. Это критически важно: попытка передать системный промпт внутри messages ухудшает качество следования инструкциям.
struct AnthropicRequest: Encodable {
let model: String // "claude-3-5-sonnet-20241022"
let maxTokens: Int // обязательный параметр, нет дефолта
let system: String // системный промпт — отдельно
let messages: [Message]
let stream: Bool
enum CodingKeys: String, CodingKey {
case model, system, messages, stream
case maxTokens = "max_tokens"
}
}
max_tokens в Anthropic API — обязательный параметр без дефолта. Если забыть его передать, API вернёт ошибку 400. Это отличается от OpenAI, где max_tokens опционален.
Аутентификация: заголовок x-api-key (не Authorization: Bearer). Версионирование API через anthropic-version: 2023-06-01. Без этого заголовка — 400 Bad Request.
Как реализовать стриминг от Claude на iOS?
Claude поддерживает стриминг через Server-Sent Events. Структура потока отличается от OpenAI: события content_block_start, content_block_delta, content_block_stop, message_delta — каждое содержит свои поля.
Вот пошаговая инструкция по реализации на iOS:
- Инициализируйте
URLSessionи создайте запрос с заголовками. - Используйте
bytes(AsyncSequence) для чтения потока. - Для каждой строки проверяйте префикс
"data: ". - Декодируйте JSON в структуру с полем
type. - Для
content_block_deltaизвлекайте текст и обновляйте UI в главном потоке.
for try await line in response.bytes.lines {
guard line.hasPrefix("data: ") else { continue }
let jsonString = String(line.dropFirst(6))
guard jsonString != "[DONE]" else { break }
if let data = jsonString.data(using: .utf8),
let event = try? JSONDecoder().decode(StreamEvent.self, from: data),
event.type == "content_block_delta" {
let delta = event.delta?.text ?? ""
await MainActor.run { self.appendText(delta) }
}
}
Важно обрабатывать все типы событий, а не только content_block_delta — message_delta содержит информацию о stop_reason (например, max_tokens), которую нужно показывать пользователю.
Преимущества большого контекста на мобиле
200K токенов — примерно 150 000 слов или ~500 страниц текста. Для мобильного ассистента это возможность работать с полным документом без RAG-пайплайна. Пользователь прикрепил PDF договора — его можно целиком передать в контекст и задавать вопросы.
Оборотная сторона: большой контекст = долгий time-to-first-token. При 50K токенов в запросе первый токен ответа может прийти через 3–5 секунд даже на хорошем соединении. На мобиле нужен индикатор прогресса, который появляется сразу, до первого токена, иначе пользователь думает, что приложение зависло.
Стоимость также растёт линейно с контекстом — для приложений с пользовательской оплатой это важно учитывать при проектировании UI счётчика токенов. Claude 3.5 Sonnet обрабатывает контекст в 200K токенов в 2 раза быстрее, чем GPT-4o с аналогичным объёмом, что делает его идеальным для мобильных сценариев с длинными диалогами. Экономия на токенах может достигать 40% по сравнению с конкурентами, а общие затраты на инфраструктуру снижаются благодаря встроенной поддержке длинного контекста.
Что даёт большой контекст 200K токенов для мобильного пользователя?
Сравним ключевые параметры Claude 3.5 Sonnet и GPT-4o на мобиле:
| Параметр | Claude 3.5 Sonnet | GPT-4o |
|---|---|---|
| Контекстное окно | 200K токенов | 128K токенов |
| Скорость первого токена (50K контекст) | 3-5 сек | 5-8 сек |
| Поддержка изображений | до 20, до 5 МБ | до 10, до 20 МБ |
| Стоимость млн токенов (input) | значительно ниже | выше |
| Структура API | system отдельно, max_tokens обязателен | system в messages, max_tokens опционален |
Claude выигрывает по объёму контекста и скорости при работе с большими данными. API строже, но это уменьшает количество ошибок при правильной настройке.
Vision: передача изображений в Claude
Claude 3.5 Sonnet поддерживает изображения через base64 в content block:
let imageContent = ContentBlock(
type: "image",
source: ImageSource(
type: "base64",
mediaType: "image/jpeg",
data: imageBase64
)
)
Ограничение: максимум 20 изображений в одном запросе, каждое до 5 МБ. На мобиле перед отправкой изображение нужно сжать до разумного размера — UIGraphicsImageRenderer или BitmapFactory.Options с inSampleSize.
Подробнее о работе с документами
Для передачи больших PDF мы используем предварительную выгрузку текста через OCR-библиотеки (например, PDFKit на iOS), чтобы снизить количество токенов. Также можно передавать multipart/form-data через прокси-сервер, который обрезает лишние заголовки.Процесс работы и что входит
Ключевые параметры для уточнения: нужна ли работа с документами (PDF, изображения), каков ожидаемый объём диалога, нужен ли серверный прокси (да — обязательно, API-ключ не хранится в приложении).
В состав работы входит:
- Документация по интеграции Claude API для вашей платформы
- Настроенный прокси-сервер с аутентификацией
- Готовый Swift/Kotlin клиент для стриминга
- Инструкция по прохождению App Store Review (учёт требований ATT, In-App Purchase)
- 2 недели технической поддержки после запуска
Реализация: Anthropic API клиент → стриминговый UI → управление историей с учётом 200K лимита → опциональная работа с файлами.
Ориентиры по срокам
Базовый текстовый ассистент — 1–2 недели. С поддержкой документов, изображений, серверным прокси — 3–4 недели. Точные сроки зависят от вашего стека и специфики. Закажите бесплатную консультацию — мы покажем демо-версию и рассчитаем стоимость. 50+ проектов с AI-интеграцией за нашими плечами. Свяжитесь с нами для получения бесплатной оценки проекта.
Документация Anthropic API: https://docs.anthropic.com/en/api







