0Pricing
AI Agents · Урок

Вызов Anthropic API: messages

Используйте API Anthropic messages: изучите отличия от OpenAI, размещение системного промпта и рекомендации для Claude.

«Вызов Anthropic API: messages» — бесплатный урок AI Agents на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Agents, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Agents содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Почему Anthropic

Модели Claude часто лучше следуют инструкциям, эффективнее работают с инструментами и имеют более длинные контекстные окна, чем сопоставимые модели OpenAI, — а иногда стоят дешевле.

Большинство рабочих агентов поддерживают обоих провайдеров как резервный вариант.

Install the SDK

# pip install anthropic
import anthropic
client = anthropic.Anthropic()  # reads ANTHROPIC_API_KEY from env

Ваш первый вызов

Используется конечная точка messages.create:

response = client.messages.create(
    model='claude-sonnet-4-5',
    max_tokens=512,
    system='You are a concise assistant.',
    messages=[
        {'role': 'user', 'content': 'Capital of France?'},
    ],
)
print(response.content[0].text)
# 'Paris.'

Основные отличия от OpenAI

  1. system — параметр верхнего уровня, а не сообщение
  2. max_tokens имеет значение REQUIRED
  3. content — это список блоков (текст, tool_use и т. д.)
  4. Параметра n нет — используйте несколько вызовов

Блоки содержимого

Даже текстовые ответы представлены в виде списка блоков:

response.content              # list of blocks
response.content[0].type      # 'text' or 'tool_use'
response.content[0].text      # the text content
response.stop_reason          # 'end_turn' / 'max_tokens' / 'tool_use'
response.usage.input_tokens
response.usage.output_tokens

Содержимое из нескольких блоков

Вы также можете отправлять список блоков содержимого в сообщениях пользователя (изображения, результаты инструментов):

messages = [{
    'role': 'user',
    'content': [
        {'type': 'text', 'text': 'What is in this image?'},
        {'type': 'image', 'source': {
            'type': 'base64',
            'media_type': 'image/png',
            'data': image_base64
        }}
    ]
}]

Предварительное заполнение ассистента

Принудительно задайте определённое начало ответа:

messages = [
    {'role': 'user', 'content': 'Return a JSON object.'},
    {'role': 'assistant', 'content': '{'}
]
response = client.messages.create(
    model='claude-sonnet-4-5',
    max_tokens=512,
    messages=messages,
)
# Output starts after '{', guaranteed to be JSON.

Использование инструментов

Формат инструментов Anthropic похож на формат OpenAI, но использует input_schema:

tools = [{
    'name': 'get_weather',
    'description': 'Get current weather',
    'input_schema': {
        'type': 'object',
        'properties': {'city': {'type': 'string'}},
        'required': ['city']
    }
}]

response = client.messages.create(
    model='claude-sonnet-4-5',
    max_tokens=1024,
    tools=tools,
    messages=messages,
)
if response.stop_reason == 'tool_use':
    for block in response.content:
        if block.type == 'tool_use':
            print(block.name, block.input)

Возврат результатов инструментов

Результаты инструментов помещаются в сообщение пользователя с блоком tool_result:

messages.append({
    'role': 'user',
    'content': [{
        'type': 'tool_result',
        'tool_use_id': 'toolu_abc',
        'content': json.dumps(weather_data)
    }]
})

Кэширование промптов

Anthropic поддерживает кэширование промптов: помечайте длинные статические префиксы с помощью cache_control и платите 10% при попадании в кэш:

system = [
    {'type': 'text', 'text': '...long system prompt...',
     'cache_control': {'type': 'ephemeral'}}
]
for block in system:
    print(f"type={block['type']} cache_control={block['cache_control']}")
    print("text preview:", block['text'][:30])

Расширенное рассуждение

Claude поддерживает режим «расширенного рассуждения», в котором модель сначала рассуждает внутри себя, а затем отвечает:

response = client.messages.create(
    model='claude-sonnet-4-5',
    max_tokens=4096,
    thinking={'type': 'enabled', 'budget_tokens': 2048},
    messages=messages,
)

Расположение системного промпта

Куда помещается системный промпт в API Anthropic?

Итоги

Теперь Вы умеете вызывать обоих основных провайдеров. Различия невелики, но реальны — большинство команд создают тонкий адаптер, позволяющий переключаться между ними.

Часто задаваемые вопросы

Урок «Вызов Anthropic API: messages» бесплатный?

Да — полный текст урока «Вызов Anthropic API: messages» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Agents, подпишись на CoddyKit PRO. Курс AI Agents содержит 4 уроков всего.

Чему я научусь в уроке «Вызов Anthropic API: messages»?

Используйте API Anthropic messages: изучите отличия от OpenAI, размещение системного промпта и рекомендации для Claude. Ты практикуешь AI Agents с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать AI Agents?

Предыдущий опыт не требуется. AI Agents на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Вызов Anthropic API: messages»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке AI Agents?

Да. Каждый урок AI Agents включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Вызов OpenAI API: chat.completions
  2. Вызов Anthropic API: messages
  3. Потоковая передача ответов (SSE)
  4. Контроль расходов: подсчёт токенов и бюджеты
← Назад к AI Agents