Birden çok tool kullanmak
Using multiple tools
Bu modül için tahmini süre: 4 dakika
Genel bakış
Claude implementasyonunuza birden çok tool eklemek, çekirdek tool-handling altyapısı hazır olduğunda kolay hale gelir. Bu derste basit bir pattern takip ederek ek tool’ların nasıl entegre edileceğini görürüz: schema’yı tools listesine ekle, router’a bir elif ekle, bitti.

Eklediğimiz tool’lar
Hatırlatıcı sistemimiz için üç ana yetenek gereklidir:
- Get current date time — Claude’un güncel tarih ve saati bilmesi gerekir
- Add duration to date time — Claude date time toplama işleminde mükemmel değil
- Set a reminder — Bir hatırlatıcı set etme yolu
İyi haber: implementasyon işinin çoğu zaten yapıldı. add_duration_to_datetime fonksiyonu ve set_reminder fonksiyonu, karşılık gelen schema’larıyla birlikte sağlanmıştır.
Conversation’a tool eklemek
Önce, run_conversation fonksiyonunu yeni tool schema’larını tools listesine dahil edecek şekilde güncelleyin:
response = chat(messages, tools=[
get_current_datetime_schema,
add_duration_to_datetime_schema,
set_reminder_schema
])
Bu, Claude’a conversation sırasında kullanabileceği üç tool olduğunu söyler.
Tool router’ı güncellemek
Sonra, run_tool fonksiyonunu yeni tool çağrılarını yönetecek şekilde değiştirin. Her yeni tool için elif case’leri ekleyin:
def run_tool(tool_name, tool_input):
if tool_name == "get_current_datetime":
return get_current_datetime(**tool_input)
elif tool_name == "add_duration_to_datetime":
return add_duration_to_datetime(**tool_input)
elif tool_name == "set_reminder":
return set_reminder(**tool_input)
Pattern basit: tool adını kontrol et, sağlanan input ile karşılık gelen fonksiyonu çağır ve sonucu döndür.
Birden çok tool kullanımını test etmek
Sistemi test etmek için birden çok tool gerektiren bir istek deneyin: “Set a reminder for my doctors appointment. Its 177 days after Jan 1st, 2050.”
Bu istek Claude’u şunları yapmaya zorlar:
- Tarihi hesapla (
add_duration_to_datetimekullanarak) - Hatırlatıcıyı set et (
set_reminderkullanarak)

Claude bunu önce ne yapması gerektiğini açıklayarak, sonra uygun tool çağrılarını sırayla yaparak yönetir. Conversation, Claude’un June 27, 2050’yi hedef tarih olarak hesaplayıp ardından o tarih için hatırlatıcı kurmasını gösterir.
Message flow’unu anlamak
Conversation history’i incelediğinizde tam message yapısını görürsünüz:
- İstek içeren user message
- Hem text hem tool use block’ları içeren assistant message
- Tool result message’ları
- Follow-up assistant message’ları

Bu, Claude’un tek bir message’da birden çok block’u nasıl dahil edebildiğini gösterir — açıklayıcı text ile tool kullanım isteklerini birleştirerek.
Tool eklemek için basit pattern
Çekirdek tool altyapısına sahip olduğunuzda yeni tool eklemek şu pattern’i takip eder:
- Tool function implementasyonunu oluşturun
- Tool schema’sını tanımlayın
- Schema’yı
run_conversationiçindeki tools listesine ekleyin run_tooliçine tool için bir case ekleyin
Bu modüler yaklaşım, mevcut kodu yeniden yapılandırmadan AI asistanınızın yeteneklerini genişletmeyi kolaylaştırır. Her yeni tool, mevcut conversation flow ve tool-handling logic ile sorunsuzca entegre olur.
Temel çıkarımlar
- Yeni bir tool eklemek 4 adımdır: function → schema → tools listesi → router elif
chatçağrısındakitoolsparametresi tüm available schema’ları listeler- Claude hangi tool’u ne sırayla çağıracağına kendi karar verir; planlamayı sizin yapmanıza gerek yok
- “177 days after Jan 1st, 2050” gibi karmaşık istekler iki tool zinciri ile çözülür (date math + reminder)
- Modüler tasarım sayesinde her yeni tool çekirdek loop’u değiştirmeden eklenir
- Tek bir assistant message hem açıklama text’i hem birden çok tool_use block’u içerebilir