Tool function'lar
Tool functions
Bu modül için tahmini süre: 5 dakika
Genel bakış
Claude ile AI uygulamaları inşa ederken modele real-time bilgiye erişim veya eylem yapma yeteneği vermeniz gerekir. Tool function’lar burada devreye girer — bunlar, Claude’un kullanıcılara yardım etmek için ek veriye ihtiyacı olduğunda çağırabileceği Python fonksiyonlarıdır. Bu derste bir tool function’ın anatomisini, best practice’leri ve ilk fonksiyonumuz olan get_current_datetime’in nasıl yazıldığını göreceksiniz.

Yukarıdaki görsel uygulayacağımız üç temel tool’u gösteriyor: güncel date/time’ı almak, tarihlere duration eklemek ve hatırlatıcı kurmak. Birincisi ile başlayalım.
Tool function’lar nedir
Tool function, Claude bir kullanıcıya yardım etmek için ek bilgiye ihtiyaç duyduğuna karar verdiğinde otomatik olarak çalıştırılan düz bir Python fonksiyonudur. Örneğin biri “What time is it?” diye sorarsa Claude güncel zamanı almak için date/time tool’unuzu çağırır.

Yukarıda bir weather tool function örneği var. Input’ları nasıl doğruladığına ve net hata mesajları sağladığına dikkat edin — bunlar önemli best practice’lerdir.
Tool function’lar için best practice’ler
Tool function yazarken şu kurallara uyun:
- Use descriptive names: Hem fonksiyon adınız hem de parametre isimleriniz amacı net göstermeli
- Validate inputs: Gerekli parametrelerin boş veya geçersiz olmadığını kontrol edin; öyleyse hata fırlatın
- Provide meaningful error messages: Claude hata mesajlarını görebilir ve düzeltilmiş parametrelerle fonksiyon çağrısını tekrarlayabilir
Validation özellikle önemlidir çünkü Claude hatalardan öğrenir. “Location cannot be empty” gibi net bir hata fırlatırsanız Claude fonksiyonu doğru bir location değeri ile yeniden çağırabilir.
İlk tool function’ı oluşturmak
Güncel date ve time’ı almak için bir fonksiyon oluşturalım. Bu fonksiyon, Claude’un farklı formatlarda zaman talep edebilmesi için bir date format parametresi kabul edecek:
def get_current_datetime(date_format="%Y-%m-%d %H:%M:%S"):
if not date_format:
raise ValueError("date_format cannot be empty")
return datetime.now().strftime(date_format)
Bu fonksiyon, Python’un datetime modülünü kullanarak güncel zamanı alır ve sağlanan format string’e göre biçimlendirir. Default format bize year-month-day hour:minute:second verir.
Farklı formatlarla test edebilirsiniz:
# Default format: "2024-01-15 14:30:25"
get_current_datetime()
# Just hour and minute: "14:30"
get_current_datetime("%H:%M")
Validation kontrolü, Claude’un date format için boş bir string geçmesini engeller. Bu spesifik hata pek olası olmasa da, input’ları doğrulama ve Claude’un öğrenebileceği yardımcı hata mesajları sağlama pattern’ini göstermesi açısından önemlidir.
Sonraki adımlar
Fonksiyonu oluşturmak sadece ilk adım. Bir sonraki adımda Claude’a fonksiyonu açıklayan bir JSON schema yazmanız, ardından bunu chat sisteminize entegre etmeniz gerekir. Bu tool function yaklaşımı, kodunuzu düzenli ve sürdürülebilir tutarken Claude’a güçlü yetenekler kazandırır.
Temel çıkarımlar
- Tool function, Claude’un belirli durumlarda çağırıp sonucunu yorumlayacağı düz bir Python fonksiyonudur
- Descriptive isimler, input validation ve net error mesajları üç temel best practice’tir
- Claude error mesajlarını görür; iyi yazılmış bir hata, Claude’un düzeltilmiş parametrelerle fonksiyonu yeniden çağırmasına yardım eder
get_current_datetime, default format parametresi ile farklı formatlarda zaman dönmek için tasarlanmıştır- Tool function tek başına yeterli değildir; Claude’un kullanması için ayrıca bir JSON schema gerekir