Ajanım Araç Çağrısına Veri Kopyalarken Sayıları Atlıyordu: Çözüm Dosya Yolu Oldu
Kaynak: dev.to

İçindekiler 5 başlık
Geriye dönük testleri (backtest) denetleyen bir MCP sunucusunda stratejinizin günlük getirilerini araca ilettiğinizde, sistem Sharpe oranının istatistiksel olarak anlamlı olması için gereken geçmiş veri süresini hesaplar. İlk akla gelen yol getirileri sohbete yapıştırıp ajanın bunu araç çağrısına aktarmasını sağlamaktır; ancak bu en verimsiz ve yanıltıcı yöntemdir.
Kurulum#
Deneyde her biri tüm denetim zincirini gerektiren 3 soru test edildi (örneğin: "%95 güvende Sharpe oranının 1,0'ı geçmesi için kaç yıl gerekir?"). Seriler 400, 504 ve 756 günlük getiriden oluştu. Sorular gpt-5.4-mini modeline 3'er kez sorularak grup başına 9 test yapıldı. Yerel araç hesaplaması zemin gerçeklik (%2 hata payı) kabul edildi. Üç deney grubu oluşturuldu:
- Eski araçlar (yapıştırma): Tek çağrılı araç öncesi yapı; ajanın birden fazla doğrulayıcıyı kendisinin zincirlemesi gerekiyordu.
- Tek çağrılı denetim aracı (yapıştırma): Veri prompt içinde JSON dizisi olarak verildi; ajan bunu araç çağrısına kopyaladı.
- Tek çağrılı denetim aracı (dosya yolu): Veri CSV dosyasında tutuldu; prompt dosya yolunu verdi, araç doğrudan dosyayı okudu.
Sonuçlar#
| Deney Grubu | Doğruluk | Medyan Token | Medyan Süre |
|---|---|---|---|
| Eski araçlar, yapıştırma | 9'da 0 | 11.180 | 2,4 sn |
| Denetim aracı, yapıştırma | 9'da 4 | 27.036 | 10,0 sn |
| Denetim aracı, dosya yolu | 9'da 8 | 6.524 | 2,4 sn |
Aynı model, aynı araç ve aynı sayılarla veriyi prompt dışına taşımak doğruluğu iki katına çıkardı ve token maliyetini yaklaşık dörtte üçe yakın oranda düşürdü.
Yapıştırma Yönteminde Ne Yanlış Gitti?#
En dikkat çekici hata 756 getirilik soruda görüldü: Yapıştırma kolundaki üç denemenin tümü 0,1452 yerine 0,1718 sonucunu verdi. Farklı hatalar değil, aynı hata üç kez tekrarlandı.
Model 756 sayıyı çıktı token'ı olarak yeniden yazarken bazı değerleri atladı. Araç eksik seriyi hatasız hesapladı ve ajan sessiz bir hatayla ("silent failure") yanlış yanıtı sundu. Ayrıca her sayı iki kez faturalandırıldı (prompt girdisi ve araç çıktısı); tek bir çalıştırmada 76.930 token harcandı. Dosya grubundaki tek hata ise veri kaybından değil, ajanın yıl yerine 388 gözlem gününü raporlamasından (birim karışıklığı) kaynaklandı.
Yapılan Değişiklikler#
Sistemi optimize etmek için şu pratik adımlar uygulandı:
- Yerel sunucuya CSV dosya yolu alan
returns_fileparametresi eklendi. - Araç sadece sayıları okuyacak, dosya boyutunu sınırlayacak ve hataları context'e dosya içeriğini basmadan satır numarasıyla bildirecek şekilde yapılandırıldı.
- Araç açıklamalarında uzun serilerin dosya olarak verilmesi gerektiği açıkça belirtildi.
- Hosted sürüm diske erişemediği için dosya girişini sessizce kabul etmek yerine doğrudan reddetti.
Testin Kısıtları ve Çıkarılan Ders#
Test sentetik serilerle, tek bir küçük modelle (gpt-5.4-mini) ve grup başına 9 denemeyle yapıldı. Buradaki temel mühendislik dersi şudur: Bir araç yüksek hacimli veriye ihtiyaç duyuyorsa, bu yükü modele taşıtmayın. Modele ham veriyi yazdırmak yerine bir referans (dosya yolu, ID veya URL) verin ve aracın veriyi doğrudan çekmesini sağlayın. Modeller veri taşımada değil, karar vermede başarılıdır.
Bu konuyu derinlemesine öğrenmek isterseniz: Tool Calling ve Multi-Step Agent'lar modülüne göz atın.
Kaynak ve atıf
Bu yazı, dev.to üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:
- dev.to/arhancanli/my-agent-kept-dropping-numbers-when-it-copied-data-into-a-tool-call-a-file-path-fixed-it-46gf