LLM API: контекст моделей, длинные ответы, reasoning и биллинг
Сводка от 16 октября 2026 г. · Разработчикам, Для агентов
Сводка обновления 15–16 октября: сняты общие ограничения длины текста API, обновлены модели и reasoning, объединён расчёт оплаты, исправлены документация и генерации из ассистента.
Что изменилось
Снят предел 200 000 символов в chat/completions и новых сообщениях API-диалогов. Текст передаётся целиком; допустимый вход определяется токеновым контекстом модели с учётом ответа. В discovery max_input_chars и chat.max_total_chars теперь null; input_limit_basis=model_token_context. Provider также использует контекст модели. LLM API ограничивает размер HTTP JSON 8 MiB для защиты памяти сервера; это байты тела, а не символьный/токеновый лимит текста. У Provider также сохранён предел до 2048 сообщений.
API больше не использует общий потолок 4096/32768 токенов: по умолчанию запрашивается собственный максимум вывода модели. Для Opus 5.5 он составляет 128 000 токенов, включая reasoning. Явные max_tokens/max_output_tokens соблюдаются; таймаут upstream-вызова API — 30 минут. Достижение лимита отражается в finish_reason, а ошибки провайдера и таймауты по-прежнему возможны.
Opus 5.5 получает reasoning.effort=low, если клиент не передал настройки reasoning. Явные настройки, включая high, сохраняются. REST JSON/SSE, API-диалоги и MCP передают reasoning; поддержан алиас reasoning_effort. Native Messages использует output_config.effort. Неподдерживаемые настройки отклоняются до резерва и inference. Reasoning входит в оплачиваемый output; exclude не выключает его.
Добавлены gemini-4-argon, claude-sonnet-5.5, claude-haiku-5.5, gpt-6.1-sol, gpt-6.1-sol-pro, muse-wonder, mistral-large-4-0, step-5-preview, pareto-26.9, lfm-2.5-24b-a2b и ling-3.1-flash. Default Public chat — gpt-6-luna. Старые gpt-5.6-*, gpt-6-sol, claude-sonnet-5, claude-opus-5, deepseek-v4-flash, gemini-3.6-flash, grok-4.5 и muse-spark-1.2 сняты с новых вызовов. Неизвестный/снятый ID не заменяется другой моделью автоматически; актуальный список зависит от API-поверхности и публикуется в её каталоге.
Studio, промпты, Public chat и Provider используют общий механизм резерва, settlement и recovery с сохранением тарифов каждой поверхности. Полный расчётный резерв берётся до inference; после получения фактической стоимости списывается оплата и возвращается неиспользованная часть. При неизвестной стоимости резерв остаётся до reconciliation; уже выполненные платные шаги не становятся бесплатными при последующей ошибке. Повторный settlement идемпотентен. Больший предел сам по себе не оплачивается, но увеличивает необходимый резерв.
Исправлена загрузка OpenAPI в /docs/. Markdown и OpenAPI обновлены. Появились публичный GET /api/v1/updates/, поле api_update в обоих каталогах моделей, заголовок X-Artillect-API-Update и Link с rel=changelog в ответах, использующих общие API-заголовки. Уведомление можно отслеживать без платного вызова модели.
Существующие API-маршруты и формы ответа сохранены; поля обновления добавлены совместимо. У ассистента на сайте сохранены 4096 токенов вывода, 8000 символов пользовательского сообщения, 60 секунд на вызов и окно истории 40 сообщений/80 000 символов. Управляемые API-диалоги сохраняют прежнее окно истории 40/80 000; оно не ограничивает новое сообщение или stateless messages[]. Исправлена путаница ID оплаты ответа с ID медиа-задачи: работают подтверждение/отмена карточек изображений, видео, аудио, 3D и апскейла; старые карточки восстановлены через CI, защита от двойного запуска сохранена.
Что проверить у себя
- Обновите каталоги через GET /api/v1/models/ и GET /api/v1/provider/models/; замените снятые ID моделей. Обрабатывайте null в полях символьных лимитов как отсутствие общего char-cap.
- Уберите клиентские ограничения в 200 000 символов и устаревшие output caps, если нужны длинные ответы. Не задавайте маленький max_tokens автоматически: мы соблюдаем явно переданный предел.
- Для Opus можно не передавать reasoning (получится low) или явно задать reasoning: {effort: high}. Не передавайте одновременно reasoning.effort и reasoning_effort. Увеличивайте общий output budget с учётом рассуждений.
- Проверяйте finish_reason: length означает исчерпание output budget. Настройте клиентские/прокси-таймауты для длинных ответов и учитывайте токеновый контекст модели, включая output. Для полного контроля истории используйте stateless messages[] или Provider.
- Учитывайте полный предварительный резерв. При недостаточном балансе можно явно уменьшить output budget. Не повторяйте автоматически оплаченный или неопределённый вызов после разрыва соединения; используйте доступные idempotency/status-механизмы соответствующего API.
- Сравнивайте api_update.id или X-Artillect-API-Update с сохранённой версией и перечитывайте URL уведомления при изменении. Новые поля discovery нужно игнорировать, если клиент их ещё не использует.
Уведомление опубликовано ранее; его публичный адрес проверен 2026-10-21. Это подтверждение публикации, а не отдельный live-тест каждой описанной функции.
