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
Teori
Kavramın çalışma mantığı
- 2
Örnek
Gerçek bir senaryo üzerinde gösterim
- 3
Lab
Uygulamalı alıştırma
- 4
Test
Kısa ölçüm
- 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çimi | Uygun yapı | Neden |
|---|---|---|
| Adım dizisi baştan belli | Sabit hat (sıralı çağrı) | Döngü yalnızca belirsizlik ve maliyet ekler |
| Adım sayısı girdiye göre değişiyor | Ajan döngüsü | Bitişi çalışma zamanı belirler |
| Dallanma var ama dallar sonlu | Durum makinesi + model kararı | Dallar kodda, seçim modelde kalır |
| Tek çağrıda bitmesi gereken etkileşim | Doğrudan istem | Gecikme 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 |
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.
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çim | Gözlenen | Kök neden | İlk müdahale |
|---|---|---|---|
| Döngü kilidi | Aynı araç aynı argümanla tekrar çağrılıyor | Gö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ıyor | Araç yüzeyindeki örtüşmeyi kaldır |
| Erken bitirme | Hedef sağlanmadan başarı ilan ediliyor | Başarı yalnızca modelin beyanına bağlı | Koddan doğrulanan başarı yordamı koy |
| Gözlem yutma | Araç hatası cevaba hiç yansımıyor | Hata metni gözleme yazılmıyor | Hata dönüşünü gözlemin parçası yap |
| Bütçe tükenmesi | Bağlam dolduğu için koşum çöküyor | Her tur tüm geçmişi taşıyor | Adım başına bağlam bütçesi kur |
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
- 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.
- 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.
- 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.
- 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İ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.
- 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.
