Claude Opus 5, 24 Temmuz 2026'da piyasaya sürüldü. Anthropic, hangi modeli kullanacağınızdan emin değilseniz claude-opus-5 ile başlamanızı öneriyor. API model kimliği tarih son eki olmadan tam olarak claude-opus-5 dizgesidir.
Bu kılavuzda API anahtarı alma, ilk isteği gönderme, akış (streaming), araç kullanımı, adaptif düşünme, effort parametresi ve önbellek isabetlerini usage nesnesiyle doğrulama adımlarını uygulayacaksınız. Tüm örnekler JSON giriş/çıkışlı düz HTTP istekleridir; uygulama kodunuza bağlamadan önce bunları Apidog ile oluşturabilir, gönderebilir ve hata ayıklayabilirsiniz.
Opus 4.8'den geçiyorsanız, ilk çağrıdan önce iki davranış değişikliğini ele alın. Mevcut bir servisi taşıyorsanız bu yazıyla birlikte Opus 4.8'den Opus 5'e geçiş kılavuzunu da inceleyin.
İlk çağrınızdan önce: iki önemli değişiklik
1. Düşünme varsayılan olarak açıktır
Opus 4.8'de thinking alanı olmayan bir istek düşünmeden çalışıyordu. Opus 5'te aynı istek adaptif düşünmeyle çalışır.
max_tokens, düşünme belirteçleri ile görünür yanıt belirteçleri için ortak sınırdır. Bu nedenle Opus 4.8'den kopyalanan bir istek, Opus 5'te yanıt ortasında kesilebilir.
Yapılacaklar:
- Mevcut
max_tokensdeğerlerinizi gözden geçirin. - Beklenen çıktı uzunluğuna göre sınırı artırın.
- Testlerde
stop_reason: "max_tokens"durumunu hata veya uyarı olarak ele alın.
2. Düşünmeyi kapatmak, çaba seviyesini sınırlar
Aşağıdaki kombinasyon 400 hatası döndürür:
{
"thinking": {"type": "disabled"},
"output_config": {"effort": "xhigh"}
}
thinking: {"type": "disabled"} kullanıyorsanız çaba seviyesini en fazla high yapabilirsiniz. xhigh veya max istek başına reddedilir.
İki geçerli seçenek vardır:
- Düşünmeyi açık bırakın, maliyeti azaltmak için
effortdeğerini düşürün. - Düşünmeyi kapatın ve
effortdeğerinihighile sınırlayın.
Anthropic'in önerisi ilk seçenektir. Düşünme devre dışıyken model bazen araç çağrılarını çalıştırılabilir tool_use blokları yerine düz metin olarak yazabilir veya görünür çıktıya <thinking> etiketleri sızdırabilir.
Her iki değişiklik de Anthropic'in model taşıma kıluzunda belgelenmiştir.
Adım 1: API anahtarı alın
Claude Geliştirici Platformu'nda oturum açın, kuruluş ayarlarında API anahtarları bölümünü açın ve yeni bir anahtar oluşturun. Anahtarı oluşturduğunuz anda kopyalayın; daha sonra tekrar görüntüleyemezsiniz.
Anahtarı kaynak koda yazmak yerine ortam değişkeninde saklayın:
export ANTHROPIC_API_KEY="sk-ant-..."
Apidog gibi GUI istemcilerinde de anahtarı ortam değişkeni olarak tanımlayın:
- Yerel, Hazırlık veya Üretim ortamı oluşturun.
-
ANTHROPIC_API_KEYdeğişkenini ekleyin. - İstek başlığında anahtarı
{{ANTHROPIC_API_KEY}}olarak kullanın.
Bu yaklaşım, kaydedilmiş istekleri ekip ile paylaşırken sırların koleksiyon dışa aktarımlarına girmesini önler.
İsteklerin çalışması için faturalandırma kredileri de eklemeniz gerekir. Opus 5 fiyatı milyon giriş belirteci başına 5 dolar, milyon çıktı belirteci başına 25 dolardır. Bu fiyat Opus 4.8 ile aynıdır. Önbellekleme, toplu istek ve hızlı mod maliyetleri için tam fiyatlandırma dökümüne bakın.
Adım 2: İlk isteğinizi gönderin
Uç nokta:
POST https://api.anthropic.com/v1/messages
Gerekli başlıklar:
x-api-keyanthropic-versioncontent-type
İlk isteği curl ile gönderin:
curl https://api.anthropic.com/v1/messages \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data '{
"model": "claude-opus-5",
"max_tokens": 4096,
"messages": [
{
"role": "user",
"content": "API açısından 429 ve 529 arasındaki farkı açıklayın."
}
]
}'
Buradaki max_tokens: 4096 değeri bilinçli olarak seçilmiştir. Düşünme belirteçleri de aynı bütçeden kullanıldığı için birçok örnekteki 1024 değeri erken kesilmeye neden olabilir.
Python SDK örneği
import os
from anthropic import Anthropic
client = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])
message = client.messages.create(
model="claude-opus-5",
max_tokens=4096,
messages=[
{
"role": "user",
"content": "API açısından 429 ve 529 arasındaki farkı açıklayın."
}
],
)
for block in message.content:
if block.type == "text":
print(block.text)
message.content dizisi farklı blok tipleri içerebilir. Düşünme açıksa text bloğundan önce thinking bloğu bulunabilir.
Bu nedenle aşağıdaki kod risklidir:
print(message.content[0].text)
Bunun yerine blokları türe göre işleyin:
for block in message.content:
if block.type == "text":
print(block.text)
Opus 5 yapılandırmasında dikkate alınması gereken diğer sınırlar:
- Varsayılan ve maksimum bağlam penceresi: 1 milyon belirteç
- Mesajlar API'si maksimum çıktı: 128k belirteç
- Bilgi kesme tarihi: Mayıs 2026
Tam model karşılaştırması için Anthropic'in model genel bakışına, daha geniş özellik özeti için Opus 5 açıklayıcısına bakabilirsiniz.
Adım 3: Adaptif düşünmeyle çalışın
Adaptif düşünme, modelin isteğin karmaşıklığına göre ne kadar dahili akıl yürütme yapacağına karar vermesidir. Ayrı bir düşünme belirteci bütçesi tanımlamazsınız; davranışı effort ile yönlendirirsiniz.
Uygulamanızda şu kuralları uygulayın:
-
Blokları türe göre ayrıştırın: Görünür yanıt için
block.type == "text"kullanın. -
Düşünme bloklarını koruyun: Çok turlu konuşmalarda ve araç döngülerinde önceki
contentdizisini olduğu gibi mesaj geçmişine ekleyin. -
max_tokensbütçesini izleyin: Düşünme ve yanıt aynı sınırı paylaşır. -
Kesilmeyi test edin:
stop_reason: "max_tokens"yanıtın tamamlanmadığını gösterir.
Düşünmeyi tamamen kapatmanız gerekiyorsa:
{
"model": "claude-opus-5",
"max_tokens": 4096,
"thinking": {"type": "disabled"},
"output_config": {"effort": "high"},
"messages": [
{
"role": "user",
"content": "Yalnızca HTTP durum kodunu döndür."
}
]
}
Bu istekte effort kasıtlı olarak high ile sınırlıdır. xhigh kullanırsanız 400 hatası alırsınız.
Adım 4: output_config.effort ile maliyeti kontrol edin
effort, output_config altında tanımlanır ve şu değerleri kabul eder:
low
medium
high
xhigh
max
Varsayılan değer high'dır.
Örnek olarak daha yüksek çabalı bir istek:
curl https://api.anthropic.com/v1/messages \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data '{
"model": "claude-opus-5",
"max_tokens": 65536,
"output_config": {"effort": "xhigh"},
"messages": [
{
"role": "user",
"content": "Bu işleyiciyi yanıtları akışa almak ve geri basıncı korumak için yeniden düzenleyin."
}
]
}'
Çaba seviyelerini ayarlarken şu noktaları göz önünde bulundurun:
Opus 4.8 ayarlarını doğrudan taşımayın
Anthropic, Opus 4.8 çaba ayarlarının bire bir taşınmamasını öneriyor. Opus 5'te low ve medium, önceki Opus modellerindeki karşılıklarından daha güçlüdür.
Uygulamanız için yeniden değerlendirme yapın:
- Aynı istemi her çaba seviyesiyle çalıştırın.
- Çıktı kalitesini karşılaştırın.
- Gecikme ve belirteç kullanımını kaydedin.
- İş yükü bazında uygun varsayılanı seçin.
Kodlama ve ajan iş yüklerinde xhigh ile başlayın
Kodlama veya ajan tabanlı iş akışları için xhigh önerilen başlangıç noktasıdır. Bu seviyede max_tokens özellikle önemlidir. Uzun ajan dönüşleri için 65536 makul bir başlangıç sınırıdır.
Düşük çaba, yanıtı otomatik kısaltmaz
Daha düşük effort, görünür metnin uzunluğunu değil, ağırlıklı olarak düşünme miktarını azaltır. Daha kısa çıktı istiyorsanız bunu isteminizde açıkça belirtin.
Örneğin:
Yanıtı en fazla 5 maddeyle ve 200 kelime altında ver.
Daha ayrıntılı test yaklaşımı için çaba parametresi incelemesini kullanabilirsiniz.
Adım 5: Yanıtı akışa alın
İsteğe "stream": true eklediğinizde API tek JSON yanıtı yerine Server-Sent Events (SSE) akışı döndürür.
Python SDK ile akış örneği:
with client.messages.stream(
model="claude-opus-5",
max_tokens=4096,
messages=[
{
"role": "user",
"content": "Güvenilir olmayan bir üst akış için yeniden deneme politikası taslağı oluşturun."
}
],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
final = stream.get_final_message()
print("\n\nusage:", final.usage)
Ham SSE olay sırası şu şekildedir:
message_start
content_block_start
content_block_delta
content_block_stop
message_delta
message_stop
Düşünme açık olduğunda genellikle iki içerik bloğu görürsünüz:
-
thinking_deltaolaylarıyla gelen düşünme bloğu -
text_deltaolaylarıyla gelen görünür metin bloğu
Bu iki akışı aynı kullanıcı arayüzü arabelleğine yazmayın. Aksi halde modelin dahili akıl yürütmesi kullanıcılara gösterilebilir.
Akış davranışını uygulama kodu yazmadan doğrulamak için Apidog ile SSE olaylarını canlı olarak inceleyebilirsiniz.
Adım 6: Araç kullanımını ekleyin
Araç tanımlarını tools dizisinde gönderirsiniz. Model araç çağırmak istediğinde:
-
stop_reason: "tool_use"döner. - Yanıtta
tool_useiçerik bloğu bulunur. - Aracı uygulamanızda çalıştırırsınız.
- Sonucu yeni bir kullanıcı mesajında
tool_resultbloğu olarak geri gönderirsiniz.
Örnek:
tools = [
{
"name": "get_order_status",
"description": "Müşteri siparişinin mevcut durumunu kimliğe göre arayın.",
"input_schema": {
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "Sipariş kimliği, örn. A-10293"
}
},
"required": ["order_id"],
},
}
]
message = client.messages.create(
model="claude-opus-5",
max_tokens=4096,
tools=tools,
messages=[
{
"role": "user",
"content": "A-10293 siparişinin durumu nedir?"
}
],
)
if message.stop_reason == "tool_use":
call = next(block for block in message.content if block.type == "tool_use")
result = get_order_status(**call.input)
follow_up = client.messages.create(
model="claude-opus-5",
max_tokens=4096,
tools=tools,
messages=[
{
"role": "user",
"content": "A-10293 siparişinin durumu nedir?"
},
{
"role": "assistant",
"content": message.content
},
{
"role": "user",
"content": [
{
"type": "tool_result",
"tool_use_id": call.id,
"content": result
}
]
},
],
)
Buradaki kritik ayrıntı şudur:
{
"role": "assistant",
"content": message.content
}
message.content dizisini olduğu gibi geri gönderin. Özellikle düşünme bloklarını elle yeniden oluşturmaya veya yalnızca metin bloklarını taşımaya çalışmayın.
Ajan iş yükleri için iki Opus 5 detayı:
-
tool_choicedeğeriautoveyanoneolduğunda araç kullanımı sistem istemi ek yükü 286 belirteçtir. Bu, Opus 4.8'de 290, Opus 4.7'de 675 belirteçtir. -
mid-conversation-tool-changes-2026-07-01beta başlığı, prompt önbelleğini geçersiz kılmadan konuşma sırasında araç ekleme veya kaldırma imkânı sunar.
Opus 5 alt aracılara daha kolay devredebilir. Maliyet hassasiyeti olan sistemlerde bu davranışı sistem isteminizde açıkça sınırlandırın.
Adım 7: Önbellek isabetleri için usage nesnesini okuyun
Her yanıt bir usage nesnesi içerir. Prompt önbelleklemenin çalıştığını doğrulamak için bu alanları kontrol edin:
"usage": {
"input_tokens": 84,
"cache_creation_input_tokens": 6421,
"cache_read_input_tokens": 0,
"output_tokens": 913
}
Sabit bir bloğu önbelleğe almak için cache_control ekleyin:
{
"model": "claude-opus-5",
"max_tokens": 4096,
"system": [
{
"type": "text",
"text": "<uzun, sabit talimatlarınız ve referans materyaliniz>",
"cache_control": {"type": "ephemeral"}
}
],
"messages": [
{
"role": "user",
"content": "Birinci soru."
}
]
}
Önbellek davranışını iki çağrıyla doğrulayın:
| Çağrı | cache_creation_input_tokens |
cache_read_input_tokens |
|---|---|---|
| İlk çağrı | Sıfırdan büyük | 0 |
| Aynı önekle ikinci çağrı | Düşük veya 0
|
Sıfırdan büyük |
İkinci çağrıda cache_read_input_tokens hâlâ 0 ise:
- Önekiniz bayt düzeyinde aynı değildir.
- Önbelleğe alınacak bölüm minimum belirteç eşiğinin altındadır.
- Sistem istemi, araçlar veya ilgili girişler değişmiştir.
Opus 5'te prompt önbellekleme minimumu 512 belirteçtir. Bu değer Opus 4.8'de 1.024 belirteçti. Önbellek okuma maliyeti milyon belirteç başına 0,50 dolar, temel giriş maliyeti ise milyon belirteç başına 5 dolardır.
Test paketinize şu kontrolü ekleyin:
assert response.usage.cache_read_input_tokens > 0
Böylece önbelleği sessizce bozan bir prompt değişikliği, faturada sürpriz yaratmak yerine test hatası olarak görünür. Maliyet optimizasyonu için Claude API faturanızı düşürme kılavuzunu inceleyin.
Tüm akışı Apidog'da test edin ve hata ayıklayın
Bu entegrasyonun temel parçaları şunlardır:
- Yetkilendirme başlıkları
- JSON istek gövdesi
- SSE akışı
- Araç çağrısı yükleri
-
usagevestop_reasonalanları
Apidog, bu tür uç noktaları oluşturmak, göndermek, incelemek ve test etmek için kullanılabilir. Model çıkarımı veya yönlendirme yapmaz; istek doğrudan Anthropic'e gider.
İlk gün uygulayabileceğiniz kurulum:
İsteği oluşturun.
POST https://api.anthropic.com/v1/messagesisteğini oluşturun. Üç gerekli başlığı ekleyin ve anahtarı ortam değişkeninden okuyun.İsteği koleksiyona kaydedin.
Ekip üyeleri aynı doğrulanmış istek şablonunu kullanabilsin.Çaba seviyeleri için istekleri çoğaltın.
Aynı istemi şu değerlerle çalıştırın:
low
medium
high
xhigh
Çıktı kalitesini, gecikmeyi ve belirteç kullanımını yan yana karşılaştırın.
SSE akışını inceleyin.
"stream": trueekleyin.thinkingvetextbloklarının ayrı geldiğini doğrulayın.Araç çağrısı yüklerini kontrol edin.
stop_reason: "tool_use"döndüğünde modelin ürettiğiinputnesnesini inceleyin. Bu,input_schematanımınızın fazla gevşek veya eksik olup olmadığını gösterir.Yanıt doğrulamaları ekleyin.
En az şu iki koşulu test edin:
stop_reason != "max_tokens"
cache_read_input_tokens > 0
Başlamak için Apidog'u indirin. Aynı koleksiyon yaklaşımı diğer Claude modellerinde de çalışır; örneğin Sonnet 5 veya mevcut Opus 4.8 istekleri ile davranış karşılaştırması yapabilirsiniz.
Gerçekte karşılaşacağınız hatalar ve tuzaklar
thinking: disabledilexhighveyamaxkullanırken 400 hatası
effortdeğerinihighseviyesine düşürün veya düşünmeyi tekrar etkinleştirin.Örnekleme parametreleri nedeniyle 400 hatası
temperature,top_pvetop_k, varsayılan olmayan değerlerle hâlâ 400 hatası döndürür. Model davranışını bunun yerine sistem istemiyle yönlendirin.Kısaltılmış yanıtlar
stop_reason: "max_tokens"görüyorsanız düşünme ve görünür yanıt ortak bütçeyi tüketmiştir.max_tokensdeğerini artırın.Öncelik Katmanı desteği yoktur
Opus 5, Öncelik Katmanı'nı desteklemez. Opus 4.8 bu desteği korur. Kurumsal kapasite planlamanız buna bağlıysa geçiş öncesinde bu engeli çözün.Konuşma ortası sistem mesajları artık desteklenir
messagesdizisindekirole: "system"girdileri Opus 5'te kabul edilir. Opus 4.8'de bu yapı 400 hatasına neden oluyordu.Aşırı doğrulama istemleri
Opus 4.8'den kalan “yanıt vermeden önce cevabınızı iki kez kontrol edin” gibi talimatları değerlendirin. Opus 5 zaten istenmeden kendi işini doğrulayabilir; bu talimatlar ek düşünme belirteci tüketebilir.
Dürüst tavan
Opus 5, Claude yığınının mutlak zirvesi değildir. Fable 5, milyon giriş belirteci başına 10 dolar ve milyon çıktı belirteci başına 50 dolar maliyetle Anthropic'in “en yetenekli geniş çapta yayınlanan” modeli olmaya devam eder.
Anthropic ayrıca Opus 5'in siber güvenlik istismarı ve otonom biyoloji araştırmalarında Mythos 5'in gerisinde olduğunu belirtir.
Lansman kıyaslama iddiaları da satıcı tarafından yayımlanmış sonuçlar olarak değerlendirilmelidir:
- Frontier-Bench v0.1'de Opus 4.8'in yaklaşık iki katı
- ARC-AGI 3'te bir sonraki en iyi modelin yaklaşık üç katı
- CursorBench 3.2'de Fable 5'in
%0.5içinde
Bu sonuçlar 25 Temmuz 2026 itibarıyla bağımsız olarak çoğaltılmamıştır. Kendi kullanım senaryonuz için değerlendirme seti çalıştırın. Fiyat/fayda farkını anlamak için Opus 5 ve Fable 5 karşılaştırmasını, birincil kaynak için Anthropic'in lansman yazısını inceleyin.
SSS
Claude Opus 5 model kimliği nedir?
Tarih son eki olmadan:
claude-opus-5
Amazon Bedrock'ta model kimliği anthropic.claude-opus-5 şeklindedir. Google Cloud ve AWS'deki Claude Platformu birinci taraf kimliğini kullanır.
Çalışan Opus 4.8 isteğim neden Opus 5'te kesilmeye başladı?
Düşünme artık varsayılan olarak açıktır. max_tokens, düşünme ve yanıt belirteçleri için ortak üst sınırdır. max_tokens değerini artırın ve stop_reason: "max_tokens" alanını kontrol edin.
Düşünmeyi devre dışı bıraktığımda neden 400 hatası alıyorum?
Muhtemelen aşağıdaki kombinasyonu kullanıyorsunuz:
{
"thinking": {"type": "disabled"},
"output_config": {"effort": "xhigh"}
}
xhigh veya max yerine high kullanın ya da düşünmeyi açık bırakıp çaba seviyesini düşürün.
1M bağlam penceresi için beta başlığı gerekiyor mu?
Hayır. Opus 5'te 1 milyon belirteç hem varsayılan hem de maksimum bağlam penceresidir. Beta başlığı veya uzun bağlam fiyat primi gerekmez.
Toplu API'de 300k çıktıya ulaşmak için output-300k-2026-03-24 beta başlığı gerekir. Mesajlar API'si çıktıyı 128k ile sınırlar.
Opus 4.8 çaba ayarlarımı tekrar kullanabilir miyim?
Anthropic bunu önermiyor. Çaba seviyeleri yeniden kalibre edildi. Özellikle low ve medium, Opus 5'te daha güçlüdür. Kendi değerlendirme setinizle yeni bir tarama yapın.
Apidog modeli çalıştırıyor mu?
Hayır. Apidog HTTP isteklerini gönderir, inceler ve test eder. Çıkarım Anthropic tarafında gerçekleşir. Apidog; anahtarları, akışları, araç çağrısı yüklerini ve yanıt doğrulamalarını yönetmenize yardımcı olur.


Top comments (0)