Araçlar, ajanın neler yapabileceğini belirler
Ajan dünyaya yalnızca araçlarıyla dokunabilir ve araçları yalnızca açıklamalarından anlar. İyi araç azdır, adı nettir, kısa döner ve hatayı dürüstçe söyler.
Ajanın sınırı, araçlarının sınırıdır
Model yalnızca metin üretir. Dünyada yaptığı her şey, yani dosya okumak, test çalıştırmak, takvime etkinlik eklemek, harness ona bir araç sunduğu ve model o aracı çağırmayı seçtiği için olur. Aracı yoksa o işi yapamaz, model ne kadar yetenekli olursa olsun.
Bu yüzden araç listesi, en az prompt kadar ağırlığı olan bir tasarım kararı. Anthropic "Building effective agents" yazısında bunu açıkça söylüyor: araçlar, talimatlar kadar prompt emeğini hak ediyor.
Model kodunuzu da görmez. Önüne bir ad, bir açıklama ve bir parametre listesi gelir, gerisini bunlardan tahmin eder. Bir araç, onu anlatan kelimeler kadar iyidir.
İyi bir araç neye benzer
Anthropic'in araç yazma rehberi, işe yarayan alışkanlıkları topluyor. Hepsi küçük ve sıkıcı kararlar, ama her biri ajanın yanlış yapabileceği bir yolu kapatıyor.
- Daha az ve daha geniş araç. Kişileri listeleyen, uygunluğa bakan ve etkinliği oluşturan üç ayrı araç yerine tek bir
schedule_eventdaha iyi. Her fazladan araç, arasından seçilecek bir şey daha demek. - Gruplayan adlar.
asana_searchgibi bir önek, aracın hangi servise ait olduğunu modele söyler. - Bir insanın okuyabileceği cevaplar. UUID değil, isim döndürün. Anlamsız bir kimlik, modelin üzerinde düşünebileceği hiçbir şey vermez.
- Hataya kapalı argümanlar. Anthropic'in SWE-bench çalışmasında mutlak dosya yolu zorunlu tutuldu, böylece ajan göreli yolu yanlış veremiyordu.
- Nasıl düzeltileceğini söyleyen hatalar. "Geçersiz girdi" ajanı tahmine iter. Eksik alanı adıyla söyleyen bir mesaj, sonraki adımı doğru yaptırır.
Kopyalamaya değer olan, bu son döngü. Bir aracı, gerçek işte kullanan bir ajanı izleyerek değerlendirin; süreyi, çağrı sayısını, token'ı ve hataları takip edin. SWE-bench Verified'da en iyi sonuca ulaşmak için yalnızca açıklama değişiklikleri yetti.
Ajanınız bir araca sürekli bozuk biçimli dosya yolu veriyor. Daha iyi çözüm hangisi?
Çıktının bedeli bağlamdan ödenir
Bir aracın döndürdüğü her şey bağlam penceresine girer ve model sonraki her adımda hepsini yeniden okur. Koca bir tabloyu dökmek, ardından gelen her turda size pahalıya patlar.
Rehberin cevapları pratik. Kısa ve ayrıntılı iki mod sunun: kısa olan token'ın yaklaşık üçte birini kullandı. Sayfalayın ve kesin: Claude Code tek bir araç çıktısını 25.000 token ile sınırlıyor. Derleyici projesinde test çıktısı birkaç satırda tutuldu, ayrıntı ajanın gerekirse açabileceği dosyalara yazıldı.
Aynı mantık kodla daha da ileri gidiyor. Anthropic'in kod çalıştırma yazısına göre, tüm araç tanımlarını yüklemek ve her ara sonucu modelden geçirmek bağlamı boşa harcıyor. MCP sunucularını, ajanın ihtiyaç duydukça yüklediği kod olarak sunmak bir örnekte yaklaşık 150.000 token'ı 2.000'e indirdi; yüzde 98,7 daha az. 10.000 satırlık bir tablo kodda süzülüp modele yalnızca beş satır gösterilebiliyor.
Araç vermemek de bir tasarım
Esirgediğiniz araç bir garantidir. Claude Code'da bir inceleme alt ajanına yalnızca Read, Grep ve Glob verebilirsiniz. Bu sınırı harness uyguluyor; alt ajan istese de dosya düzenleyemez. Prompt'a "dikkatli ol" yazmak bir ricadır. Eksik araç ise bir gerçektir.
Çok büyük sonuç döndüren bir araç, o tek çağrının ötesinde ajanı neden zorlar?
Bölüm tamamlandı
Ajanlar nasıl çalışır kursunun 6 bölümünden 2. bölümü bitirdiniz.
Ajanın dikkati sınırlıdır ve pencere doldukça kötüleşir. Yalnızca önemli olanı görünürde tutun, gerisini gerektiğinde yükleyin, uzun vadeli durumu dosyalara yazın.
Sonraki bölüm