« Tüm yayınlar

Vercel AI SDK 6'da 'agent' aslında bir while döngüsü

AI SDK 6'daki ToolLoopAgent ve stopWhen mekanizmasının kod seviyesinde nasıl çalıştığı, mock model testleriyle adım adım incelendi.

Vercel AI SDK 6 sürümü, 'agent framework' vurgusuyla tanıtılıyor ve merkezinde ToolLoopAgent adlı yeni bir sınıf var. Yazar, gerçek bir model API'sine bağlanmadan, sahte (mock) bir modelle generateText ve ToolLoopAgent fonksiyonlarını karşılaştırarak 'agent' kavramının kod düzeyinde ne anlama geldiğini test ediyor. Sonuç şaşırtıcı derecede basit: generateText varsayılan olarak bir araç çağrısından sonra durur ve modele sonucu geri göndermez, dolayısıyla boş bir yanıt üretir. stopWhen seçeneği eklendiğinde ise SDK, araç sonucunu konuşmaya ekleyip modeli yeniden çağırır; bu döngü stopWhen koşulu karşılanana kadar sürer.

ToolLoopAgent sınıfı bu döngüyü stepCountIs(20) varsayılan sınırıyla paketler, yani stopWhen belirtilmese bile model en fazla 20 kez çağrılır. Bu, sonsuz döngüyü önlerken aynı zamanda gizli bir maliyet tavanı da oluşturur — mühendisler için önemli bir pratik uyarı. Ayrıca araç çalıştırma hataları döngüyü çökertmiyor; hata mesajı modele bir 'tool-error' olarak geri besleniyor ve model bir sonraki adımda bu hatadan kurtulmaya çalışıyor. Bu kendi kendini onaran yapı esnekliği artırırken, hataların sessizce yutulması nedeniyle beklenmedik maliyet artışlarına da yol açabiliyor.

Mühendisler için mesaj açık: 'agent' terimi pazarlama dilinde büyük bir kavram gibi sunulsa da AI SDK 6'da bu, sonlanma koşuluyla (stopWhen) kontrol edilen sıradan bir while döngüsünden ibaret. Bu döngünün varsayılan davranışlarını, adım sınırlarını ve hata yönetimini bilmeden kullanmak, üretim ortamında beklenmedik API çağrısı sayısına ve faturaya yol açabilir.