Tüm yazılar
Teknik
  • #agents
  • #control

Agent kontrol bütçeleri

20.05.2026·12 dk

Agent kontrol bütçeleri

Agent Systems · 21-c05

Agent kontrol bütçeleri

26 Haziran 2026 · Üretim notları

Bir agent'a özerklik vermek, ona sınırsız hak vermek değildir. Üretimde işe yarayan agent, bir bütçe içinde çalışan agent'tır: kaç adım döngü kurabileceği, kaç tool çağırabileceği, ne kadar dolar harcayabileceği, ne kadar süre koşabileceği bellidir. Özerklik, sınırlı bir kontrol problemidir.

Soru
ne zaman dursun?
Eksen
döngü · tool · maliyet · süre
Çıkış
insana devir + termination
Risk
sonsuz döngü + fatura

Bu yazıdaki kavramlar

  • döngü bütçesi
  • tool bütçesi
  • maliyet bütçesi
  • süre bütçesi
  • insana devir
  • human-in-the-loop
  • termination

Bir agent'ı tek seferlik bir cevap üreticisi değil de döngülü bir sistem yaptığınız anda yeni bir soru doğar: bu döngü ne zaman duracak? Model her turda yeni bir tool çağırabilir, yeni bir gözlem alabilir, yeni bir karar verebilir. Hiçbir sınır koymazsanız, kötü bir gün agent'ın aynı hatayı sonsuza dek tekrarlamasıyla ya da gece boyunca fatura biriktirmesiyle bitebilir.

Bu yazıda agent özerkliğini sınırlı bir kontrol problemi olarak ele alıyorum. Beş ayrı bütçe var: döngü adımları, tool çağrıları, dolar/token maliyeti, duvar saati süresi ve bunların hepsi aşıldığında devreye giren insana devir. Sonunda hepsi tek bir guardrail içinde birleşiyor. Yazı boyunca diyagramlar kendi başına sürekli oynayıp kontrolün şu an nerede olduğunu gösteriyor.

01/08

Döngü neden bir bütçe ister?

Bir agent'ın kalbi bir döngüdür: model bir karar verir, bir tool çağırır, sonucu (observation) okur, tekrar karar verir. OpenAI'ın pratik rehberi bunu net söyler: agent çalışması, bir çıkış koşuluna ulaşılana kadar süren bir döngüdür. Çıkış koşulu, son çıktıyı veren bir tool olabilir, tool çağırmadan dönen bir model cevabı olabilir, bir hata olabilir ya da basitçe maksimum tur sayısı olabilir.

İşte bu son madde, maksimum tur, döngü bütçesidir. ReAct makalesi bunu deneysel olarak gösterir: yazarlar HotpotQA için 7, FEVER için 5 adımda kesim koymuş, çünkü daha fazla adım sonucu iyileştirmemiş. Yani "daha çok adım" otomatik olarak "daha iyi cevap" demek değildir. Döngü bütçesi sadece bir güvenlik freni değil, aynı zamanda boşa giden hesaplamayı kesen bir karar.

loop bütçesi · her turda 1 azalır
kalan turdöngü çalışıyor
1
2
3
4
5
6
7
8
kalan tur tur bütçe bitti · döngü durur

Aşağıdaki sayaç her turda bir azalır. Dolu kareler kalan bütçeyi, boş kareler harcananı gösterir. Bütçe sıfıra inince döngü zorla durur; agent o ana kadarki en iyi cevabını verir veya escalation'a gider.

02/08

Döngü bütçesi: kapta ne olacağı bir tasarım kararı

Bir sayı koymak yetmez. "Maksimum 15 tur" demek kolay; asıl soru, 15. turda agent hâlâ bitmediyse ne olacağıdır. LangChain'in AgentExecutor'ı bunu açıkça iki parametreyle ayırır. max_iterations varsayılan olarak 15'tir ve dokümantasyon None vermenin sonsuz döngüye yol açabileceği konusunda uyarır.

Asıl ilginç olan early_stopping_method. Agent hiç AgentFinish dönmeden bütçe biterse iki seçenek var: force, "limit nedeniyle durduruldu" mesajı döner; generate ise modeli bir kez daha çağırıp önceki adımlardan bir cevap üretmesini ister. Aynı şekilde AutoGen, çok-agent konuşmalarında max_turns ve max_consecutive_auto_reply ile turu sınırlar; CrewAI'da max_iter varsayılan 20'dir ve "agent en iyi cevabını vermek zorunda kalmadan önceki maksimum tur" anlamına gelir.

early_stopping_method
force · sertçe dur

bütçe bitince hesaplama durur, "limit aşıldı" mesajı döner

generate · son bir cevap

model bir kez daha çağrılır, o ana kadarki adımlardan cevap üretir

max_iterationsLangChain · varsayılan 15
early_stopping_methodLangChain · force | generate
max_turns / max_iterAutoGen · CrewAI varsayılan 20

Yani loop bütçesinin iki yarısı var: sayı (kaç tur) ve davranış (kapta ne olacak). Aşağıda aynı 8 turluk bütçe iki farklı kap davranışıyla gösteriliyor.

03/08

Tool bütçesi: aslında bir risk bütçesi

Tool bütçesi sadece "kaç tool çağrılabilir" sorusu değildir. OpenAI'ın rehberi tool'ları risk seviyesine göre derecelendirmeyi önerir: okuma mı yazma mı, geri alınabilir mi, hangi izinleri ister, finansal etkisi var mı? Çünkü bir veri okuma çağrısıyla bir ödeme iadesi çağrısı aynı şey değildir. Birincisini serbestçe bırakabilirsiniz; ikincisi bir onay kapısı ister.

Bu yüzden tool bütçesini bir trafik ışığı gibi düşünmek daha doğru. Düşük riskli (yeşil) tool'lar otomatik geçer. Orta riskli (sarı) tool'lar bir limit veya rate (CrewAI'daki max_rpm gibi) içinde çalışır. Yüksek riskli (kırmızı) tool'lar, ödemeler, iptaller, büyük iadeler gibi geri alınamaz eylemler, doğrudan bir insan onayına bağlanır. LangGraph dokümantasyonu, onay mantığının doğrudan tool fonksiyonunun içine konulabileceğini gösterir.

tool çağrıları · risk sınıfına göre kapı
düşük risk

veri oku · arama

otomatik geçer
otomatik geçer
orta risk

dosya yaz · e-posta taslağı

limit / rate içinde
limit / rate içinde
yüksek risk

ödeme · iptal · iade

insan onayı şart
insan onayı şart

Aşağıda her tool çağrısı risk seviyesine göre farklı bir kapıdan geçiyor. Renkler risk sınıfını, kapı ise o sınıfın ne yaptığını gösterir.

04/08

Maliyet bütçesi: dolar, birinci sınıf bir metrik

Cost bütçesi en kolay görmezden gelinen bütçedir, çünkü fatura genelde ay sonunda gelir. Kapoor ve arkadaşlarının "AI Agents That Matter" makalesi tam da buna karşı yazılmış: agent değerlendirmeleri maliyeti kontrol etmek zorundadır, çünkü tekrarlanan model çağrıları ve retry'ler doğruluğu artırabilir, bu da gereksiz pahalı sistemler kurma teşviki yaratır.

Makale somut bir örnek verir: SWE-Agent her çalışmayı 4 dolarla sınırlamış, ki bu yüz binlerce token'a denk gelir. Daha çarpıcısı, neredeyse aynı doğrulukta sistemler arasında maliyetin iki kat büyüklük (yani yüz kata yakın) farklılaşabildiğini gösterir. Bu yüzden yazarlar maliyeti birinci sınıf bir metrik olarak görmeyi ve doğruluk ile maliyeti bir Pareto eğrisi üzerinde çizmeyi önerir. Toplam maliyet, sabit optimizasyon maliyetleri artı her çalışmanın değişken token maliyetidir; yüksek hacimli uygulamalarda değişken maliyet baskındır.

maliyet · tavana doğru birikir
harcanantavan · $4.00
$4.00
çağrı 1
çağrı 2
çağrı 3
çağrı 4
çağrı 5
çağrı 6
çağrı 7
harcanan tavan aşıldı · dur

her tool çağrısı input/output token üretir; değişken maliyet hızla birikir

Aşağıdaki çubuk, biriken maliyeti bir tavana karşı gösterir. Her tool çağrısı çubuğu doldurur; tavanı aşmaya yaklaşınca renk uyarıya döner ve agent durdurulur.

05/08

Süre bütçesi: duvar saati de bir kaynaktır

Bir agent doğru cevabı verse bile, çok geç verirse üretimde işe yaramaz. Bu yüzden duvar saati (wall-clock) süresi de bir bütçedir. LangChain'in max_execution_time'ı, döngüde geçen toplam süreyi sınırlar; çalışma zamanı kodu hem tur sayısını hem geçen süreyi kontrol edip limitlerden biri dolduğunda durur. CrewAI de max_execution_time'ı saniye cinsinden bir timeout olarak sunar.

ARC'nin gerçekçi otonom görevler raporu burada önemli bir nokta ekler: pratik kontrol sadece statik kod limitleri değildir. Görev çalışmaları, agent "bitti" dediğinde ya da görevi tamamlamayacağı belli olduğunda (örneğin tekrarlayan bir döngüye saplandığında) sonlanır. Yani süre bütçesi, zaman aşımıyla birlikte bir döngü tespiti mekanizmasıyla beraber çalışır.

duvar saati · timeout'a doğru
geçen süresüre bütçesi
güvenli bölgeuyarı bölgesitimeout · çalışma kesilir

tekrarlayan döngü tespit edilirse süre dolmadan da durulur

Aşağıdaki ölçer iki şeyi aynı anda izler: geçen süre (sürekli ilerleyen ibre) ve agent'ın ilerlemesi. İbre kırmızı bölgeye girince timeout devreye girer.

06/08

İnsana devir bir protokoldür

Bir bütçe aşıldığında ne olur? Bazen agent durur ve biter. Ama yüksek riskli ya da belirsiz durumlarda doğru hamle, kontrolü bir insana devretmektir. OpenAI'ın rehberi iki tetik tanımlar: başarısızlık eşiklerinin aşılması (retry/eylem limitleri) ve yüksek riskli, hassas, geri alınamaz eylemler (ödemeler, iptaller, büyük iadeler).

Burada kritik nokta, insana devir kararının sadece bir bildirim olmadığıdır. LangGraph'ın interrupt mekanizması bunu güzel gösterir: bir interrupt, graf çalışmasını seçilen noktada duraklatır ve dış girdi bekler; LangGraph state'i kalıcı tutar (checkpoint), böylece çalışma sonradan kaldığı yerden devam edebilir. Yani insana devir, kalıcı bir duraklat/devam et protokolüdür. Dokümantasyon önemli bir uyarı da yapar: devam ederken düğüm baştan çalışır, bu yüzden interrupt'tan önceki yan etkiler idempotent (tekrar çalıştırınca aynı sonucu veren) olmalıdır.

human-in-the-loop · duraklat, onayla, devam et

agent çalışıyor

interrupt · state donar

insan onayı

onaylandı · devam

kontrol: agent
kontrol: agent
kontrol: insan
kontrol: agent

state checkpoint'e yazılır, devam coherent kalır

Aşağıda agent döngüsü çalışırken yüksek riskli bir eyleme gelince state dondurulur, insan onaya bakar, onaylarsa döngü kaldığı yerden devam eder. İbre kontrolün şu an kimde olduğunu gösterir.

07/08

Termination: bitiş bir koşullar kümesidir

Bütün bu bütçeler aslında tek bir soruya hizmet eder: agent ne zaman durmalı? Termination (sonlandırma), karmaşık otonom iş akışlarında zorunludur. AutoGen bunu güzel özetler: agent ya iş bittiğinde durur, ya kaynaklar tükendiğinde durur, ya da sistemin strateji değiştirmesi gerektiğinde (örneğin kullanıcı müdahalesi) durur.

Pratikte termination tek bir kapı değil, bir koşullar kümesidir. Mutlu son: agent görevi bitirdi (AgentFinish, is_termination_msg). Bütçe sonu: tur, tool, dolar veya süre bütçelerinden biri doldu. Güvenlik durması: tekrarlayan döngü tespit edildi veya bir hata eşiği aşıldı. Devir: yüksek riskli bir eylem insana eskale edildi. Bu koşullardan hangisi önce gerçekleşirse döngü orada biter.

döngü etrafındaki bitiş kapıları
agent döngüsü

görev bitti

AgentFinish · başarı

bütçe doldu

tur · tool · dolar · süre

güvenlik durması

döngü / hata eşiği

insana devir

onay bekler

Aşağıdaki diyagram, agent döngüsünün etrafındaki tüm bitiş kapılarını tek karede gösterir. Yeşil kapı başarıyı, gri kapılar bütçe bitişini, kırmızı kapı güvenlik durmasını, mavi kapı insana devri temsil eder.

08/08

Kaynaklar

İyi bir agent, kendisine verilen özgürlüğü hangi sınırlar içinde kullanacağını bilen sistemdir. Üretime hazır bir guardrail tek bir bütçeden değil, birden çok eksenin birleşiminden doğar: turlar, tool'lar, tekrar denemeler, duvar saati, oran sınırı, dolar ve insan onayı.

bütçeler tek bir guardrail'de birleşir

loop

kaç tur

tool

kaç çağrı / risk

maliyet

dolar / token tavanı

süre

duvar saati

insana devir

onay kapısı

hangisi önce dolarsa, döngü orada durur

Bu yüzden bir agent tasarlarken önce "ne yapabilsin?" diye değil, "hangi sınırda dursun ve kim devralsın?" diye sorun. Bütçeler agent'ın özerkliğini kısıtlamaz; o özerkliği güvenle kullanılabilir hale getirir.

  1. S1OpenAI, A practical guide to building agents, 2025
  2. S2Yao et al., ReAct, ICLR 2023 (arXiv:2210.03629)
  3. S3Kapoor et al., AI Agents That Matter, 2024 (arXiv:2407.01502)
  4. S4Kinniment et al., Evaluating LM Agents on Realistic Autonomous Tasks, ARC 2023
  5. S5LangChain, AgentExecutor API reference
  6. S6LangGraph, Interrupts
  7. S7Microsoft AutoGen, Terminating Conversations Between Agents
  8. S8CrewAI, Agents