Claude Code SDK
(docs.anthropic.com)- Claude Agent SDK, Claude Code’un araç yürütme, ajan döngüsü ve bağlam yönetimini Python·TypeScript kodundan kontrol etmeyi sağlayarak dosya okuma, komut çalıştırma, web araması ve kod düzenlemeyi otomatikleştirir
- Temel araçlar olarak Read, Write, Edit, Bash, Monitor, Glob, Grep, WebSearch, WebFetch, AskUserQuestion sunar; böylece kod tabanı keşfinden kullanıcıya doğrulama soruları sormaya kadar işlemler ayrı bir yürütme katmanı olmadan yapılabilir
- Hook’lar, alt ajanlar, MCP, izinler ve oturumlar birleştirildiğinde dosya değişiklikleri için denetim günlüğü, yalnızca kod incelemeye özel alt ajan, Playwright tabanlı tarayıcı otomasyonu ve salt okunur analiz ajanı gibi yapılandırmalar oluşturulabilir
- Kurulum
@anthropic-ai/claude-agent-sdkveyaclaude-agent-sdkile yapılır; Python için 3.10 ve üzeri gerekir ve TypeScript SDK, platforma uygun yerel Claude Code ikilisini isteğe bağlı bağımlılık olarak içerir - Agent SDK, araç döngüsünü doğrudan uygulayan Anthropic Client SDK’den farklı olarak yerleşik araç yürütme sağlar ve Managed Agents gibi Anthropic altyapısında değil, kullanıcının kendi süreci ve altyapısında çalışır
Claude Agent SDK’nın kapsadığı alan
- Claude Agent SDK, Claude Code’u çalıştıran araçları, ajan döngüsünü ve bağlam yönetimini Python ve TypeScript içinde kullanılabilir hale getirir
- Ajanlar dosya okuyabilir, komut çalıştırabilir, web araması yapabilir ve kod düzenleyebilir
- Yerleşik araç yürütme içerdiği için kullanıcıların ayrıca bir araç yürütme katmanı kurmasına gerek kalmadan ajanlar işe başlayabilir
- Temel örnekte
auth.pyiçindeki bir hatayı bulup düzeltmek içinRead,Edit,Basharaçlarına izin verilir
Kurulum ve kimlik doğrulama akışı
- Dil bazlı paketlerle kurulur
- TypeScript:
npm install @anthropic-ai/claude-agent-sdk - Python:
pip install claude-agent-sdk
- TypeScript:
- Python paketi için Python 3.10 veya üzeri gerekir
No matching distribution found for claude-agent-sdkhatası alınıyorsa yorumlayıcı sürümü 3.10’dan eski olabilir- macOS veya Linux’ta
python3 --version, Windows’tapy --versionile kontrol edilir
- TypeScript SDK, platforma uygun yerel Claude Code ikilisini isteğe bağlı bağımlılık olarak içerdiğinden Claude Code’u ayrıca kurmak gerekmez
- API anahtarı Console üzerinden alınır ve
ANTHROPIC_API_KEYortam değişkeni olarak ayarlanır - Üçüncü taraf API sağlayıcı kimlik doğrulaması da desteklenir
- Amazon Bedrock:
CLAUDE_CODE_USE_BEDROCK=1ayarlanır, ardından AWS kimlik bilgileri yapılandırılır - Claude Platform on AWS:
CLAUDE_CODE_USE_ANTHROPIC_AWS=1veANTHROPIC_AWS_WORKSPACE_IDayarlanır, ardından AWS kimlik bilgileri yapılandırılır - Google Vertex AI:
CLAUDE_CODE_USE_VERTEX=1ayarlanır, ardından Google Cloud kimlik bilgileri yapılandırılır - Microsoft Azure:
CLAUDE_CODE_USE_FOUNDRY=1ayarlanır, ardından Azure kimlik bilgileri yapılandırılır
- Amazon Bedrock:
- Anthropic, önceden onay vermeden üçüncü taraf geliştiricilerin Claude Agent SDK tabanlı ürünlerde
claude.aigirişi veya rate limit sunmasına izin vermez
Temel araçlar ve ajan yetenekleri
- SDK, Claude Code’un başlıca yeteneklerinin kod içinden kullanılmasını sağlar
- yerleşik araçlar
- hook’lar
- alt ajanlar
- MCP
- izinler
- oturumlar
- Başlıca yerleşik araçlar şu işlevleri üstlenir
Read: çalışma dizini içindeki dosyaları okurWrite: yeni dosya oluştururEdit: mevcut dosyalara hassas düzenlemeler uygularBash: terminal komutları, betikler ve git işlemlerini çalıştırırMonitor: arka plan betiklerini izler ve her çıktı satırına olay olarak tepki verirGlob:**/*.ts,src/**/*.pygibi desenlerle dosya bulurGrep: dosya içeriğinde düzenli ifadeyle arama yaparWebSearch: en güncel bilgileri web’de ararWebFetch: web sayfası içeriğini alır ve ayrıştırırAskUserQuestion: çoktan seçmeli seçeneklerle kullanıcıya doğrulama sorusu sorar
- Örnek ajan, kod tabanındaki TODO yorumlarını bulup özetlemek için
Read,Glob,Grepkullanımına izin verir
Hook’lar, alt ajanlar ve MCP
- Hook’lar, ajan yaşam döngüsünün önemli noktalarında kullanıcı kodunu çalıştırır
- Callback işlevleriyle ajan davranışı doğrulanabilir, kaydedilebilir, engellenebilir veya dönüştürülebilir
- Kullanılabilir hook’lar arasında
PreToolUse,PostToolUse,Stop,SessionStart,SessionEnd,UserPromptSubmitgibi seçenekler vardır - Örnekte
PostToolUseiçindeEdit|Writeişlemleri algılanarak dosya değişiklikleriaudit.logiçine kaydedilir
- Alt ajanlar, odaklanmış alt görevleri işleyen uzmanlaşmış ajanlardır
- Ana ajan görevi devreder, alt ajan ise sonucu geri döndürür
- Özel ajanlar açıklama, prompt ve kullanılacak araçlarla tanımlanır
- Alt ajan çağrısı
Agentaracı üzerinden yapıldığından otomatik onay içinallowedToolsiçineAgenteklenmelidir - Alt ajan bağlamındaki mesajlar, hangi alt ajan çalıştırmasına ait olduklarını izlemek için
parent_tool_use_idalanını içerir
- Model Context Protocol(MCP) ile veritabanı, tarayıcı, API gibi harici sistemlere bağlanılabilir
- İlgili sunucular Model Context Protocol sunucu listesi üzerinden görülebilir
- Örnekte Playwright MCP server bağlanarak ajana tarayıcı otomasyonu yeteneği kazandırılır
İzinler ve oturum yönetimi
- İzin ayarları, ajanın kullanabileceği araçları sınırlar
- Güvenli işlemler izinli olabilir, riskli işlemler engellenebilir ve hassas eylemler için onay istenebilir
- Örnekte yalnızca
Read,Glob,Grepönceden onaylanarak kodu analiz eden ama değiştirmeyen salt okunur ajan yapılandırılır
AskUserQuestionaracı ile etkileşimli onay istemleri, kullanıcı girdisi işleme akışında birlikte kullanılır- Oturumlar, birden fazla etkileşim boyunca bağlamı korur
- Claude, okunan dosyaları, yapılan analizleri ve konuşma geçmişini hatırlar
- Aynı oturum daha sonra sürdürülebilir veya farklı bir yaklaşımı denemek için çatallanabilir
- Örnekte ilk sorguda
session_idalınır, ikinci sorgudaresume=session_idile aynı bağlam sürdürülür
Claude Code yapılandırma desteği
- SDK, Claude Code’un dosya sistemi tabanlı yapılandırmasını destekler
- Varsayılan olarak ayarlar çalışma dizinindeki
.claude/ve~/.claude/içinden yüklenir - Yüklenecek yapılandırma kaynaklarını sınırlamak için Python’da
setting_sources, TypeScript’tesettingSourcesseçeneği kullanılır - Desteklenen özellikler ve konumları şunlardır
- Skills: Claude’un otomatik kullandığı veya
/nameile çağrılan uzmanlaşmış yetenekler,.claude/skills/*/SKILL.md - Commands: eski biçimde özel komutlar,
.claude/commands/*.md - Memory: proje bağlamı ve talimatlar,
CLAUDE.mdveya.claude/CLAUDE.md - Plugins: skills, agents, hooks, MCP servers genişletmeleri;
pluginsseçeneğiyle programatik olarak yapılandırılır
- Skills: Claude’un otomatik kullandığı veya
Diğer Claude araçlarından farkı
- Anthropic Client SDK, doğrudan API erişimi sağlar; kullanıcı prompt gönderir ve araç yürütmeyi kendisi uygular
- Agent SDK’de Claude, araç işleme sürecini otonom biçimde yürütür
- Client SDK’de araç döngüsünü kullanıcı uygular
- Agent SDK, Claude’a yerleşik araç yürütme sağlar
- Kullanım amacına göre seçim ölçütleri şöyledir
- etkileşimli geliştirme: CLI
- CI/CD pipeline’ları: SDK
- özel uygulamalar: SDK
- tek seferlik işler: CLI
- üretim otomasyonu: SDK
- Birçok ekip, günlük geliştirmede CLI’ı, üretimde ise SDK’yı birlikte kullanır; iş akışları da doğrudan birbirine taşınabilir
- Managed Agents, Anthropic’in ajanları ve sandbox’ları çalıştırdığı barındırmalı bir REST API’dir
- Agent SDK, ajan döngüsünü kullanıcının kendi süreci içinde çalıştıran bir kütüphanedir
- çalışma konumu: Agent SDK kullanıcının süreci ve altyapısında, Managed Agents ise Anthropic tarafından yönetilen altyapıda çalışır
- arayüz: Agent SDK bir Python veya TypeScript kütüphanesidir, Managed Agents ise REST API’dir
- çalışma hedefi: Agent SDK kullanıcının altyapısındaki dosyalarla çalışır, Managed Agents ise oturum başına yönetilen sandbox üzerinde çalışır
- oturum durumu: Agent SDK dosya sistemindeki JSONL kullanır, Managed Agents ise Anthropic tarafından barındırılan olay günlüklerini kullanır
- özel araçlar: Agent SDK süreç içi Python veya TypeScript işlevleri kullanır, Managed Agents’ta Claude aracı tetikler ve kullanıcı yürütme sonucunu geri döndürür
- uygun kullanım: Agent SDK yerel prototipleme ve dosya sistemi·servislere doğrudan erişen ajanlar için, Managed Agents ise sandbox veya oturum altyapısı işletmeden üretim ajanları ve uzun süreli·asenkron oturumlar için uygundur
- Yaygın yol, önce Agent SDK ile yerel prototip oluşturup ardından üretimde Managed Agents’a geçmektir
Değişiklik günlüğü, hata bildirimi ve markalama
- SDK güncellemeleri, hata düzeltmeleri ve yeni özellikler ilgili depoların değişiklik günlüğünden takip edilir
- TypeScript SDK: CHANGELOG.md
- Python SDK: CHANGELOG.md
- Hatalar veya sorunlar GitHub üzerinden bildirilir
- TypeScript SDK: GitHub issues
- Python SDK: GitHub issues
- İş ortakları Claude Agent SDK’yı entegre ederken Claude markalamasını kullanmak isteğe bağlıdır
- izinli: “Claude Agent”, “Claude”, “Powered by Claude”
- yasak: “Claude Code”, “Claude Code Agent”, Claude Code marka ASCII art’ı veya Claude Code’u taklit eden görsel öğeler
- Ürün kendi markasını korumalı ve Claude Code ya da Anthropic ürünü gibi görünmemelidir
- Claude Agent SDK kullanımı Anthropic’s Commercial Terms of Service kapsamındadır
- Belirli bileşen veya bağımlılıkların kendi LICENSE dosyalarında farklı bir lisans belirtmesi durumu istisnadır
1 yorum
Hacker News yorumları
Claude Code’un yöneldiği doğrultu, benim ajan tabanlı kodlama araçlarında istediğim şeyle tam olarak örtüşüyor; “Unix aracı gibi” felsefesini de seviyorum
Açık önizlemenin ilk dönemlerinden beri kullanıyorum ve yönü o zamandan belliydi. Bir kodlama ajanının ideal nihai durumunun, Jira bileti gibi bir özellik isteği verildiğinde bunu inceleyip geri bildirim verilebilecek bir PR oluşturması olduğunu düşünüyorum. Bu anlamda Cursor, Windsurf gibi yerel editör merkezli araçlar CI içinde çalışamadıkları için çıkmaz sokağa yakın. Kod tabanını kurallar, MCP vb. ile yapay zekaya uygun hâle getiriyorsanız, headless kullanıma kadar uzanabilecek bir teknolojiyi hedeflemek gerekir. Claude Code, araçlar üzerinden otomasyonun bir parçası olarak kolayca kullanılabildiği için artık kodlama ajanlarını düşünürken varsayılanım oldu; Codex npm paketi de benzer. Yine de şirketlerin kod tabanlarını ajan kullanımına uygun hâle getirmelerine yardımcı olan bir iş yaptığım için, kolay yapılandırılabilen araçlara doğru bir önyargım olabilir
Her şeyin konuşmayla ilerlediği ve %99 oranında klavyeye dokunmam gerekmeyen bir biçim bekliyorum
Terminalde
ls,ps,killgibi komutları her çalıştırdığınızda para ödediğinizi hayal edin; hiç mantıklı değil. LLM’ler için de aynı şey geçerli. Tescilli LLM’leri yasaklayalım demiyorum ama eski usul hacker’ların ana araç olarak kullanması gereken şey özgür ve açık kaynaklı araçlar olmalıClaude ile de denedim ama sınırları hızla tükettim. PR’nin doğrudan “geçilebilir” seviyede olduğu durumlar ancak yaklaşık %25; yapay zekanın nerede batırdığını bulmaya çalışmaktansa çoğu zaman işi baştan doğru düzgün kendim yapmak daha hızlı
Claude Code, kodlamada LLM kullanma biçimleri arasında en çok hoşuma gidenlerden biri
Ama gerçekten ihtiyaç duyulan şey, istediğiniz modeli verebildiğiniz ve birden fazla modelin yanıtlarını da karşılaştırabildiğiniz açık kaynaklı bir sürüm bence. Aider ya da diğer alternatifler Claude Code kadar kullanışlı hissettirmiyor. Anthropic açısından bakınca hendek ortadan kalkacağı için bunu istemezler, ama tüketici tarafında insan yalnızca belirli bir ekosisteme kilitlenmeden en iyi modeli kullanmak istiyor. Muhtemelen LLM model sağlayıcılarının en çok korktuğu nokta da bu
Şu anda Claude Code kadar iyi değil ama kısa sürede yetişecek gibi görünüyor. https://github.com/openai/codex/tree/main
Hâlâ geliştirme aşamasında ama umut verici görünüyor
Aider uzun zamandır Python ve shell scripting desteği sunuyor [0]
Yakın zamanda 130 yeni programlama dili desteği ekleme sürecinde, Aider ile doğaçlama Bash scripting yapmayı gösteren bir screencast de hazırladım [1]. Bu yaklaşımın ne kadar güçlü olabileceğine dair fikir verebilir.
[0] https://aider.chat/docs/scripting.html
[1] https://aider.chat/docs/recordings/tree-sitter-language-pack...
Böylece güvendiğiniz modeli kullanarak PR’ler, biletler vb. üzerinden baştan sona geliştirme yapabilirsiniz
Commit atmasını pek istemiyorum; daha çok Claude Code’un kullanım hissini beğeniyorum
Depoya tek bir dosya ekleyince issue’lar üzerinden herhangi bir modelle konuşabilmek gibi bir şey yeterli olur
Claude Code ekibinin daha ayrıntılı ele aldığı içerik: http://latent.space/p/claude-code
Sadece transkripte göz atmak bile yeterli; kişisel olarak Anthropic çalışanlarının sınırsız Claude kullanmalarına rağmen ortalama günde yaklaşık 6 dolar harcamaları, headless Claude Code’u CI’ın her yerinde kullanılabilen bir “Linux” yardımcı aracı gibi görmeleri, kullanıcı tarafından genişletilebilir bir platform olarak değerlendirmeleri, sandboxing·branching·planlama özelliklerinin gelecek yol haritasında olması ve Sonnet 3.7’yi kalıcı ajan modeli olarak görmeleri etkileyiciydi.
Çalışan bazında harcamaların P50, P75, P95 değerleri ne kadar, merak ediyorum.
Kişisel projeler için fazla pahalı olduğundan kullanmayı bıraktım.
Son yarım yılda ya da birkaç yılda birden fazla işi büyütürken herkese açık çalışmalarının miktarının ve değerinin artmaya devam etmesi şaşırtıcı. Başkaları da benzer bir üretkenlik eğimi bulabilse keşke. Kabaca neyin iyi uyduğunu paylaşıyor ama yeniden üretmesi kolay değil. Aklıma simonw, gwern geliyor.
Ben bir AI kod asistanı yapsaydım, onu belirli bir foundation model sağlayıcısına bağlamak en son yapacağım şey olurdu.
Bu ürünün başarılı olması için model performansının tam şu anda platoya ulaşmış olması, tüm foundation modellerinin neredeyse aynı performans ve yeteneklerde yakınsaması ve entegratörlerin alışıldık SDK gibi küçük kolaylıklar nedeniyle seçim yapacağı varsayımı gerekiyor.
Başka bir şeyle değiştirir ya da wrapper koyarsınız. Burada karmaşık pek bir şey yok.
AI kod asistanıyla ilgili bir şey geliştiriyoruz ve önce Claude Code’u nasıl entegre edeceğimizi hack’liyorduk. Üzerine inşa etmek istediğimiz ilk şey buydu. Lock-in’i dert etmek için çok erken; en iyisine ihtiyacımız var, bu yüzden yalnızca en iyisinin etrafında geliştireceğiz.
Claude Code zaten etkileşimsiz modda kullanılabiliyordu; dolayısıyla diğer Unix komut satırı yardımcı araçları gibi başka uygulamalara entegre edilebiliyordu.
Bu SDK şu anda yalnızca komut satırı kullanımını destekliyor gibi görünüyor; o zaman zaten var olanla aynı şey değil mi? Gerçekte neyin yeni olduğunu anlamıyorum. Ben neyi kaçırıyorum?
Codebuff’u (https://www.codebuff.com/) da öneririm. Claude Code’a benzer, harika bir CLI kod asistanı ve token maliyetinden çok tasarruf ettirebilir.
Bu projeyle bir bağlantım yok, sadece kullanıcısıyım.
Şartlarda “Hizmetle rekabet eden ürün veya hizmetler geliştirmek, yapay zeka veya makine öğrenmesi algoritmaları ya da modelleri geliştirmek/eğitmek veya hizmeti yeniden satmak için kullanılamaz” deniyor.
Genel zekayla rekabet etmeyen yazılım ürünü veya hizmeti tam olarak ne olabilir, merak ediyorum. Zeka satıp, katı yorumlandığında hiçbir yerde kullanmayın anlamına gelen bir yasal madde eklemek gibi. Fazla muğlak olduğu için uygulanamaz mı? Genel zekayla rekabet etmek için kullanılamıyorsa çıktının sahibi nasıl olunuyor? “Yasal şartları kimse umursamaz” tarzı bir şey mi? Kimse umursamıyorsa hizmet kullanımına neden kapsamlı bir yasak koyuyorlar? Böyle çıktılar almak için dava kaybetme sorumluluğunu da kabul etmek mi gerekiyor; çok fazla soru var.
Model lock-in varsa kullanım açısından büyük dezavantaj olur. Birisi en yeni ve en yüksek performanslı modeli çıkarırsa ve siz zaten bu altyapıya yatırım yaptıysanız kilitlenmiş olursunuz.
Daha sonra açsalar bile, ilgili model büyük olasılıkla o CLI’a özel olarak eğitilmiş olduğundan iyi çalışmayabilir. Codex CLI’a bakın; Gemini 2.5 Pro kullanılabiliyor ama OpenAI modellerine kıyasla rastgele durma ya da başarısız olma çok daha sık yaşanıyor.
Yeni GitHub Action tam aradığım özellik: https://docs.anthropic.com/en/docs/claude-code/github-action...
Ancak Claude Code’un Max planıyla kullanmanın bir yolu görünmüyor. Bana göre yalnızca API key kabul ediyor gibi.