Uyumluluk: Pactmark 0.2.x. @pactmark/ai-sdk, Vercel AI SDK entegrasyonunu isteğe bağlı bir peer bağımlılık olarak gösterir; tipleri asla çekirdek API’lere girmez.

Bir adaptör neyden sorumludur

Bir model adaptörü beş şeyi normalize eder, başka bir şey yapmaz:

Akış hâlindeki içerik

Sağlayıcı parçaları, çalışma zamanının sınır zorlayabileceği sınırlı ve sayılabilir bir akışa dönüşür.

Araç talepleri

Sağlayıcının araç-çağrısı biçimleri, bir kayıt özetine atıfta bulunan tool_call’a dönüşür.

Bitiş nedenleri

“Bitti” ile “token’ı tükendi”yi ayırt edebilmek için normalize edilir.

Kullanım muhasebesi

Girdi ve çıktı kullanımı, hesaplanamadığında açık bir başarısızlıkla.

Yeniden deneme sınıflandırması

timed_out, retryable veya uncertain — üçüncüsü ikincisinin eşanlamlısı değildir.

Başka hiçbir şey

Bir adaptör politika belirlemez, başka çağrılar için kimlik bilgisi çözmez ve olay yazmaz.

Beyan etmek zorunda olduğunuz iki profil

Bu alanların her biri, sağlayıcı sözleşmeniz hakkında yaptığınız bir iddiadır. Hepsi modelSecurityProfileDigest’in parçası olur ve o da kabul edilmiş iş emriyle taşınır — böylece bölge, saklama veya eğitim duruşundaki bir değişiklik sessiz değil görünür bir kimlik değişikliği olur.
providerOutputCap: "enforced", sağlayıcının çıktıyı kendisinin sınırlayacağını iddia eder. Sağlayıcınız bunu yapamıyorsa öyle söyleyin — desteklenmeyen bir çıktı tavanı veya kullanılamaz kullanım muhasebesi, fatura geldiğinde keşfedilmek yerine dışa aktarımdan önce başarısız olur.

Kimlik bilgileri

Şekil 1. Çalışma zamanı önce kötümser bir model-çağrısı rezervasyonu alır, sonra o çağrıya bağlı kısa ömürlü bir ModelCredentialRef verir. Adaptör onu çözer, başka hiçbir şeyi çözmez.
Ham prompt’lar, tamamlamalar ve gizli akıl yürütme olağan telemetri ve kanıtın dışında kalır. Adaptörünüz varsayılan olarak istekleri loglayan bir istemciyi sarmalıyorsa bunu kapatın — redaksiyon kanaryaları CI’da yakalar, ama yakalamak zorunda kalmamalı.

Yeniden deneme sınıflandırması bir güvenlik kararıdır

Bunu yanlış yapmak her iki yönde de pahalıdır. Belirsiz bir sonucu retryable saymak işi tekrarlatır; yeniden denenebilir bir sonucu uncertain saymak ilerleyebilecek koşuları park eder.
Belirsiz biten bir model çağrısı, rezervasyonda maksimum ücretini korur. Bu kasıtlıdır: alternatifi, bütçe sızdıran bir çökme döngüsüdür.

Testler için deterministik modeller

Ajan davranışını test etmek için sağlayıcı anahtarına ihtiyacınız yok ve CI’da istememelisiniz:
Deterministik sürücü gerekli davranışı — sıralama, sınırlar, araç bağlama, bitiş nedenleri — canlı bir sağlayıcı olmadan kapsar. Depodaki her örnek böyle çalışır.

Kayıt ve sapma

Bir model adaptörü kaydı; sağlayıcıyı, model fabrikasını, güvenlik ve kaynak profillerini, uç noktayı, uygulama sürümünü ve kaynak özetini bağlar. Herhangi birini değiştirmek özeti değiştirir ve eskisine göre kabul edilmiş bir koşu yenisiyle sessizce devam etmez — KAF_MODEL_ADAPTER_MISMATCH.

Gözlemlenebilirlik ve gizlilik

Bir model çağrısı hakkında ne kaydedilebilir, ne kaydedilemez.

Ajan testi

Sahte bir sürücü etrafında deterministik senaryolar kurmak.