Tool calling — araç çağırma
Araç, asistanın yapabildiği bir işlemdir: abone sorgula, sipariş durumu getir, arıza kaydı aç. Araçlar sayesinde asistan genel bilgi vermek yerine sizin verinizden cevap üretir.
Araç nedir?
Araç, asistanın çağırabildiği bir işlemdir. Her aracın bir adı, ne işe yaradığını anlatan bir açıklaması ve aldığı parametreleri vardır.
Asistan bir soruyla karşılaştığında, elindeki araçlardan hangisinin işe yarayacağına kendisi karar verir, gereken parametreyi konuşmadan çıkarır ve aracı çağırır.
Nasıl çalışır?
Müşteri: "Faturam ne kadar geldi?"
1. Asistan soruyu anlar: fatura tutarı isteniyor
2. Elindeki araçlara bakar: "borc_sorgula" uygun görünüyor
3. Parametre gerekiyor: abone numarası
4. Abone numarası konuşmada yok → önce "abone_bul" aracını çağırır
→ müşterinin telefon numarasıyla aboneyi bulur
5. Bulunan abone numarasıyla "borc_sorgula" aracını çağırır
6. Dönen tutarla cevabı kurar:
"Bu dönem faturanız 249,90 TL. Son ödeme tarihi 15 Eylül."
Ne zaman araç gerekir?
| Soru | Araç gerekir mi | Neden |
|---|---|---|
| "Çalışma saatleriniz nedir?" | Hayır | Sabit bilgi — talimata yazmak yeterli |
| "Hangi paketleriniz var?" | Hayır | Sabit bilgi — talimata yazılabilir |
| "Faturam ne kadar?" | Evet | Kişiye özel, sisteminizde duruyor |
| "Siparişim nerede?" | Evet | Anlık veri, sisteminizden okunmalı |
| "Arıza kaydı açar mısın?" | Evet | Sisteminizde işlem yapılmalı |
Araç tanımının parçaları
Bir araç tanımlarken üç şeyi belirlersiniz:
| Parça | Ne yapar | Örnek |
|---|---|---|
| Ad | Aracın kimliği | siparis_durumu_getir |
| Açıklama | Asistanın bu aracı ne zaman çağıracağını anlamasını sağlar | "Sipariş numarasıyla siparişin güncel durumunu ve tahmini teslim tarihini getirir." |
| Parametreler | Aracın çalışması için gereken bilgiler | siparis_no — zorunlu, metin |
İyi açıklama yazma
Açıklama, aracın en kritik parçasıdır. Asistan hangi aracı çağıracağına açıklamaya bakarak karar verir. Belirsiz bir açıklama yanlış araç seçimine yol açar.
| Kötü açıklama | Sorun | İyi açıklama |
|---|---|---|
| "Sipariş sorgular" | Ne döndürdüğü belirsiz | "Sipariş numarasıyla siparişin durumunu, tahmini teslim tarihini ve kargo takip numarasını getirir." |
| "Müşteri bilgisi" | Hangi bilgi, hangi parametreyle? | "Telefon numarasıyla müşteri kaydını bulur; ad, abone numarası ve paket bilgisini döndürür." |
| "Kayıt aç" | Ne kaydı, ne zaman? | "Abone için yeni bir teknik arıza kaydı oluşturur ve kayıt numarasını döndürür. Yalnızca sorun çözülemediğinde kullanılır." |
Örnek araç tanımı
{
"ad": "siparis_durumu_getir",
"aciklama": "Sipariş numarasıyla siparişin güncel durumunu, tahmini teslim tarihini ve varsa kargo takip numarasını getirir. Yalnızca müşteri sipariş numarasını verdiğinde kullanılır.",
"parametreler": {
"siparis_no": {
"tip": "metin",
"zorunlu": true,
"aciklama": "DM- ile başlayan sipariş numarası. Örnek: DM-10045"
}
}
}
Telefonda araç çağırma
Sesli aramada da aynı mekanizma çalışır, tek fark zamanlamadır: araç sorgulanırken bir bekleme oluşur. Bu sırada sistem "bir saniye, kontrol ediyorum" gibi dolgu cümleleri seslendirir, böylece müşteri hattın koptuğunu sanmaz.
Müşteri: "Faturamı öğrenebilir miyim?"
Sistem: "Hemen kontrol ediyorum, bir saniye." 🔊
[abone_bul çağrılıyor]
[borc_sorgula çağrılıyor]
Sistem: "Bu dönem faturanız ... TL, son ödeme tarihi ..." 🔊
Seslendirilen tüm cümleler panelde görünür, böylece operatörünüz konuşmayı yazılı olarak takip edebilir.
Güvenlik
Araçlar asistanın sisteminize açılan kapısıdır; bu yüzden hangi kapıyı açtığınıza dikkat edin.
- Yalnızca gerekeni tanımlayın. Asistanın ihtiyaç duymadığı bir araç, gereksiz risktir.
- Sorguları kişiye bağlayın. Araç, konuşmadaki kişinin kendi kaydını sorgulamalı; rastgele bir numara verilerek başkasının verisi çekilememelidir.
- İşlem araçlarını sınırlayın. Kayıt açmak gibi işlemler geri alınabilir olsun; silme veya değiştirme yetkisini asistana vermeyin.