Главная / Документация / Разбор первого запроса

Разбор первого запроса

Построчный разбор одного вызова Messages — назначение каждого поля и содержимое ответа.

Краткое руководство позволяет получить ответ. Эта страница объясняет значение каждой части запроса, чтобы следующий запрос вы могли написать самостоятельно.

Запрос

curl https://aiprimetech.io/v1/messages \
  -H "x-api-key: $CLAUDEAPIKEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Hello"}]
  }'
ПолеОбязательноЧто делает
modelдаКакую модель запускать. Значение должно совпадать с идентификатором из /v1/models в точности.
max_tokensдаЖёсткий верхний предел для вывода. Модель останавливается на этом пределе, даже посреди предложения. Это средство контроля затрат, а не целевое значение.
messagesдаВся история разговора, начиная с самых ранних сообщений. Каждая запись содержит role (user или assistant) и content.
systemнетИнструкции, действующие на протяжении всего разговора. Поле верхнего уровня, а не сообщение с role: system.
temperatureнет0–1. Чем ниже значение, тем более детерминирован результат. Не задавайте его без необходимости.
streamнетtrue возвращает события, отправляемые сервером, вместо одного тела JSON. См. Потоковая передача.

Ответ

{
  "id": "msg_01ABC...",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4-6",
  "content": [{"type": "text", "text": "Hello! How can I help?"}],
  "stop_reason": "end_turn",
  "usage": {"input_tokens": 9, "output_tokens": 12}
}
Если stop_reason здесь является max_tokens, ваш ответ был обрезан. Увеличьте max_tokens или попросите более короткий ответ — не повторяйте запрос вслепую: за обрезанный вывод вы тоже платите.

Многоходовые разговоры

API не сохраняет состояние. Чтобы продолжить разговор, нужно повторно отправить всю историю, включая предыдущие ответы модели:

{
  "model": "claude-sonnet-4-6",
  "max_tokens": 1024,
  "messages": [
    {"role": "user", "content": "What is the capital of France?"},
    {"role": "assistant", "content": "Paris."},
    {"role": "user", "content": "And its population?"}
  ]
}
Поскольку история отправляется заново на каждом шаге, количество входных токенов растёт по мере разговора, а вместе с ним растёт и счёт. Поэтому длительные сеансы работы с агентами обходятся дорого. Кэширование промптов и управление контекстом оба напрямую решают эту проблему.