Wywoływanie Anthropic API: messages
Używaj API Anthropic messages: poznaj różnice względem OpenAI, umiejscowienie promptu systemowego oraz najlepsze praktyki właściwe dla Claude.
Wywoływanie Anthropic API: messages to bezpłatna lekcja AI Agents na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AI Agents, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AI Agents zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
Dlaczego Anthropic?
Modele Claude często lepiej stosują się do instrukcji, lepiej korzystają z narzędzi i mają większe okna kontekstu niż odpowiadające im modele OpenAI — a czasami są również tańsze.
Większość agentów produkcyjnych obsługuje obu dostawców, aby zapewnić rozwiązanie awaryjne.
Install the SDK
# pip install anthropic
import anthropic
client = anthropic.Anthropic() # reads ANTHROPIC_API_KEY from envPierwsze wywołanie
Punktem końcowym jest 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.'Najważniejsze różnice względem OpenAI
systemjest parametrem najwyższego poziomu, a nie wiadomościąmax_tokensjest WYMAGANYcontentjest listą bloków (text, tool_use itd.)- Brak parametru
n— należy użyć wielu wywołań
Bloki treści
Nawet odpowiedzi tekstowe są zwracane jako lista bloków:
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_tokensTreść wieloblokowa
W wiadomościach user można również wysyłać listę bloków treści (obrazy, wyniki narzędzi):
messages = [{
'role': 'user',
'content': [
{'type': 'text', 'text': 'What is in this image?'},
{'type': 'image', 'source': {
'type': 'base64',
'media_type': 'image/png',
'data': image_base64
}}
]
}]Wstępne wypełnianie assistant
Można wymusić rozpoczęcie odpowiedzi w określony sposób:
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.Korzystanie z narzędzi
Format narzędzi Anthropic jest podobny do formatu OpenAI, ale używa 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)Zwracanie wyników narzędzi
Wyniki narzędzi umieszcza się w wiadomości użytkownika z blokiem tool_result:
messages.append({
'role': 'user',
'content': [{
'type': 'tool_result',
'tool_use_id': 'toolu_abc',
'content': json.dumps(weather_data)
}]
})Buforowanie promptów
Anthropic obsługuje buforowanie promptów — długie, statyczne prefiksy należy oznaczyć za pomocą cache_control, a za trafienia do pamięci podręcznej płaci się 10% ceny:
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])
Rozszerzone rozumowanie
Claude ma tryb „extended thinking”, w którym przed udzieleniem odpowiedzi rozumuje wewnętrznie:
response = client.messages.create(
model='claude-sonnet-4-5',
max_tokens=4096,
thinking={'type': 'enabled', 'budget_tokens': 2048},
messages=messages,
)Lokalizacja promptu systemowego
Gdzie w API Anthropic umieszcza się prompt systemowy?
Podsumowanie
Można już wywoływać obu głównych dostawców. Różnice są niewielkie, ale rzeczywiste — większość zespołów tworzy cienką warstwę adaptera, aby móc przełączać się między nimi.
Często zadawane pytania
Czy lekcja „Wywoływanie Anthropic API: messages” jest bezpłatna?
Tak — pełny tekst „Wywoływanie Anthropic API: messages” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AI Agents, przejdź na CoddyKit PRO. Kurs AI Agents zawiera 4 lekcji w sumie.
Co nauczysz się w „Wywoływanie Anthropic API: messages”?
Używaj API Anthropic messages: poznaj różnice względem OpenAI, umiejscowienie promptu systemowego oraz najlepsze praktyki właściwe dla Claude. Ćwiczysz AI Agents z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć AI Agents?
Nie wymagamy żadnego doświadczenia. AI Agents w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Wywoływanie Anthropic API: messages”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji AI Agents?
Tak. Każda lekcja AI Agents zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Wywoływanie OpenAI API: chat.completions
- Wywoływanie Anthropic API: messages
- Strumieniowanie odpowiedzi (SSE)
- Świadomość kosztów: liczenie tokenów i budżety