Skip to content
Berktuğ Berke Ateş
Berktuğ Berke Ateş

Yazılım Mühendisi

Blog

AI Tool Calling için Contract Testing

· 7 dk okuma

Model zorunlu alanları atladığında veya argüman uydurduğunda prompt unit testi yetmez. Contract test, tool şemalarını model ile sisteminiz arasında zorlayıcı sınırlara çevirir.

Tool şemalarını ürün API'si gibi ele alın

Tool calling doğal dil ürettiği için yumuşak görünür; yan etkiler ise serttir: ödemeler, ticket'lar, e-postalar ve veritabanı yazmaları. Tool sözleşmesi yalnızca prompt paragrafında belgelenmişse her model yükseltmesi sessiz bir breaking change olur.

Tool'ları zorunlu alanlar, enum'lar, idempotency anahtarları ve açık deny list'lerle versiyonlu şema olarak yayınlayın. Contract testler, kullanıcı oturumu anlaşmazlığın bedelini ödemeden önce hem model adapter'ın hem tool executor'ın bu şekil üzerinde anlaştığını doğrular.

Şiiri değil sınırı test edin

Golden fixture'lar geçerli çağrıları, neredeyse-hatalı malformed çağrıları ve ekstra alan kaçırmaya veya iç içe nesneleri karıştırmaya çalışan adversarial payload'ları içermelidir. Kayıtlı production hatalarını suite'e yeniden oynatın ki sonraki sağlayıcı yükseltmesi aynı hata sınıfını geri getiremesin.

Model-çıktı sözleşmelerini tool-executor sözleşmelerinden ayırın. İlki parsing ve validation'ın güvensiz şekilleri reddettiğini; ikincisi geçerli, versiyonlu payload verildiğinde executor'ın hâlâ doğru davrandığını doğrular. Karıştırmak model mi backend mi regress ettiğini gizler.

  • Tool şema sürümlerini sabitleyin; beyan edilmemiş breaking change'de CI'ı düşürün
  • Zorunlu alanları, tip coercion kurallarını ve unknown-field reddini assert edin
  • Çoklu-tool dizilerini ve kısmi-hata kurtarma yollarını dahil edin
  • Yeni model route'larını dondurulmuş contract fixture'lara karşı shadow-run edin

Drift'i yayın kapılarında görünür kılın

Sağlayıcı SDK'ları, JSON mode tuhaflıkları ve tool-choice politikaları zamanla kayar. PR CI'daki aynı fixture'larla staging'e vuran zamanlanmış bir contract suite ekleyin; ürün metrikleri hâlâ iyi görünse bile pass rate düşünce alarm verin.

Contract pass rate, en çok başarısız tool'lar ve model route başına argüman şekli histogramlarını izleyin. Yeşil dashboard ve kırmızı contract suite, yalnızca gerçek tool baskısında görünen regresyonu yayınlamanın yoludur.

Parser değil ürün gibi kurtarın

Sözleşme bozulunca geri dönüşsüz tool'larda fail-closed, salt okunur yardımda fail-soft tercih edin. Opak 500'ler yerine modele yapılandırılmış onarım ipuçları verin—eksik alan adları, izinli enum'lar—retry döngüsünü teşvik etmesin.

Contract testing, AI ürünlerinin tool calling'i sıkıcı tutma yoludur: şemalar bilinçli evrilir ve modeller API'nin yazarı değil konuğudur.


11 Eylül 2026 tarihinde Berktuğ Berke Ateş tarafından yayımlandı.