Program
Geçen hafta, Anthropic’in amiral gemisi modelinin en son sürümü olan Claude Opus 4.7 yayımlandı. Yaklaşık üç kat daha yüksek görsel çözünürlük ve karmaşık istemlere daha birebir uyum sunan Opus 4.7, karmaşık kullanıcı arayüzlerinde gezinmek ve yüksek doğruluktaki teknik diyagramları cerrahi bir hassasiyetle ayrıştırmak için tasarlandı.
Bu eğitimde, Claude Opus 4.7 ile gelen başlıca değişiklikleri adım adım anlatacağım. Modelin ne olduğunu, getirdiği kritik yenilikleri ve Python ile yerelde nasıl yapılandırılacağını inceleyeceğiz. Son olarak, tamamen işlevsel, çok adımlı bir demo projesi geliştireceğiz: otonom, yüksek çözünürlüklü bir görsel grafik sayısallaştırıcı.
Anthropic’in büyük dil modelleri (LLM) hakkında daha fazla bilgi edinmek isterseniz Claude Modellerine Giriş kursumuzu öneririm.
Claude Opus 4.7 nedir?
Claude Opus 4.7, Anthropic’in en yeni amiral gemisi LLM’idir. Şirket, daha güçlü Claude Mythos Preview modelini yalnızca onaylı güvenlik uzmanlarına sınırladığı için, Opus 4.7 genel geliştiriciler için başlıca ve geniş ölçekte erişilebilir uygulama programlama arayüzü olmaya devam etmektedir.
Bu sürüm birkaç alanda iyileştirmeler getiriyor:
- Görsel veri yorumlama
- Matematiksel mantık
- Talimatları izleme
- Karmaşık kodlama ortamlarındaki içeriği hafızada tutma
Geliştiriciler, modelin katı talimatları izleme ve tekrarlayan işlem döngülerinden kaçınma becerisinde belirgin gelişmeler olduğunu aktarıyor. Opus 4.7, kod yazmadan önce içgüdüsel olarak işini iki kez kontrol eder ve varsayımlarını gözden geçirir; bu da ajanların sürekli hata döngülerine takılma riskini büyük ölçüde azaltır.
Kıyaslama verilerine bakıldığında bir sonuç özellikle öne çıkıyor. Yapay zekânın gerçek açık kaynaklı GitHub yazılım hatalarını ne kadar iyi düzelttiğini ölçen zorlu SWE-bench Pro testinde, Opus 4.7 selefine kıyasla 10,9 puanlık bir artış elde etti. Bu sıçrama, Opus model ailesinin ajan temelli programlamadaki birincil rolünü pekiştiriyor.
Model hakkında daha fazla bilgi edinmek için Claude Opus 4.7 rehberimize göz atın.
Claude Opus 4.7’de Neler Yeni?
Opus 4.7’ye geçiş, hesaplama kaynaklarını yönetmek için tamamen yeni kontrol düzlemleri ve istem mühendisliğinde bazı değişiklikler getiriyor. Bilmeniz gereken başlıca değişiklikler ve yeni özellikler şunlar:
-
Yüksek çözünürlüklü çok kipli görme: Model, kabul edilen maksimum görüntü boyutunu uzun kenarda 2.576 piksele çıkararak yaklaşık 3,75 megapiksel etkili çözünürlük sunuyor. Geometrik koordinat eşlemesi baştan tasarlandı; artık sınırlayıcı kutu koordinatları gerçek görüntü pikselleriyle katı biçimde 1:1 eşleşiyor ve bu da karmaşık ölçek faktörü hesaplarına olan ihtiyacı ortadan kaldırıyor.
-
Uyarlamalı düşünme: Genişletilmiş düşünme bütçeleri (ör.
budget_tokens) tamamen kaldırıldı. Eski istekleri göndermek HTTP 400 hata dönüşüyle reddedilecek. Bunun yerine Opus 4.7, istem karmaşıklığına göre kendi iç akıl yürütme bütçesini dinamik olarak tahsis etmesine olanak tanıyan "uyarlamalı düşünme"yi (thinking: {"type": "adaptive"}) zorunlu kılıyor. -
Ayrıntılı çaba denetimi: Yeni bir parametre değeri olan
xhigh(extra high), matematiksel olarak standarthighile en yüksekmaxçaba yapılandırmaları arasına konumlandırıldı. Anthropic, ajan temelli kodlama ve karmaşık problem çözme için en iyi başlangıç noktası olarakxhighdeğerini kuvvetle tavsiye ediyor. Model ayrıca mutlak “sözcüğü sözcüğüne” yaklaşımına yöneldi; verilen metni satır aralarını okumadan tam olarak uygular. -
Görev bütçeleri: Kontrolden çıkan ajan döngülerini matematiksel olarak azaltmak için Opus 4.7 “görev bütçeleri”ni (şu anda herkese açık betada) tanıtıyor. Bir
task_budgettanımlayarak, geliştiriciler modelin tüm görev yaşam döngüsü için mutlak toplam belirteç (token) hakkını açıkça bildirir. Model bu geri sayımı sürekli takip eder ve görevin zarifçe tamamlanmasını sağlamak için kendi kendini düzenler. -
İstemci tarafı bellek aracı: Opus 4.7, yönetilen bir karalama defterine yazma ve oradan okuma konusunda olağanüstü yetenekli. Bunu resmileştirmek için Anthropic, MemFS (Bellek Dosya Sistemi) iş akışlarına optimize edilmiş, git destekli eşitleme yetenekleri sağlayan istemci tarafı bellek aracını güçlendirdi.
Claude Opus 4.7 Ortamını Kurma
Demo projemizi kodlamaya başlamadan önce, ortamımızı Opus 4.7’yi destekleyecek şekilde kurmamız gerekiyor. Bu eğitimde, eşzamanlı olmayan Python kullanacağız; çünkü veri yoğun ve yüksek eşzamanlılık gerektiren iş akışlarında sektör standardıdır.
Sistemimizde Python 3.8 veya üzeri kurulu olmalı. Bağımlılık çakışmalarını önlemek için yalıtılmış bir sanal ortam oluşturmanızı şiddetle tavsiye ederim.
Anaconda kullanarak opus_4_7 adlı böyle bir ortamı nasıl oluşturup etkinleştireceğiniz aşağıda yer alıyor:
conda create -n opus_4_7 python=3.10 -y
conda activate opus_4_7
Claude Opus 4.7 ile Otonom Yüksek Çözünürlüklü Bir Grafik Sayısallaştırıcı İnşa Etme
Claude Opus 4.7’nin teorik yeteneklerini pratik bir uygulamaya dökmek için, otonom bir yüksek çözünürlüklü grafik sayısallaştırıcı oluşturacağız.
Veri bilimciler, sürekli olarak saçılım grafikleri, çubuk grafikler veya çizgi grafikleri gibi statik görseller ya da PDF’ler içinde kilitli değerli verilerle karşılaşır. Eski yapay zekâ modellerini kullanırken, bu grafiklerden veri çıkarmayı otomatikleştirmek için karmaşık ölçek faktörü matematiği yazmak gerekirdi.
Bu projede, herhangi bir grafiğin ekran görüntüsünü alıp ham verileri içeren bir CSV dosyası oluşturan bir Python komutu yazacağız.
Açıkça şunları yapacağız:
-
Yeni 3,75 MP görme ve 1:1 piksel eşlemesini kullanarak grafiği kusursuz biçimde okumak.
-
xhighçaba düzeyinde uyarlamalı düşünmeyi kullanarak X ve Y eksenlerini titizlikle çıkarsamak. -
Kesin veri noktalarını içeren temiz bir Pandas DataFrame çıktısı almak.
Bu süreci adım adım anlatacağım. Bu eğitim kendi içinde yeterlidir; ancak modelin yetenekleri hakkında daha fazla bilgi edinmek veya kendi ajanlarınızı uygularken takılırsanız, resmî dokümantasyonuna bakın.
Adım 1: API anahtarını ayarlayın
Öncelikle kimlik doğrulamayı etkinleştirmemiz gerekiyor. Bunun için Anthropic Developer Console üzerinde bir API anahtarı oluşturmalıyız.
API kimlik bilgilerini asla doğrudan kaynak kod deposuna gömmeyin. Bunun yerine, projenizin kök dizininde güvenli bir .env dosyası oluşturun:
ANTHROPIC_API_KEY=<paste_your_api_key_here>
Modelin ücretsiz olmadığını unutmayın. API anahtarını etkinleştirmek için hesabımıza kredi eklememiz gerekir. İyi haber şu ki modelin fiyatlandırması önceki iki modelle aynıdır:

Adım 2: Python bağımlılıklarını kurun
Sırada gerekli kütüphaneleri yüklemek var. Şunlara ihtiyacımız olacak:
-
API entegrasyonu için resmî anthropic SDK’sı
anthropic; -
ortam değişkeni yönetimi için
python-dotenv; -
çıkarılan verileri yapılandırmak için
pandas.
Terminalinizi açın ve aşağıdaki komutu çalıştırın (yukarıda oluşturduğumuz opus_4_7 ortamının etkin olduğundan emin olun):
pip install anthropic python-dotenv pandas
Adım 3: Uyarlamalı düşünmeyle bir metin sohbet botu oluşturun
Temeli atmak için basit bir eşzamanlı olmayan komut satırı arayüzü oluşturalım. Bu adım, Opus 4.7’nin yeni xhigh çaba düzeyini ve uyarlamalı düşünme mimarisini tanıtıyor. chart_digitizer.py adlı bir dosya oluşturun ve aşağıdaki kodu ekleyin:
import os
import asyncio
from dotenv import load_dotenv
from anthropic import AsyncAnthropic
# Ingest secure environment variables
load_dotenv()
# Initialize the asynchronous Anthropic client
client = AsyncAnthropic(
api_key=os.environ.get("ANTHROPIC_API_KEY")
)
async def test_adaptive_thinking():
print("Initiating Text Agent with Adaptive Thinking...")
response = await client.messages.create(
model="claude-opus-4-7",
max_tokens=64000,
stream=True, # Required for long responses
thinking={"type": "adaptive"}, # NEW: Replaces budget_tokens
output_config={"effort": "xhigh"}, # NEW: Extra high effort level
messages=[
{"role": "user", "content": "Explain why 1:1 pixel mapping is crucial for data extraction."}
]
)
# Parse the streaming response structure
async with response as stream:
async for event in stream:
if event.type == "content_block_start":
if event.content_block.type == "thinking":
print("\n--- Internal Reasoning Trace ---")
elif event.content_block.type == "text":
print("\n--- Final Output ---")
elif event.type == "content_block_delta":
if event.delta.type == "thinking_delta":
print(event.delta.thinking, end="", flush=True)
elif event.delta.type == "text_delta":
print(event.delta.text, end="", flush=True)
if __name__ == "__main__":
asyncio.run(test_adaptive_thinking())
Bunu şu komutla çalıştırabiliriz:
python chart_digitizer.py
Bu betik, Claude Opus 4.7’ye nasıl istek gönderileceğini gösterir; ancak henüz bir grafikten veri çıkarmıyor. Sadece şu istemi gönderiyor:
Explain why 1:1 pixel mapping is crucial for data extraction.
Adım 4: Veri çıkarma şemasını tanımlayın
Modelin Pandas’ta kullanabileceğimiz temiz veriler üretmesini garanti etmek için, yapılandırılmış çıktıyı zorlamak üzere bir "Araç" kullanacağız. Claude’a çıkarılan grafik koordinatlarını tam olarak nasıl biçimlendirmesi gerektiğini söyleyen bir JSON şeması tanımlıyoruz.
Aracın şemasını ve bir sistem istemini müşteri başlatmanın hemen sonrasına eklemek için chart_digitizer.py dosyasını güncelleyin:
# Define the JSON schema to force structured data extraction
extraction_tool = {
"name": "save_chart_data",
"description": "Saves the extracted data points from the chart into a structured format.",
"input_schema": {
"type": "object",
"properties": {
"x_axis_label": {"type": "string", "description": "The label for the X axis"},
"y_axis_label": {"type": "string", "description": "The label for the Y axis"},
"data_points": {
"type": "array",
"items": {
"type": "object",
"properties": {
"x": {"type": "number", "description": "X-axis value"},
"y": {"type": "number", "description": "Y-axis value"}
},
"required": ["x", "y"]
}
}
},
"required": ["x_axis_label", "y_axis_label", "data_points"]
}
}
SYSTEM_PROMPT = """
You are an expert Data Scientist. Your task is to digitize the provided chart image.
Execute the following strict, literal directives:
1. Scan the image using your 1:1 pixel mapping capabilities to identify the X and Y axes, their scales, and all plotted data points.
2. Utilize your adaptive thinking space to perform the mathematical conversions from visual pixel locations to the actual chart values.
3. You MUST use the 'save_chart_data' tool to output the final extracted data points.
Do not guess. Be highly precise.
"""
Modeli aracı ve sistem istemini kullanmaya zorlamak için isteği tool ve system parametrelerini içerecek şekilde güncelliyoruz:
response = await client.messages.create(
model="claude-opus-4-7",
max_tokens=64000,
stream=True,
thinking={"type": "adaptive"},
system=SYSTEM_PROMPT, # Add to enable the system prompt
tools=[extraction_tool], # Add to provide the tool to the model
messages=messages,
output_config={
"effort": "xhigh",
}
)
Adım 5: Karmaşık görsel akıl yürütme için görev bütçesi ekleyin
Yüzlerce veri noktasını görsel olarak eşleyip kesin değerlerini hesaplamak ciddi bilişsel işlem gücü gerektirir. Hesaplama kredilerimizi korumak için bir Görev Bütçesi uyguluyoruz. Bu işlem için 80.000 belirteçlik danışman niteliğinde bir sınır belirleyeceğiz.
Bu sınırı, isteğe output_config içine bir task_budget ekleyerek ayarlayabiliriz:
response = await client.messages.create(
model="claude-opus-4-7",
max_tokens=64000,
stream=True,
thinking={"type": "adaptive"},
system=SYSTEM_PROMPT,
tools=[extraction_tool],
messages=messages,
output_config={
"effort": "xhigh",
"task_budget": {"type": "tokens", "total": 80000} # Add to limit output tokens
}
)
Bu yeteneği açmak için gereken beta başlıklarına dikkat edin. Bunu ayarlamak için ajanı başlatma biçimimizi şu şekilde güncellememiz gerekir:
client = AsyncAnthropic(
api_key=os.environ.get("ANTHROPIC_API_KEY"),
default_headers={"anthropic-beta": "task-budgets-2026-03-13"}
)
Adım 6: Yüksek çözünürlüklü bir görsel sayısallaştırıcı oluşturun
Son aşamada 3,75 MP görsel yetenekleri entegre edeceğiz. Görüntü alımını yönetecek sağlam bir yardımcı işlev inşa edecek ve verileri bir CSV dosyasına çıktılamak için kodu tamamlayacağız.
İşte görsel sayısallaştırıcımız için tamamlanmış, nihai kod:
import os
import asyncio
import mimetypes
import sys
from dotenv import load_dotenv
from anthropic import AsyncAnthropic
import base64
import pandas as pd
# Ingest secure environment variables
load_dotenv()
# Initialize the asynchronous Anthropic client
client = AsyncAnthropic(
api_key=os.environ.get("ANTHROPIC_API_KEY"),
default_headers={"anthropic-beta": "task-budgets-2026-03-13"}
)
# Define the JSON schema to force structured data extraction
extraction_tool = {
"name": "save_chart_data",
"description": "Saves the extracted data points from the chart into a structured format.",
"input_schema": {
"type": "object",
"properties": {
"x_axis_label": {"type": "string", "description": "The label for the X axis"},
"y_axis_label": {"type": "string", "description": "The label for the Y axis"},
"data_points": {
"type": "array",
"items": {
"type": "object",
"properties": {
"x": {"type": "number", "description": "X-axis value"},
"y": {"type": "number", "description": "Y-axis value"}
},
"required": ["x", "y"]
}
}
},
"required": ["x_axis_label", "y_axis_label", "data_points"]
}
}
SYSTEM_PROMPT = """
You are an expert Data Scientist. Your task is to digitize the provided chart image.
Execute the following strict, literal directives:
1. Scan the image using your 1:1 pixel mapping capabilities to identify the X and Y axes, their scales, and all plotted data points.
2. Utilize your adaptive thinking space to perform the mathematical conversions from visual pixel locations to the actual chart values.
3. You MUST use the 'save_chart_data' tool to output the final extracted data points.
Do not guess. Be highly precise.
"""
def encode_high_res_image(image_path: str) -> tuple[str, str]:
if not os.path.exists(image_path):
raise FileNotFoundError(f"Critical Error: Image not located at {image_path}")
with open(image_path, "rb") as image_file:
base64_data = base64.b64encode(image_file.read()).decode("utf-8")
media_type, _ = mimetypes.guess_type(image_path)
if not media_type or not media_type.startswith("image/"):
media_type = "image/png"
return base64_data, media_type
async def digitize_chart(image_path: str = "chart.jpg"):
print("\nInitiating Opus 4.7 Autonomous Chart Digitization...")
IMAGE_PATH = image_path
base64_image_data, media_type = encode_high_res_image(IMAGE_PATH)
messages = [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": media_type,
"data": base64_image_data
}
},
{
"type": "text",
"text": "Please digitize this chart and extract the data points."
}
]
}
]
response = await client.messages.create(
model="claude-opus-4-7",
max_tokens=64000,
stream=True,
thinking={"type": "adaptive"},
system=SYSTEM_PROMPT,
tools=[extraction_tool],
messages=messages,
output_config={
"effort": "xhigh",
"task_budget": {"type": "tokens", "total": 80000}
}
)
# Accumulate tool input and thinking from the stream
import json
tool_name = None
tool_input_json = ""
thinking_text = ""
async with response as stream:
async for event in stream:
if event.type == "content_block_start":
if event.content_block.type == "tool_use":
tool_name = event.content_block.name
tool_input_json = ""
elif event.content_block.type == "thinking":
thinking_text = ""
elif event.type == "content_block_delta":
if event.delta.type == "input_json_delta":
tool_input_json += event.delta.partial_json
elif event.delta.type == "thinking_delta":
thinking_text += event.delta.thinking
if thinking_text:
print("\n--- Internal Thinking (Math & Scaling) ---")
print(thinking_text[:500] + "...\n[Cognitive trace truncated]")
if tool_name == "save_chart_data" and tool_input_json:
print("\n--- Data Extraction Complete! ---")
chart_data = json.loads(tool_input_json)
df = pd.DataFrame(chart_data["data_points"])
print(f"\nX-Axis: {chart_data['x_axis_label']}")
print(f"Y-Axis: {chart_data['y_axis_label']}")
print("\nExtracted DataFrame:")
print(df.head(10))
output_path = "chart_data.csv"
df.to_csv(output_path, index=False)
print(f"\nDataFrame saved to {output_path}")
if __name__ == "__main__":
image_path = sys.argv[1] if len(sys.argv) > 1 else "chart.jpg"
asyncio.run(digitize_chart(image_path))
Test etmek için, yıllara göre FIFA Dünya Kupası seyirci sayısını gösteren ve fifa.webp adıyla kaydettiğim bu grafiği Yahoo Sports’tan indirdim:
Betik daha önceki gibi çalıştırılır; ancak bu kez argüman olarak bir grafik görselinin adını veriyoruz:
python chart_digitizer.py fifa.webp
Sonuç şöyle:
Extracted DataFrame:
x y
0 1930 590000
1 1934 375000
2 1938 375000
3 1950 1040000
4 1954 770000
5 1958 820000
6 1962 890000
7 1966 1560000
8 1970 1600000
9 1974 1870000
Bunu çizdiğimizde, orijinal grafikte y ekseninde etiketler olmasa bile oldukça isabetli olduğunu doğrulayabiliriz.
Sonuç
Basit bir eşzamanlı olmayan sohbet botundan, veri bilimi için son derece sağlam bir görsel akıl yürütme motoru geliştirmeye başarıyla geçiş yaptık.
Model aşağı örnekleme gerektirmediği için, alt piksel düzeyindeki doğruluğu kaybetmeden karmaşık grafikleri okuyabilir. Yeteneklerini gerçekten takdir etmek için bu kod tabanını çeşitli karmaşık grafiklerle test etmenizi öneririm!
Modeli birçok grafikte denerken özellikle doğruluğundan etkilendim. Bu betiği nihai bir ürün olarak görmemek gerekir; geliştirilecek çok alan var. Becerilerinizi geliştirmek isterseniz birkaç öneri:
- Eksen birimleri ve etiketleri gibi üst verileri çıkarın: Yukarıdaki örnekte grafikte 3,5 yazıyor; ancak birimi bilmiyoruz. Orijinal grafikte bu 3,5M yani 3,5 milyon kişiyi ifade ediyor.
- Örnek noktası sayısı üzerinde denetim sağlayın: Model birkaç kilit noktayı çıkardı; ancak her yıl için katılımcı sayısını çıkarmadı.
Anthropic’in modelleriyle programlama ilginizi çekiyorsa, Claude Code ile Yazılım Geliştirme kursumuzu şiddetle tavsiye ederim!
Claude Opus 4.7 API SSS
Claude Opus 4.7’yi kullanmanın maliyeti nedir?
Opus 4.7’nin temel fiyatlandırması önceki sürümle aynıdır: milyon başına 5 ABD Doları girdi belirteci ve milyon başına 25 ABD Doları çıktı belirteci. Ancak, model metin işlemeyi iyileştiren kapsamlı şekilde güncellenmiş bir belirteçleyici kullandığından, artan belirteç yoğunluğu nedeniyle kod ağırlıklı istemlerde gerçek dünyadaki operasyonel maliyet %35’e kadar daha yüksek olabilir.
"Uyarlamalı Düşünme" nedir?
Uyarlamalı Düşünme, modelin aldığı istemin karmaşıklığına bağlı olarak kendi iç akıl yürütme belirteci bütçesini dinamik biçimde tahsis etmesine olanak tanır. Bu, eski "Genişletilmiş Düşünme" özelliğinin yerini tamamen alır; geliştiriciler artık budget_tokens parametresiyle sert bir iç düşünme sınırı belirleyemez.
Yeni xhigh çaba düzeyi nedir?
xhigh (extra high) çaba ayarı, high ve max düzeyleri arasında konumlanan yeni bir parametredir. Geliştiricilerin yanıt gecikmesi, zekâ ve belirteç maliyetlerini hassas şekilde dengelemesine olanak tanır ve Anthropic tarafından kodlama ve ajan temelli iş akışları için açıkça önerilen en iyi başlangıç noktasıdır.
"Görev Bütçeleri" nasıl çalışır?
Herkese açık betada olan Görev Bütçeleri, geliştiricilerin çok adımlı bir ajan döngüsünün tamamı için danışman niteliğinde bir belirteç sınırı tanımlamasına olanak tanır. Minimum 20.000 belirteçlik bir bütçe ayarlayarak model, azalan bir geri sayımı görür ve bütçe bitmeden görevi zarifçe tamamlamak için araç kullanımını dinamik olarak kendi kendine düzenler.
Opus 4.7’nin görsel yetenekleri nelerdir?
Opus 4.7, uzun kenarda 2.576 piksele kadar görüntü kabul eden yüksek çözünürlüklü çok kipli görme sunar ve yaklaşık 3,75 megapiksel etkili çözünürlüğe ulaşır. Ek olarak, geometrik koordinat eşlemesi gerçek görüntü pikselleriyle katı biçimde 1:1’dir; bu da geliştiricilerin veri çıkarırken karmaşık ölçek hesapları yapma ihtiyacını ortadan kaldırır.


