Programlama

Ajanlar Artık İş Yapıyor: API Kullanan Görev Motoru

Yapay zekâ tarafında bir süredir aynı cümleyi duyup duruyoruz: “Sadece yazı üretmiyor, iş de yapıyor.” Açık konuşayım — bu laf ilk duyduğumda bana biraz pazarlama kokusu verdi. Ama işin içine API çağrıları, çok adımlı akışlar ve gerçek karar mekanizmaları girince tablo değişiyor. Değişiyor çünkü o zaman ortada gerçekten bir şeyler yapan, kendi başına hareket eden bir yapı var karşınızda.

Şunu söyleyeyim, Geçen ay, Şubat 2026’da İstanbul’da bir startup ekibiyle otururken tam da bunu tartıştık. Ekip, müşteri destek taleplerini otomatik sınıflandırıp ilgili servisleri tetikleyen bir yapı istiyordu. “Chatbot gibi cevap versin yeter” diyen yoktu; herkesin derdi, sistemin kendi başına aksiyon almasıydı. E peki, sonuç ne oldu? İşte bu yazının omurgası da tam oraya dayanıyor.

Bakın, burayı atlarsanız yazının kalanı anlamsız kalır.

Ajan dediğimiz şey tam olarak ne?

Bak şimdi, görev otomasyon ajanı ile sıradan sohbet botu arasında ince ama önemli bir fark var. Bot konuşur. Ajan ise hedefi alır, parçalara böler, hangi aracı kullanacağını seçer ve işi halletmeye çalışır — yani mesele sadece “ne demek istediğini anlamak” değil, ardından ne yapılacağını da çıkarabilmek.

Ben bunu ilk kez 2023’te kendi küçük yan projemde denemiştim (ben de ilk duyduğumda şaşırmıştım). Ankara’da uzaktan çalışan iki geliştirici bir düşüneyim… arkadaşla birlikte kurduğumuz demo sistemde amaç basitti: gelen form verisini analiz etsin, hava durumunu kontrol etsin ve kullanıcıya kısa bir öneri dönsün. Basit görünüyor, değil mi? Ama o akışın içinde karar verme, hata yakalama ve tekrar deneme gibi minik ama gerçekten can sıkıcı detaylar var — küçük görünüp büyük baş ağrısı çıkaranlar.

Ajan mantığı aslında iyi bir asistan gibi çalışıyor. Siz ona “bugün yağmur varsa müşteriye şemsiye önerisi yolla” diyorsunuz; o da önce hava verisini çekiyor, sonucu yorumluyor, ardından nihai çıktıyı üretiyor. Bu kadar düz anlatınca kolay geliyor. Pratikte ise modelin ne zaman araç kullanacağına karar vermesi can alıcı nokta — ve iş tam orada çetrefilleşiyor.

Bir dakika — bununla bitmedi.

💡 Bilgi: Ajanların en güçlü tarafı “tek cevap” vermeleri değil; gerektiğinde durup başka bir aracı çağırabilmeleri. Zayıf taraflarıysa hâlâ bazen fazla özgüvenli davranmaları ve yanlış aracı seçebilmeleri.

Mimariyi sade tutunca iş daha net görünüyor

İşin omurgasını kafada büyütmeye gerek yok. Gerçekten. Çoğu temel ajan şu döngüyle ilerliyor: kullanıcı girdisi gelir, model düşünür, gerekiyorsa araç çağırır, sonucu okur, döngüyü sürdürür — bir noktada artık yeni araç gerekmiyorsa final cevabı verir ve biter.

Ben bunu en çok mutfak benzetmesiyle anlatıyorum. LLM’i şef değil de mutfaktaki koordinatör gibi düşünün; malzemenin nerede olduğunu biliyor, hangi tencerenin açılacağını seçiyor ve aşçıya talimat veriyor. Tadı son anda bozma ihtimali de var tabii (ki bu çoğu kişinin gözünden kaçıyor). O yüzden kontrol katmanı şart.

Bileşen Ne yapar? Pratik not
LLM Karar verir Neyi bilmediğini fark etmesi önemli
Araç/API Dış dünyadan veri çeker veya işlem yapar Hata yönetimi şart
Bellek Bağlam saklar Küçük projede opsiyonel olabilir
Döngü Süreç tamamlanana kadar tekrar eder Sonsuz döngü riskine dikkat!

Bi saniye — Küçük bir startup için bu yapı bayağı yeterli. Ama enterprise tarafta olay hemen sertleşiyor; güvenlik politikaları, rate limit yönetimi, loglama ve onay mekanizmaları devreye giriyor. Yani kağıt üstünde aynı mimari… pratikte bambaşka bir disiplin istiyor. Bunu yaşayarak öğrendim.

Araçları tanıtmak neden bu kadar önemli?

Şöyle düşünün: restoran menüsünde malzemeler eksik yazarsa garsonun bile sipariş almakta zorlandığı oluyor. Ajanın elindeki araçları modele düzgün tarif etmezseniz model kafasına göre takılıyor — benzer şey. Model hangi fonksiyonun ne yaptığını açıkça bilmeli ki doğru zamanda doğru şeyi çağırsın.

Bence burada en kritik konu açıklık dili. “Şehri verince hava durumunu getirir” demek yerine alan adıyla birlikte sınırı net söylemek gerekiyor: hangi parametre bekleniyor, çıktı formatı ne olacak, hata gelirse ne dönülmeli? Bu ayrıntılar küçük görünür. Ama ajan kalitesini direkt etkiliyor — bunu atlamayın.

def get_weather(city):
url = f"https://wttr.in/{city}?format=j1"
response = requests.get(url)
data = response.json()
temp = data["current_condition"][0]["temp_C"]
desc = data["current_condition"][0]["weatherDesc"][0]["value"]
return f"{city}: {temp}°C, {desc}"

Editör masasında bu örneği ilk test ettiğimde Mart 2026’da Kadıköy’deydim ve dürüst olayım — sonuç beklediğimden hızlı geldi ama veri kalitesi her zaman pürüzsüz değildi. Ücretsiz API’ler bazen güzel başlıyor, sonra ufak sürprizler çıkarıyor. Mesela JSON yapısı değişirse bütün akış tökezleyebiliyor. Yaşandı, gördüm.

  • Kural net olsun: Araç ismi ile görev amacı birebir örtüşsün. (bu kritik)
  • Parametreleri sınırla: Model her şeyi serbest bırakınca saçmalama payı artıyor.
  • Zorunlu alanları belirt: Eksik bilgi varsa geri soru sorsun. — ciddi fark yaratıyor

Döngünün kalbi: model karar verirken neler olur?

Lafı gevelemeden söyleyeyim: asıl sihir agent loop içinde oluyor. Kullanıcı isteği gelir, model önce kendi kendine “burada dış veri lazım mı?” diye bakar; gerekiyorsa tool call üretir. Sonra araçtan dönen yanıtı okur ve ya devam eder ya da işi bitirir — bence çok yerinde bir karar —. Bu kadar. Daha fazla bilgi için PDF Dünyasında Bir Nefes: Ücretsiz ve Limitsiz Araçlar yazımıza bakabilirsiniz.

Bazen bu süreç çok temiz akar. Bazen de model iki adımda çözebileceği işi beş turda çözmeye kalkar — işte orada maliyet yükselir ve gecikme başlar. Ben bunu birkaç kurumsal POC’de gördüm; özellikle finans ekipleri gecikmeye tahammül etmiyor. Rapor ekranının üç saniye geç açılması bile soru işareti yaratıyor. Üç saniye. Ciddi mi? Maalesef evet.

Ajan kurarken en pahalı hata genelde kod değil; kötü tanımlanmış görev sınırı oluyor.

Neden eval kullanımı kötü fikir?

Evet, doğrudan söyleyeyim: tool arguments okumak için eval kullanmak bana hiç güven vermiyor. Küçük demo ortamında çalışsa bile gerçek hayatta güvenlik açısından sıkıntılı. Onun yerine güvenli JSON ayrıştırma kullanmak çok daha mantıklı; aksi halde kapıyı ardına kadar açık bırakmış olursunuz — hem de tamamen gereksiz yere. Bu konuyla ilgili G42’nin Sessiz Hamlesi: AI Kampüsü Yolda Kalıyor yazımıza da göz atmanızı tavsiye ederim.

Küçük proje ile büyük kurum arasında fark ne?

Küçük projede hız kazanırsınız; tek servisle başlamak rahatlatıcıdır ve öğrenme eğrisi düşer. Kurumsal tarafta ise gözünüz sürekli loglarda olur. Kim ne çağırdı? Hangi veri dışarı çıktı? Hangi işlem neden başarısız oldu? Bu sorular cevaplanmazsa ajan güzel görünür ama üretimde huzursuzluk çıkarır. Dur bir saniye — şunu da ekleyeyim: ajanın başarısı çoğu zaman zekâdan çok operasyon disiplinine bağlıdır. Aynen öyle. Neyse, uzatmayalım. Daha fazla bilgi için Dyson’ın El Fanı Hamlesi: HushJet Mini Cool Ne Vadediyor? yazımıza bakabilirsiniz. artık ile ilgili önceki yazımız yazımızda bu konuya da değinmiştik. Butterfly CSS: 2026’da Dikkat Çeken Hafif Bir Seçenek yazımızda bu konuya da değinmiştik.

Daha akıllı hale getirmek için nereye gitmeli?

Tek adımla bitmeyen işler gerçek hayatta daha değerli oluyor. Mesela “hava durumunu al” demek yerine “hava durumunu al ve buna göre giyim önerisi üret” dediğinizde agent’ın bağlam kurması gerekiyor (evet, doğru duydunuz). Bu geçiş küçük görünse de davranışı ciddi biçimde değiştiriyor; artık sadece veri çeken bir makine değil, yorumlayan mini bir yardımcı oluyor. Ham mı? Biraz. Ama doğru yönde ilerliyor.

Ben böyle hibrit sistemleri seviyorum çünkü insan müdahalesini tamamen silmeden otomasyonu artırıyorlar. Bence en sağlıklı yaklaşım da bu zaten — ikisini birden terk etmemek.

Bellek eklemek şart mı?

Yani, %100 şart değil. Ama faydası büyük olabilir — özellikle uzun süre yaşayan görevlerde. Kullanıcının önceki isteğini hatırlayan sistem daha az soru soruyor, daha az sürtünme yaratıyor. Gel gelelim bellek kısmını erken eklemek bazen sistemi gereksiz karmaşıklaştırıyor; önce çekirdek akışı sağlam kurmak, sonra belleği eklemek daha iyi bir sıra bence.

Peki nerelerde gerçekten işe yarar?

Ajan tabanlı otomasyon bana göre özellikle destek operasyonlarında parlıyor. Randevu oluşturma, durum sorgulama, hava/veri kontrolü, basit rapor hazırlama, hatta iç ekip bildirimlerini tetikleme — bunların hepsi uygun sınırlar içinde oldukça mantıklı kullanım alanları. Bir arkadaşım İzmir’deki e-ticaret girişiminde böyle bir yapı kurdu; yaklaşık üç ay sonra manuel kontrol yükünün ciddi şekilde azaldığını söyledi. Tam sayı vermeyeyim ama ekip nefes aldı diyebilirim (yanlış duymadınız). Bu yeterli kanıt benim için.

Nerede dikkat etmek gerekir?

Eh, Eğer iş kritikse körlemesine otomasyona abanmayın. Sağlık, finans, hukuk gibi alanlarda onay katmanı olmadan tam özerklik risklidir. Kağıt üstünde süper görünen bazı akışlar pratikte beklediğiniz kadar iyi çıkmıyor; benim ufak hayal kırıklığım da tam burada oldu. Bir agent yanlış API’ye istek atarsa sadece hata üretmez — bazen yanlış kararı zincirleme büyütür. Bu yüzden eşik değerleri, insan onayı ve rollback planı hayat kurtarıyor. Gerçekten kurtarıyor.

Tam çalışan basit örnek nasıl görünür?

messages = [
{"role": "system", "content": "Sen araç kullanan görev odaklı bir asistansın."},
{"role": "user", "content": "Delhi'deki havayı öğren"}
]
while True:
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=messages,
tools=tools
)
msg = response.choices[0].message
if msg.tool_calls:
for tool_call in msg.tool_calls:
if tool_call.function.name == "get_weather":
args = json.loads(tool_call.function.arguments)
result = get_weather(args["city"])
messages.append(msg)
messages.append({
"role": "tool",
"tool_call_id": tool_call.id,
"content": result
})
else:
continue
else:
print(msg.content)
break

Burasını ilk gördüğümde aklıma hemen JavaScript’teki event loop geldi; farklı diller olsa da fikir benzer şekilde dönüp duruyor. JavaScript’te Async Mantığı: Event Loop’u Gerçekten Anlamak

Sistemin mantığı burada basitmiş gibi dursa da gerçek uygulamada timeout yönetimi eklemek şart. Yoksa tek kötü API yanıtı tüm deneyimi mahvedebiliyor. Bazen tek satırlık koruma koca günü kurtarıyor — hani öyle küçük görünen önlem bazen ana kahraman oluyor.

Sıkça Sorulan Sorular

Ajan ile chatbot arasındaki fark nedir?

Chatbot genelde cevap verir; ajan ise gerekirse dış dünyadaki araçları çağırıp işlem yapar.
Yani biri konuşur,

diğeri harekete geçer.” Ajanların asıl farkı burada ortaya çıkar.”

Ajan yapmak için mutlaka bellek gerekir mi?

Hayır,

başlangıçta gerekmez.”
Önce araç çağrısı ve döngüyü düzgün kurmak daha önemli.”

Bellek sonradan eklenebilir;

Küçük startup’larda böyle sistemler mantıklı mı?

Evet,

özellikle tekrarlayan işleri azaltıyorsa gayet mantıklı.” Ama sınırlar net çizilmeli;
aksi halde bakım yükü hızla artar.”

Ajanlar neden bazen yanlış API çağrısı yapıyor?

“Çünkü model her zaman niyetinizi kusursuz okumuyor.”
Araç açıklaması zayıfsa ya da parametreler belirsizse yanlış seçim yapabiliyor.”

Bu yüzden şema tasarımı önemli.”

Kaynaklar ve İleri Okuma

OpenAI Function Calling Dokümantasyonu

Anthropic Tool Use Rehberi

OpenAI Cookbook GitHub Sayfası

Aşkın KILIÇ

20+ yıl deneyimli Azure Solutions Architect. Microsoft sertifikalı bulut mimari ve DevOps danışmanı. Azure, yapay zekâ ve bulut teknolojileri üzerine Türkçe teknik içerikler üretiyor.

AZ-305AZ-104AZ-500AZ-400DP-203AI-102

Bu içerik işinize yaradı mı?

Benzer içerikleri kaçırmamak için beni sosyal medyada takip edin.

Haftalık Bülten

Her pazar özenle seçilmiş teknoloji yazıları doğrudan e-postanıza gelsin.

← Onceki Yazi
Samsung Galaxy S25 Ultra’da Okyanus Modu: Neye Yarıyor?
Sonraki Yazi →
PQPM: Farklı Diller İçin Tek Bir Süreç Yöneticisi

Yorum Yaz

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Haftalık Bülten

Azure, DevOps ve Yapay Zeka dünyasındaki en güncel içerikleri her hafta doğrudan e-postanıza alın.

Spam yok. İstediğiniz zaman iptal edebilirsiniz.
📱
Uygulamayı Yükle Ana ekrana ekle, çevrimdışı oku
Kategoriler
Ara
Paylaş
İçindekiler
← Samsung Galaxy S25 Ultra’da Ok...
PQPM: Farklı Diller İçin Tek B... →
📩

Gitmeden önce!

Her pazar özenle seçilmiş teknoloji yazıları ve AI haberleri doğrudan e-postanıza gelsin. Ücretsiz, spam yok.

🔒 Bilgileriniz güvende. İstediğiniz zaman ayrılabilirsiniz.

📬 Haftalık bülten: Teknoloji + AI haberleri