Araç şeması tasarımı
Modelin doğru parametre üretmesini kolaylaştıran şemalar.
Önkoşul: AI Agent
BU DERSİN SONUNDA
- Modelin doğru aracı seçmesini kolaylaştıran adlandırma ve açıklama yazabilmek
- Parametre şemasını doğrulanabilir biçimde tanımlayabilmek
- Hata mesajlarını modelin düzeltebileceği biçimde döndürebilmek
- Araç sayısının seçim isabetine etkisini değerlendirebilmek
- 1
Teori
Kavramın çalışma mantığı
- 2
Örnek
Gerçek bir senaryo üzerinde gösterim
- 3
Lab
Uygulamalı alıştırma
- 4
Test
Kısa ölçüm
- 5
Proje
Rotadaki projeye katkı
Kısa cevap
Araç şeması, bir ajanın dış dünyayla konuşma sözleşmesidir. Ajan arızalarının büyük kısmı model kalitesinden değil, belirsiz araç adlarından, gevşek parametre tanımlarından ve modelin yorumlayamadığı hata mesajlarından kaynaklanır.
Teori: model şemayı okuyarak karar verir#
Model hangi aracı çağıracağına, elindeki tek bilgiyle karar verir: araç adı, açıklaması ve parametre şeması. Kodun içinde ne olduğunu görmez. Dolayısıyla şema bir dokümantasyon değil, çalışma zamanı davranışını belirleyen bir arayüz.
- Ad ayırt edici olmalı: "ara" değil "musteri_kaydi_ara".
- Açıklama ne zaman kullanılacağını söylemeli, ne yaptığını değil: "Müşteri kimliği bilinmiyorsa ada göre arama yapar."
- Örtüşen araçlar birleştirilmeli: aynı işi yapan iki araç tutarsız seçim üretir.
- Yıkıcı araçlar ayrı ve açıkça işaretlenmeli: "kaydi_kalici_sil (GERİ ALINAMAZ)".
Örnek: zayıf ve güçlü şema#
// ZAYIF: ne zaman kullanılacağı belirsiz, parametreler serbest metin
{
"name": "get_data",
"description": "Veri getirir",
"parameters": {
"type": "object",
"properties": {
"query": { "type": "string" },
"options": { "type": "string" }
}
}
}
// GÜÇLÜ: seçim ölçütü açık, değerler kısıtlı, zorunluluk belirtilmiş
{
"name": "siparis_durumu_sorgula",
"description": "Sipariş numarası BİLİNİYORSA tek siparişin güncel durumunu döndürür. Sipariş numarası bilinmiyorsa önce musteri_siparislerini_listele kullan.",
"parameters": {
"type": "object",
"properties": {
"siparis_no": {
"type": "string",
"pattern": "^SIP-[0-9]{4}-[0-9]{4}$",
"description": "SIP-YYYY-NNNN biçiminde sipariş numarası"
},
"detay": {
"type": "string",
"enum": ["ozet", "kalemler", "tam"],
"default": "ozet",
"description": "Dönecek ayrıntı seviyesi"
}
},
"required": ["siparis_no"],
"additionalProperties": false
}
}Güçlü şemadaki üç detay pratikte en çok fark yaratanlar: `enum` ile değer kümesini kapatmak, `pattern` ile biçimi zorlamak ve açıklamanın içinde diğer araca yönlendirme yapmak. Üçü de modelin tahmin etme ihtiyacını azaltır.
Hata mesajı tasarımı#
Bir araç hata döndürdüğünde bu mesaj modele geri gider ve sonraki adımı belirler. "500 Internal Server Error" modelin yapabileceği bir şey söylemez; model ya aynı çağrıyı tekrarlar ya da vazgeçer. İyi bir hata mesajı, düzeltme yolunu içerir.
| Durum | Kötü mesaj | İyi mesaj |
|---|---|---|
| Biçim hatası | "Invalid input" | "siparis_no biçimi geçersiz. Beklenen: SIP-YYYY-NNNN. Alınan: 44821." |
| Bulunamadı | "404" | "SIP-2026-0412 bulunamadı. Numara doğruysa musteri_siparislerini_listele ile doğrula." |
| Yetki yok | "Forbidden" | "Bu kayda erişim yetkisi yok. Kullanıcıdan onay isteyin; bu araçla devam edilemez." |
| Hız sınırı | "429" | "Hız sınırı aşıldı. 30 saniye sonra tekrar dene; bu arada başka araç çağırma." |
Araç sayısı#
Araç sayısı arttıkça iki şey birden kötüleşir: şemaların kapladığı token miktarı büyür ve seçim isabeti düşer. Pratik yaklaşım, ajan başına araç sayısını dar tutmak ve geniş yetenek ihtiyacını birden çok uzmanlaşmış ajana bölmek.
LAB · UYGULAMALI ALIŞTIRMA
Araç setinizi sadeleştirin
- 1Mevcut ajanınızın tüm araçlarını listeleyin; her biri için "hangi durumda seçilmeli" cümlesini yazın.
- 2İki aracın cümlesi örtüşüyorsa birleştirin veya açıklamaları ayırt edici hale getirin.
- 3Her parametreye enum, pattern veya aralık kısıtı ekleyebilir misiniz? Ekleyin.
- 4Her hata yolunu, düzeltme yönlendirmesi içeren bir mesajla yeniden yazın.
- 520 görevlik setinizi tekrar koşturun; yanlış araç seçimi sayısını önce/sonra karşılaştırın.
Beklenen çıktı
Sadeleştirilmiş araç şeması seti ve yanlış araç seçimi sayısının önce/sonra karşılaştırması.
Sık sorulan sorular
Kaç araç fazla sayılır?
Kesin bir eşik yok, ama pratikte tek ajan için beşin altında kalmak seçim isabetini belirgin biçimde korur. Daha fazla yetenek gerekiyorsa işi birden çok uzmanlaşmış ajana bölmek genellikle daha iyi sonuç verir.
Araç şemasını modelden gizlemek mümkün mü?
Hayır; model seçim yapabilmek için şemayı görmek zorunda. Bu yüzden şemanın kendisi bir güvenlik sınırı değildir. Yetki kısıtı araç içinde, sunucu tarafında uygulanmalı.
ÖLÇ
AI Agent Testi
7 soru · 12 dakika · AI Agents
LEARN
AI Agent Developer rotasına devam et
Dersler tek başına da okunabilir, ama sıralı ilerlemek önkoşul boşluklarını kapatır.
