İçeriğe atla
SinaptikLabAI KNOWLEDGE PLATFORM
DersOrta30 dakikaAjan Sistemleri Mühendisi · 1. ders

Ajan döngüsü ve durma koşulları

Tek istem yanıtı ile gözlem-karar-eylem döngüsü arasındaki farkı ve döngüyü yönetilebilir kılan üç kararı öğretir: adım bütçesi, koddan doğrulanan başarı yordamı ve durma nedeninin kaydı.

Önkoşul: Large Language Model

BU DERSİN SONUNDA

  • Bir işin ajan döngüsü mü sabit hat mı gerektirdiğine karar vermek
  • Adım bütçesi ve durma koşullarını işin gereğine göre tanımlamak
  • Döngü kilidi, salınım ve erken bitirme biçimlerini ayırt etmek
  • Her koşumun durma nedenini izlenebilir biçimde kaydetmek
  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, bir dil modelinin çıktısının sonraki istemi belirlediği kapalı bir döngüdür: model bir eylem seçer, eylemin sonucu gözlem olarak geri girer, döngü yeniden karar verir. Tek istem yanıtından farkı akıl yürütmenin uzunluğu değil, kontrol akışının kısmen modele devredilmiş olmasıdır. Bu devir yapıldığı anda iki tasarım kararı zorunlu hâle gelir: döngünün ne zaman duracağı ve durmazsa neyin onu durduracağı.

Teori: döngüyü kapatan şey#

Tek istem yanıtında sıra bellidir: istem gider, metin gelir, iş biter. Zincirleme akıl yürütme bunu uzatır ama akışı değiştirmez; ara adımlar hâlâ tek yanıtın içindedir ve dış dünyadan yeni bilgi girmez. Döngü, araya gerçek bir eylem ve o eylemin gözlemi girdiğinde kurulur: model artık kendi varsayımını değil, sistemin döndürdüğü sonucu okur.

Kazanç şudur: adım sayısı önceden bilinmeyen işler ifade edilebilir hâle gelir. Bir kaydı bulmak için kaç arama gerekeceğini kod yazarken bilemezsiniz; döngü bu kararı çalışma zamanına bırakır. Bedel de aynı yerden gelir. Bitiş koşulu artık kodun içinde sabit değil, modelin yargısına bağlıdır; yargı yanlış olduğunda döngü kendi kendine dönmeye devam eder ve bunu kimse fark etmez.

Ajan mı, sabit hat mı#

İşin biçimiUygun yapıNeden
Adım dizisi baştan belliSabit hat (sıralı çağrı)Döngü yalnızca belirsizlik ve maliyet ekler
Adım sayısı girdiye göre değişiyorAjan döngüsüBitişi çalışma zamanı belirler
Dallanma var ama dallar sonluDurum makinesi + model kararıDallar kodda, seçim modelde kalır
Tek çağrıda bitmesi gereken etkileşimDoğrudan istemGecikme bütçesi döngüye yetmez
Yan etkisi geri alınamayan işSabit hat + insan onayıÖzerk döngü onay adımını atlayabilir
Yönlendirici tablo; karar ölçütü adım sayısının önceden bilinip bilinmemesidir, işin zorluğu değil.

Durma koşulu tasarımı#

  • Başarı yordamı: hedefin sağlandığını koddan doğrulayan bir kontrol. Modelin "bitti" demesi başarı kanıtı değildir.
  • Adım bütçesi: en fazla kaç tur döneceği. Aşıldığında koşum başarısız sayılır, sessizce kesilmez.
  • Kaynak tavanı: toplam token ve araç çağrısı sayısı için üst sınır; bu tavan adım sayısından önce dolabilir.
  • İlerleme yok tespiti: son turlarda aynı araç aynı argümanla çağrıldıysa döngü ilerlemiyordur.
  • İnsan devri: karar için gereken bilgi sistemde yoksa döngü soru sorarak durur, tahmin ederek sürmez.
  • Ölümcül hata: yetki reddi gibi yeniden denemenin düzeltemeyeceği hatalar döngüyü hemen bitirir.
python
def dongu_kosur(hedef, arac_kumesi, adim_butcesi=12):
    gecmis = [hedef]
    son_cagrilar = []

    for adim in range(1, adim_butcesi + 1):
        karar = model_karar_ver(gecmis, arac_kumesi)

        if karar.tip == "bitir":
            if basari_yordami(karar.sonuc):
                return Sonuc(durum="basarili", adim=adim, durma="basari-yordami")
            gecmis.append("Bitirme reddedildi: başarı yordamı sağlanmadı.")
            continue

        imza = (karar.arac, karar.argumanlar)
        if son_cagrilar[-2:] == [imza, imza]:
            return Sonuc(durum="basarisiz", adim=adim, durma="ilerleme-yok")
        son_cagrilar.append(imza)

        gozlem = arac_cagir(karar.arac, karar.argumanlar)
        if gozlem.olumcul:
            return Sonuc(durum="basarisiz", adim=adim, durma="olumcul-hata")
        gecmis.append(gozlem.kirpilmis_metin)

    return Sonuc(durum="basarisiz", adim=adim_butcesi, durma="adim-butcesi")

Bu iskeletin can alıcı noktası `durma` alanıdır. Koşum başarısız olduğunda tek bir "hata" etiketi işe yaramaz; adım bütçesinin dolması, ilerlemenin durması ve ölümcül hata birbirinden farklı üç arıza biçimidir ve farklı düzeltme ister. Durma nedeni kayıt altına alınmadığında ajan, hata ayıklanamayan bir kutuya dönüşür. Örnekteki adım bütçesi bir yapılandırma kararıdır, ölçülmüş bir değer değil: kendi işinizin en uzun meşru çözüm yolunu sayıp üzerine pay bırakarak belirleyin.

Tipik başarısızlık biçimleri#

BiçimGözlenenKök nedenİlk müdahale
Döngü kilidiAynı araç aynı argümanla tekrar çağrılıyorGözlem modelin durumunu değiştirmiyorİlerleme yok tespiti ekle, gözlemi anlamlı kırp
Salınımİki araç arasında sırayla gidip geliniyorİki araç aynı ihtiyacı kısmen karşılıyorAraç yüzeyindeki örtüşmeyi kaldır
Erken bitirmeHedef sağlanmadan başarı ilan ediliyorBaşarı yalnızca modelin beyanına bağlıKoddan doğrulanan başarı yordamı koy
Gözlem yutmaAraç hatası cevaba hiç yansımıyorHata metni gözleme yazılmıyorHata dönüşünü gözlemin parçası yap
Bütçe tükenmesiBağlam dolduğu için koşum çöküyorHer tur tüm geçmişi taşıyorAdım başına bağlam bütçesi kur
Son satırın çözümü dördüncü bölümün konusu; burada yalnızca arızanın adını koyuyoruz.

Sık yapılan hata#

Sahada en yaygın yanılgı, döngü sınırlarını bir iyileştirme işi sayıp sonraya bırakmaktır: önce çalışır hâle getirilir, sınırlar sonra eklenir. Sorun şu ki sınırsız bir döngü çoğu zaman çalışıyor görünür, çünkü geliştirme sırasında denenen girdiler kısa yoldan çözülür. Sınırın yokluğu ancak beklenmeyen girdide ve en pahalı yerde ortaya çıkar. İkinci yanılgı, arızayı adım bütçesini yükselterek çözmeye çalışmaktır; bütçe artışı döngü kilidini gizler, ortadan kaldırmaz.

LAB · UYGULAMALI ALIŞTIRMA

Kendi işiniz için döngü sınırları belgesi çıkarın

  1. 1Elinizdeki bir işi seçin ve şu an kullandığınız çözüm yolunu adım adım yazın: kaç araç çağrısı, hangi sırayla, hangi noktada dallanıyor.
  2. 2Aynı işten beş farklı girdi alın (biri en kısa, biri bilinen en zor olan) ve her biri için gereken meşru adım sayısını elle sayın.
  3. 3En yüksek sayının üzerine pay bırakarak bir adım bütçesi yazın ve bu sayıyı hangi girdiye dayandırdığınızı not edin.
  4. 4Başarının koddan nasıl doğrulanacağını tek bir kontrol olarak tanımlayın (örneğin "dönen kayıt kimliği var ve durum alanı kapandı").
  5. 5İlerleme yok, ölümcül hata ve insan devri koşullarını yazıp her biri için hangi durma nedeninin kaydedileceğini eşleştirin.
  6. 6Beş girdiyi mevcut çözümünüzle koşturup her girdinin hangi durma nedeniyle biteceğini önce tahmin edin, sonra koşumu izleyip gözlemle karşılaştırın; çalışan bir döngünüz henüz yoksa aynı adımları elle yürütüp her girdinin nerede durduğunu aynı kayda yazın.

Beklenen çıktı

Bir işe ait adım bütçesi, koddan doğrulanabilir başarı yordamı ve durma nedeni listesinden oluşan tek sayfalık döngü sınırları belgesi.

Sık sorulan sorular

Adım bütçesini kaç tutmak gerekir?

Sabit bir doğru sayı yok; ölçüt işin en uzun meşru çözüm yoludur. Kendi girdilerinizden en zorunu elle çözüp gereken adımı sayın, üzerine pay bırakın. Bütçeyi arıza gördükçe yükseltmek yanlış yön: bütçe yükseltmek döngü kilidini gizler, nedenini ortadan kaldırmaz.

Modelin "işim bitti" demesi neden yeterli değil?

Bitirme kararı da bir üretimdir ve diğer üretimler gibi yanlış olabilir. Model hedefi yanlış anlamış, eksik veriyle yetinmiş veya araç hatasını başarı sanmış olabilir. Bu yüzden bitiş, modelin beyanıyla değil koddan kontrol edilebilir bir yordamla doğrulanır; yordam sağlanmıyorsa döngü nedeniyle birlikte sürer.

Zincirleme akıl yürütme eklemek ajan yapmaya yeter mi?

Yetmez. Zincirleme akıl yürütme tek yanıtın içinde ara adımlar üretir; dış dünyadan yeni bilgi girmez ve hiçbir eylemin sonucu kararı değiştirmez. Ajan olması için gözlemin döngüye geri girmesi gerekir. Ara adımların uzunluğu bu farkı kapatmaz.

LEARN

Ajan Sistemleri Mühendisi rotasına devam et

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