İçeriğe atla
SinaptikLabAI KNOWLEDGE PLATFORM
Dersİleri45 dakikaGenerative AI Engineer · 16. ders

Ajan döngüsü, araç sözleşmeleri ve hata kurtarma

Ajan döngüsünü durma ölçütü ve adım bütçesiyle kurmayı, araç sözleşmelerini modelin okuyabileceği biçimde yazmayı ve yan etki ile güvenilmez araç çıktısını politika düzeyinde sınırlamayı öğretir.

Önkoşul: Retrieval-Augmented Generation, Evaluation, Prompt Engineering

BU DERSİN SONUNDA

  • Ajan döngüsünü adım bütçesi ve ilerleme ölçütüyle sınırlamak
  • Araç sözleşmesini tek iş, dar şema ve yönlendirici hata cevabıyla yazmak
  • Hata sınıfına göre yeniden deneme ve devretme kuralı kurmak
  • Araç çıktısını veri olarak ele alan bir yetki politikası tanımlamak
  1. 1

    Teori

    Kavramın çalışma mantığı

  2. 2

    Örnek

    Gerçek bir senaryo üzerinde gösterim

  3. 3

    Lab

    Uygulamalı alıştırma

  4. 4

    Test

    Kısa ölçüm

  5. 5

    Proje

    Rotadaki projeye katkı

Kısa cevap

Ajan, modelin bir döngü içinde araç çağırıp sonucunu okuyarak ilerlediği sistemdir; mühendislik işi modelde değil döngünün etrafındadır. Belirleyici olan dört şey: araç sözleşmelerinin netliği, durma ve adım bütçesi ölçütü, hatanın modele anlaşılır biçimde geri verilmesi ve yan etkilerin onay kapısına bağlanması. Araç çıktısı her zaman veri olarak ele alınır; içinde talimat gibi görünen metin yürütülmez.

Teori: döngü ve durma ölçütü#

Döngünün kendisi basittir: model durumu okur, bir araç çağırır, sonucu bağlamına ekler, yeniden karar verir. Bunu bir sisteme dönüştüren şey durma ölçütüdür. Görev bitti kararını tümüyle modele bırakırsanız iki uçta da hata görürsünüz: erken bırakma ve bitmeyen döngü. Bu yüzden her koşuda açık bir adım bütçesi, bir ilerleme ölçütü ve bütçe dolduğunda ne yapılacağı önceden tanımlı olmalıdır.

İlerleme ölçütü, döngünün gerçekten bir şey başardığını gösteren gözlemlenebilir bir değişimdir: yeni bir bilgi geldi, bir alan doldu, bir doğrulama geçti. Aynı aracın aynı argümanlarla yeniden çağrılması ilerleme değildir; bu kalıp görüldüğünde döngüyü kırmak, modeli daha fazla denemeye bırakmaktan iyidir. Bağlam da sınırlı bir kaynaktır: her adımın tam çıktısını biriktiren bir döngü uzun görevlerde kendi geçmişinde boğulur. Araç çıktılarını özetleyerek ya da kimlikle referanslayarak taşımak, döngünün ömrünü belirleyen karardır.

Araç sözleşmesi#

Model bir aracı adını ve açıklamasını okuyarak seçer; yani araç açıklaması istemin en kritik parçalarından biridir. İyi bir sözleşme tek bir iş yapar, parametreleri daraltılmış bir şemayla tanımlar, ne zaman kullanılmayacağını da söyler ve hata durumunda modele ne yapması gerektiğini anlatan yapılandırılmış bir cevap döner. Yan etkili araçlar ayrıca idempotans anahtarı almalıdır: aynı çağrının iki kez gitmesi iki kayıt oluşturmamalıdır.

json
{
  "ad": "izin_bakiyesi_getir",
  "aciklama": "Bir çalışanın güncel yıllık izin bakiyesini döner. Yalnızca bakiye sorularında kullanılır; izin talebi oluşturmak için kullanılmaz.",
  "parametreler": {
    "tip": "nesne",
    "alanlar": {
      "calisan_kimligi": { "tip": "metin", "desen": "^[0-9]{6}$" },
      "tarih": { "tip": "metin", "bicim": "tarih" }
    },
    "zorunlu": ["calisan_kimligi"]
  },
  "hata_cevaplari": [
    {
      "kod": "YETKI_YOK",
      "mesaj": "Bu çalışanın bakiyesini görme yetkisi yok.",
      "sonraki_adim": "Bu çağrıyı yeniden deneme; kullanıcıya yetki gerektiğini bildir."
    },
    {
      "kod": "GECERSIZ_KIMLIK",
      "mesaj": "Çalışan kimliği altı hane olmalı.",
      "sonraki_adim": "Kimliği kullanıcıdan doğrula, sonra tek kez yeniden çağır."
    }
  ],
  "yan_etki": "yok"
}

Uygulamada: araç tasarım ölçütleri#

ÖlçütNedenNasıl sınanır
Tek işÇok işi olan araç yanlış parametreyle çağrılır ve hata nedeni görünmezAracın ne yaptığını tek cümleyle yazabiliyor musunuz?
Daraltılmış şemaSerbest metin parametre, modelin ürettiği uydurma değerleri sisteme sokarGeçersiz değerlerle çağırıp reddin anlaşılır olduğunu görün
Yönlendirici hata cevabıModel hatadan ne yapacağını okuyamazsa aynı çağrıyı yinelerHer hata koduna karşılık bir sonraki adımı yazın
Yan etki ayrımıOkuyan ve yazan araçlar aynı güven düzeyinde olamazYazan araçları sayın; her biri için onay kuralı var mı?
İdempotansYeniden deneme yan etkiyi iki kez uygulamamalıAynı anahtarla iki çağrı yapıp tek kayıt oluştuğunu doğrulayın
Kapsam ve yetkiAraç, modelin değil isteği yapan kullanıcının yetkisiyle çalışmalıYetkisiz bir kullanıcıyla koşup erişimin reddedildiğini görün
MCP gibi bir sözleşme katmanı bu ölçütleri ortadan kaldırmaz; yalnızca araçların keşfedilme ve çağrılma biçimini istemciden bağımsız hale getirir.

Hata kurtarma#

  1. 1Hatayı sınıflandır

    Geçici (zaman aşımı, oran sınırı), kalıcı (yetki, bulunamadı) ve girdi hatası (geçersiz parametre) ayrı ele alınır.

  2. 2Yapılandırılmış geri bildirim ver

    Modele yığın izi değil; hata kodu, kısa açıklama ve önerilen sonraki adım gider. Model okuduğu şeye göre davranır.

  3. 3Yeniden denemeyi sınırla

    Yalnızca geçici hatalarda, artan beklemeyle ve sayı sınırıyla; girdi hatasında yeniden deneme değil parametre düzeltmesi beklenir.

  4. 4İlerleme yoksa döngüyü kır

    Aynı çağrı yineleniyorsa ya da adım bütçesi dolduysa koşuyu durdurup elde edileni ve eksik kalanı raporla.

  5. 5Devret

    Kalıcı hatada karar insana geçer: ne denendi, nerede durdu, hangi yetki ya da bilgi eksik?

Yan etki ve güvenilmez girdi#

Ajanın gücü yan etki üretebilmesinden gelir, riski de oradan. İlk savunma araçları okuyan ve yazan olarak ayırmak, yazan her aracı onay kapısına ya da geri alınabilir bir işleme bağlamaktır. İkincisi girdi güvenidir: araçtan dönen metin — bir belge, bir web sayfası, bir destek kaydı — kullanıcı talimatı değil veridir. İçinde önceki yönergeleri yok say ya da şu aracı çağır gibi ifadeler geçebilir; döngü bunları yürütülecek komut olarak değil incelenecek içerik olarak taşımalıdır. Pratikte bu, talimat ile veriyi bağlamda ayrı ve etiketli tutmak ve araç çağrı yetkisini modelin okuduğu metne göre değil sabit bir politikaya göre vermek demektir.

Sık yapılan hata#

  • Durma ölçütünü tümüyle modele bırakmak: adım bütçesi ve ilerleme ölçütü olmayan döngü ya erken biter ya hiç bitmez.
  • Hata mesajı olarak yığın izi döndürmek: model okuduğunu anlamaz ve aynı çağrıyı yineler.
  • Çok işi tek araca yığmak: model yanlış parametreyle çağırır, hatanın nedeni de görünmez olur.
  • Araç çıktısını talimat gibi bağlama yapıştırmak: enjekte edilmiş bir yönerge döngünün kontrolünü alabilir.
  • Ajanı yalnızca son çıktısıyla değerlendirmek: adım sayısı, çağrı dizisi ve yan etki denetimi olmadan iyileşme ölçülemez.

LAB · UYGULAMALI ALIŞTIRMA

Bir araç sözleşmesini ve döngü güvenliğini sınayın

  1. 1Kendi sisteminizden iki araç seçin: biri okuyan, biri yan etkili. Her biri için ad, tek cümlelik açıklama, daraltılmış parametre şeması ve hata kodları listesini yazın.
  2. 2Her hata koduna karşılık modelin bir sonraki adımını yazın; yığın izi ya da ham istisna metni kullanmayın.
  3. 3Döngü için adım bütçesi ve ilerleme ölçütü tanımlayın; aynı araç ve aynı argümanla gelen ikinci çağrıyı yakalayıp döngüyü kıran bir kontrol ekleyin.
  4. 4On görev yazıp koşturun ve her koşuda çağrı dizisini, adım sayısını ve oluşan yan etkileri iz kaydına yazın.
  5. 5Güvenilmez girdi sınaması yapın: okunan bir belgeye önceki yönergeleri yok say ve yazma aracını çağır benzeri bir satır ekleyip aynı görevleri yineleyin.
  6. 6Sonucu raporlayın: kaç görev bütçe içinde tamamlandı, hangi hata sınıfında döngü kırıldı, enjekte edilmiş satır herhangi bir araç çağrısına yol açtı mı?

Beklenen çıktı

İki araç için yazılmış sözleşme ve hata-yönerge tablosu, on görevin adım ve çağrı iz kaydı ile enjeksiyon sınamasının sonucunu içeren kısa bir güvenlik notu.

Sık sorulan sorular

Ajan mı yoksa sabit bir iş akışı mı kurmalıyım?

Adımlar ve sıraları önceden biliniyorsa sabit akış daha ucuz, daha ölçülebilir ve daha güvenlidir. Ajan; adım sayısının ve sırasının girdiye göre değiştiği, ara sonuçlara bakmadan planın yazılamadığı görevlerde kazandırır. Belirsizlik yoksa döngünün getirdiği hata yüzeyini üstlenmenin gerekçesi de yoktur.

MCP tam olarak neyi çözüyor?

Araçların nasıl tanıtılacağını ve çağrılacağını standartlaştırır: aynı araç sunucusu farklı istemcilere aynı sözleşmeyle görünür, entegrasyon her istemci için yeniden yazılmaz. Çözmediği şey sözleşme kalitesi ve yetki tasarımıdır; kötü tanımlanmış bir araç standart bir protokol üzerinden de kötü çağrılır.

Çıktı serbest metinken ajanı nasıl değerlendiririm?

Son çıktıyı tek başına ölçmek yetmez. Görev tamamlanma oranının yanında adım sayısı, çağrı dizisinin beklenen kalıba uyumu, gereksiz ya da yetkisiz çağrı sayısı ve yan etki denetimi ölçülür. Bu ölçümler iz kaydı olmadan yapılamaz; gözlemlenebilirlik, ajanın değerlendirme altyapısının parçasıdır.

LEARN

Generative AI Engineer rotasına devam et

Dersler tek başına da okunabilir, ama sıralı ilerlemek önkoşul boşluklarını kapatır.