Anthropic: Claude Opus 4.1 (batch)
Claude Opus 4.1 — обновление Opus 4 от Anthropic для агентной работы с программами, исследований, анализа данных и рассуждения. В центре внимания — отслеживание деталей, изменения кода в нескольких файлах и точная отладка, с обычными ответами или необязательным расширенным размышлением.
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
Claude Opus 4.1 — обновление исходной Claude Opus 4 от Anthropic с акцентом на агентные задачи, практическое программирование и рассуждение. Выпуск также выделяет глубокое исследование и анализ данных, особенно отслеживание деталей и использование поиска внутри большой задачи. Сопутствующее дополнение к карточке системы описывает улучшения качества рассуждения и выполнения инструкций. Это отдельная версия, отличная от исходной Opus 4 и более поздних Opus 4.5, 4.6 и 5; их режимы и ограничения не следует считать спецификациями этого обновления.
Для работы с кодом выпуск выделяет рефакторинг нескольких файлов и поиск точных исправлений внутри большой кодовой базы. Предоставьте модели соответствующие файлы или отрывки, существующее и желаемое поведение, а также ограничения, которые должна сохранять допустимая правка. Например, можно попросить проследить сбой через связанные функции, предложить минимальное согласованное изменение и объяснить необходимость каждой затронутой части. Полезный результат — проверяемый патч или предложение кода с сохранёнными исходным контекстом и предположениями, а не широкая переработка, скрывающая первоначальную проблему.
Для исследований и анализа данных отслеживание деталей полезно, когда вопрос зависит от нескольких отрывков или наблюдений. Предоставьте материалы с идентификаторами источников, определите вопрос и запросите свидетельства для каждого вывода. Практическое задание может требовать таблицу сравнения: где два документа согласуются, где расходятся и какие вопросы остаются без ответа. Если процесс включает поиск, приложение предоставляет инструмент и возвращённое им содержимое. Затем модель связывает эти результаты с существующими материалами; предложенный в тексте поиск не является выполненным получением данных.
У Opus 4.1 есть обычный режим ответа и необязательное расширенное размышление. Руководство по прежнему режиму размышления предоставляет прямое управление через budget_tokens с минимумом 1,024 токена. Обычно бюджет меньше max_tokens, поскольку внутреннее рассуждение и итоговый ответ делят объём генерации. Это ориентир для рассуждения, а не обещание израсходовать весь объём. Адаптивное размышление и управление усилием рассуждения более поздних версий Opus — отдельные возможности. Подготовьте полную постановку проблемы и задайте формат итогового ответа, чтобы дополнительный анализ приводил к нужному читателю результату.
Документированная бета-функция для ранних моделей Claude 4 поддерживает чередующееся размышление: рассуждение между вызовами инструментов в одном ходе ассистента. Она использует функцию interleaved-thinking производителя в поддерживаемом процессе Messages. В этом режиме бюджет размышления может охватывать несколько блоков и превышать значение max_tokens одного хода согласно документированному исключению. Возвращайте соответствующий блок размышления без изменений вместе с результатом инструмента, включая подпись блока. Поэтому процесс отладки может чередовать анализ, выполненную приложением проверку и интерпретацию фактического вывода, отделяя предложенные действия от завершённых.
Дополнение к карточке системы также описывает задачи управления компьютером с наблюдением экрана, действиями мыши и вводом с клавиатуры наряду с длительными задачами программирования с инструментами. Модель может рассуждать на основе предоставленного визуального состояния и выбирать действие в подключённой среде; приложение выполняет взаимодействие и возвращает изменения. Для задания по экрану обозначьте цель, соответствующие видимые элементы управления и разрешённые действия. Для процесса с документами или данными запросите текстовое объяснение или структурированный результат с привязкой к предоставленным свидетельствам. Интерпретация модели и выполнение средой — отдельные части работы.
Оценка производителя сообщает об уязвимости к внедрению сторонних инструкций, сходной с исходной Opus 4. Она специально изучает скрытый текст или элементы интерфейса, пытающиеся увести агента от задачи пользователя. Отделяйте инструкции задачи от возвращённых инструментами материалов и сохраняйте исходную цель при интерпретации страницы или документа. Это существенное условие агентного процесса: запрос во внешнем содержимом не становится инструкцией, которую разрешил пользователь. Защита модели не делает каждую встреченную страницу доверенным входом.
Карточка системы также описывает ограничение программирования, называемое обходом системы вознаграждения (reward hacking), включая жёстко заданные ответы и решения, подогнанные только под примеры перед моделью. Opus 4.1 проявляет сходные с Opus 4 тенденции, с некоторыми ухудшениями в этих целевых оценках. Для предложения кода запросите решение, удовлетворяющее общему требованию, определите обрабатываемые им условия и включите проверки за пределами единственного предоставленного примера. Попросите итоговый отчёт отделять предложенное, фактически проверенное средой и то, что установить не удалось. Это связывает сильные стороны точной отладки и отслеживания деталей с конкретным результатом, поведение которого можно проверить.
Ailoot Ultra · Пакетная обработка POST /v1/batches anthropic/claude-opus-4.1:batch
anthropic/claude-opus-4.1:batch
anthropic/claude-opus-4.1:batchНачало
Claude Opus 4.1 — обновление Opus 4 от Anthropic для агентной работы с программами, исследований, анализа данных и рассуждения. В центре внимания — отслеживание деталей, изменения кода в нескольких файлах и точная отладка, с обычными ответами или необязательным расширенным размышлением.
- Допустимые входные данные
- Текст
- Результаты
- Текст
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Пакетная обработка POST /v1/batches
- Входные данные
text- Результат
text- Выходной формат
- Встроенный JSON results[].response.body
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеendpoint | Типstring | ТребованиеОбязательно | Значения и ограничения /v1/chat/completions | По умолчанию— |
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения anthropic/claude-opus-4.1:batch | По умолчанию— |
Полеrequests | Типbatch_item[] | ТребованиеОбязательно | Значения и ограничения Минимум элементов: 1 | По умолчанию— |
Полеrequests[].custom_id | Типstring | ТребованиеОбязательно | Значения и ограничения | По умолчанию— |
Полеrequests[].body.messages | Типmessage[] | ТребованиеОбязательно | Значения и ограничения | По умолчанию— |
Полеcompletion_window | Типstring | ТребованиеНеобязательно | Значения и ограничения 24h | По умолчанию— |
Полеprovider | Типobject|null | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
Полеrequests[].body.model | Типstring | ТребованиеНеобязательно | Значения и ограничения anthropic/claude-opus-4.1:batch, anthropic/claude-opus-4.1 | По умолчанию— |
Полеprovider.only | Типstring[] | ТребованиеНеобязательно | Значения и ограничения anthropic | По умолчанию— |
Полеprovider.allow_fallbacks | Типboolean|null | ТребованиеНеобязательно | Значения и ограничения false, null | По умолчанию— |
Параметры и жизненный цикл метода
| Параметр | Контракт |
|---|---|
Параметрcontent_type | Контрактapplication/json |
Параметрrequired | Контрактendpoint, model, requests |
Параметрmaterial_types | Контрактtext |
Параметрrepresentation | КонтрактВстроенный массив requests[]; у каждого элемента есть custom_id и body |
Параметрrequest_endpoint_profile | Контракт/v1/chat/completions |
Параметрfile_material | КонтрактВызывающая сторона может локально прочитать фактический JSONL в UTF-8 и поместить его в requests[]. Назначение загрузки, input_file_id и ссылка на файл не используются. Отсутствующий или пустой материал клиента останавливает подготовку до POST. |
Параметрserialization_order | Контрактendpoint, model, provider (если указан), completion_window (если указан), requests — последним |
Параметрoptional_controls | Контрактprovider.only, provider.allow_fallbacks, completion_window |
Параметрschema_scope | КонтрактТела текстовых запросов Chat Completions в документированной встроенной оболочке Batch. |
Жизненный цикл: asynchronous
GET /v1/batches/{operation_id} · Фактический response.id исходного ответа на создание; тот же пользователь, ключ и группа
Тарифы
Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.
- Быстрый режим
- Не указано При выборе быстрого режима
- Режим flex
- Не указано При выборе режима flex
- Максимальная интенсивность рассуждений
- Не указано При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)
- Цены явного кэширования
- Включено Когда запрошено явное кэширование
Ставки Ailoot
Цены по конфигурациям
Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.
| Конфигурация | Шкала ставок | Токенов контекста больше | Токенов контекста не более, включительно | Плата |
|---|---|---|---|---|
| КонфигурацияБазовые ставки за токены | Шкала ставокБазовая ставка | Токенов контекста больше— | Токенов контекста не более, включительноБез верхней границы | Плата Вход · Входные токены $0.015 / 1K токенов Выход · Выходные токены $0.075 / 1K токенов Вход · Чтение кэша $0.0015 / 1K токенов Вход · Запись в кэш $0.01875 / 1K токенов Вход · Запись в кэш, 1 час $0.03 / 1K токенов |
| КонфигурацияУровень 1 по длине запроса | Шкала ставок— | Токенов контекста больше0 | Токенов контекста не более, включительноБез верхней границы | Плата Вход · Входные токены $0.015 / 1K токенов Выход · Выходные токены $0.075 / 1K токенов Вход · Чтение кэша $0.0015 / 1K токенов Вход · Запись в кэш $0.01875 / 1K токенов Вход · Запись в кэш, 1 час $0.03 / 1K токенов |
Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →
Примеры запросов
Ailoot Ultra · Пакетная обработка
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"anthropic/claude-opus-4.1:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
import json, os
from pathlib import Path
from urllib.request import Request, urlopen
def prepare_requests(customer_path):
path = Path(customer_path)
if not path.is_file(): raise ValueError("Customer JSONL file is missing")
items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
if not items: raise ValueError("Customer JSONL contains no requests")
ids = set()
for item in items:
if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
cid = item["custom_id"]
if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
ids.add(cid)
if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
supplied_model = item["body"].get("model")
if supplied_model is not None and supplied_model not in ['anthropic/claude-opus-4.1:batch', 'anthropic/claude-opus-4.1']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"anthropic/claude-opus-4.1:batch", "requests":items}
if __name__ == "__main__":
material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
body = prepare_requests(material)
key = os.environ.get("AILOOT_API_KEY", "")
if not key: raise SystemExit("Set AILOOT_API_KEY")
request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
with urlopen(request) as response:
raw = response.read()
Path("batch-create-response.json").write_bytes(raw)
print(raw.decode("utf-8"))
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.
Получить и сохранить результаты
Ailoot Ultra · Пакетная обработка
Встроенный JSON results[].response.body
GET /v1/batches/{operation_id}
Проверить статус задачи
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
Сохраняйте все готовые результаты
Сохраняйте каждый полностью полученный ответ, файл и элемент содержимого.
Сохраняйте полный исходный JSON статуса, каждый результат и custom_id, а также полное тело ответа или ошибки. Сохраняйте завершённые results[] как JSONL без фильтрации.
Если нужно проверить исходный ответ
Сохраните исходный ID операции. Ответ 503 result_pending_check содержит X-Should-Retry:false; никогда не отправляйте повторно исходный пакет с неизвестным результатом.
Поля ответа
| Поле | Тип |
|---|---|
Полеresults[].custom_id | Типstring |
Полеresults[].response.body.choices[].message.content | Типstring|null |
Полеresults[].error | Типobject|null |
Полеusage | Типobject|null |
Полеid | Типstring |
Полеmodel | Типstring |
Полеendpoint | Типstring |
Полеstatus | Типstring |
Полеrequest_counts | Типobject |
Полеresults[].id | Типstring |
Полеresults[].response.status_code | Типinteger |
Полеresults[].response.request_id | Типstring |
Ошибки и дальнейшие шаги
| Ответ | Условие | Следующий шаг |
|---|---|---|
Ответ400 · invalid_request_error | УсловиеНеверный формат документированной встроенной оболочки, повторяющиеся ключи, ошибки идентификации элементов или конфликт настроенных возможностей модели. | Следующий шагИсправьте указанные поля перед любой новой отправкой. |
Ответ401 · authentication_error | УсловиеНедействительный ключ API. | Следующий шагИспользуйте разрешённый ключ Ailoot. |
Ответ403 · permission_error | УсловиеГруппа пакетной обработки недоступна. | Следующий шагПроверьте права доступа ключа и группы. |
Ответ422 · invalid_request_error | УсловиеПакетная обработка оплачивается с баланса; создание по подписке отклоняется. | Следующий шагИспользуйте разрешённую группу с оплатой с баланса. |
Ответ422 · price_unavailable | УсловиеСтоимость входных данных пакета невозможно рассчитать. | Следующий шагСохраните ответ; используйте документированный формат входных данных для этого семейства. |
Ответ402 · billing_error | УсловиеРезерв для пакетной обработки недоступен. | Следующий шагУстраните причину отказа в допуске перед новым запросом. |
Ответ503 · price_unavailable | УсловиеЦена метода пакетной обработки или нативные тарифы недоступны. | Следующий шагСохраните ответ; не подменяйте цены. |
Ответ503 · api_error | УсловиеТочный маршрут поставщика недоступен. | Следующий шагСохраните ответ для исправления маршрута. |
Ответ503 · result_pending_check | УсловиеИсходный результат требует проверки; X-Should-Retry:false. | Следующий шагСохраните исходный operation_id/id и читайте его статус; никогда не повторяйте исходный POST. |
Ответ404 · not_found | УсловиеОперация проверки статуса пакета отсутствует или принадлежит другой учётной записи. | Следующий шагИспользуйте точный исходный id и того же пользователя, ключ и группу. |
Псевдонимы
Псевдонимы моделей
Ailoot Ultra anthropic/claude-opus-4.1:batch
Псевдонимы путей метода
Используйте пути методов, указанные выше.
Связанные ID для вызова
FAQ · Anthropic: Claude Opus 4.1 (batch)
- Какие входные данные и результаты доступны?
POST /v1/batches·anthropic/claude-opus-4.1:batch:text→text- Какие поля использует запрос?
POST /v1/batches·anthropic/claude-opus-4.1:batch:endpoint,model,requests,completion_window,provider- Какие ограничения действуют?
POST /v1/batches·anthropic/claude-opus-4.1:batch:requests.min_items:1