Yapay zeka ajanları nasıl öğrenilir: 6 aşamalı rehber
Yapay zeka ajanlarını sıfırdan öğrenmek için izlemeniz gereken altı aşamalı yol haritası. Kavramlar, döngü tasarımı, araç kullanımı ve güvenlik konularını uygulamalı öğrenin.
Altı aşamalı yol haritası
Yapay zeka ajanlarını sıfırdan öğrenmek için şu altı aşamayı sırasıyla tamamlayın: kavramlar, ilk döngünüz, araçlar, bellek, döngü tasarımı ve güvenlik. Her aşamada kendi ellerinizle inşa edeceğiniz bir uygulama bulunur. İlerideki aşamalara atlamak, öğrenme sürecinin duraksamasının en yaygın nedenidir; çünkü framework'ler tam olarak görmeniz gereken kısımları gizler.
Yapay zeka ajanı, araçları kullanma yetkisine sahip bir dil modeli etrafında kurulu bir döngüdür. Bu cümle konunun tamamını özetler. Bundan sonra gelen her şey; döngünün içeriği, araçların erişim sınırları ve döngü hatalı çalıştığında nasıl durdurulacağı hakkındaki detaylardır. Döngüyü başka birine açıklayabiliyorsanız, konuyu öğrenmişsiniz demektir. Sadece framework isimlerini sayabiliyorsanız, öğrenmemişsinizdir.
Aşağıdaki plan, inşa ederek öğrendiğiniz varsayımı üzerine kuruludur. Bir aşamayı okuyun, küçük uygulamayı inşa edin, kasten bozun ve ardından bir sonrakine geçin. Sadece okuduğunuz bir aşama, tamamlanmamış bir aşamadır.
1. aşamadan önce gerçekten neye ihtiyacınız var
Dürüst ön koşul listesi kısadır ve çoğu kurs sayfasının önerdiğinden daha da kısadır.
- Elli satırlık bir betik yazabilecek düzeyde Python veya TypeScript okuyup yazabiliyorsunuz.
- Linux kabuğunda rahatsınız: paket kurabilir, dosya düzenleyebilir ve günlük kaydı okuyabilirsiniz.
- Barındırılan bir model için API anahtarınız var veya yerel bir modeli çalıştırabilecek bir makineye sahipsiniz.
Listenin tamamı budur. Makine öğrenimi teorisine ihtiyacınız yok ve bir model eğitmiş olmanız gerekmiyor. Ajan çalışmalarının hiçbir aşaması gradyanlar veya eğitim verileriyle ilgili değildir. Bir grafik kartı, yalnızca modeli kendiniz çalıştırmaya karar verirseniz önem taşır; bu, daha sonra kendi LLM'inizi barındırmak için VPS üzerinde Ollama çalıştırma başlığından öğrenebileceğiniz ayrı bir beceridir.
İnsanların hafife aldığı kısım kabuk tarafıdır. Ajanlar; izinler, yollar, ortam değişkenleri ve sessizce sonlanan süreçler nedeniyle başarısız olur. Eğer PATH ile ilgili bir yığın izi (stack trace) veya bir dosya modu sizi terminali kapatmaya itiyorsa, önce bir hafta sonunuzu Linux temellerine ayırın. Bu, daha sonra size bir ay kazandıracaktır.
Aşama 1: Ajan nedir, ne değildir
Tek bir API çağrısı ve döngü olmadan başlayın. Bir istem gönderin, yanıtı yazdırın ve yanıttaki token sayılarını inceleyin. Artık maliyet birimini ve gecikme süresi birimini anlamış durumdasınız.
Ardından araç kullanımını öğrenin. Bu, alanın tamamındaki gerçekten yeni tek fikirdir. Bir işlevi modele ad, açıklama ve girdileri için bir JSON (JavaScript object notation) şemasıyla tanımlarsınız. Model hiçbir şeyi çalıştırmaz. Yapılandırılmış bir istek döndürür: run_command şu bağımsız değişkenlerle çağrılsın. Kodunuz işlevi çalıştırır, çıktıyı bir ileti olarak geri gönderir ve modele yeniden sorar. Model, metinleri okuyup metinler yazan bir planlayıcıdır. Bu alışverişin sizin tarafınızdaki kod, tasarımları karşılaştırmaya başladığınızda bir ad kazanır: kendi yetkilerine sahip olmayan bir modelin etrafına sarılmış döngü, araçlar ve izinler bütünü olan agent harness olarak adlandırılır.
Bir sohbet botu, tek bir yanıttan sonra sona erer. Bir ajan ise model araç istemeyi bırakana kadar bu alışverişi tekrarlar. Tüm fark bu tekrardan ibarettir ve hata modlarının farklı olmasının nedeni de budur. Bir sohbet botu bir kez yanlış cevap verir. Bir ajan ise kimse fark etmeden önce yanlış bir cevap üzerinde defalarca işlem yapar.
Aşama 2: Döngüyü kendiniz yazın, bir kez
Bir framework ile başlamayın. İşin yapısını kavramak için yaklaşık otuz satırlık Python kodu yazın.
sudo apt update && sudo apt install -y python3-venv
python3 -m venv ~/agent
source ~/agent/bin/activate
pip install anthropic
export ANTHROPIC_API_KEY=your-key-hereimport subprocess
import anthropic
client = anthropic.Anthropic()
tools = [{
"name": "run_command",
"description": "Run a read only shell command and return its output.",
"input_schema": {
"type": "object",
"properties": {"command": {"type": "string"}},
"required": ["command"],
},
}]
messages = [{"role": "user", "content": "How much disk space is free here?"}]
while True:
response = client.messages.create(
model="claude-opus-5",
max_tokens=4096,
tools=tools,
messages=messages,
)
if response.stop_reason != "tool_use":
break
messages.append({"role": "assistant", "content": response.content})
results = []
for block in response.content:
if block.type == "tool_use":
done = subprocess.run(
block.input["command"], shell=True,
capture_output=True, text=True, timeout=10,
)
results.append({
"type": "tool_result",
"tool_use_id": block.id,
"content": done.stdout or done.stderr,
})
messages.append({"role": "user", "content": results})
print(next(b.text for b in response.content if b.type == "text"))Kodu python3 agent.py ile çalıştırın. Sağlıklı bir çalışma, dosya sistemlerinizi ve boş alanlarını listeleyen bir paragraf çıktısı verir; çünkü model df -h komutunu istemiş, kodunuz bunu çalıştırmış ve ikinci geçiş bu tabloyu bir cümleye dönüştürmüştür. Eğer hiçbir çıktı alınmıyorsa, döngü bir metin bloğu gelmeden önce sona ermiş demektir. Döngünün içine print(response.stop_reason) ekleyin ve değerlerin değişimini izleyin.
Şimdi kodu kasten bozun. tool_use_id satırını silin ve hatayı okuyun; çünkü eşleşen bir kimliği olmayan araç sonucu API tarafından reddedilir ve bu, yeni başlayanların yaptığı en yaygın hatadır. İki komut gerektiren bir soru sorun ve döngünün iki kez çalıştığını gözlemleyin. İmkansız bir şey sorun ve sistemin pes edişini ya da sonsuz döngüye girişini izleyin.
Bu örnekle ilgili bir uyarı: Model çıktısını shell=True ile doğrudan bir kabuğa aktarır. Bu, yeniden oluşturabileceğiniz bir test makinesinde kabul edilebilir olsa da, başka her yerde yanlıştır. 6. Aşama bu sorunu çözer. Döngünün temelindeki kavramlar kendi yapay zeka ajansınızı bir VPS üzerinde oluşturma rehberinde daha ayrıntılı olarak ele alınmıştır.
Aşama 3: ajanın halihazırda sahip olmadığı araçlar
run_command aracınız çalışıyor, ancak gerçek bir ajanın kutunun dışına erişebilen araçlara ihtiyacı vardır: bir bilet sistemi, bir veritabanı, bir depo. Her servis ve her ajan için özel bir sarmalayıcı (wrapper) yazmak ölçeklenebilir değildir.
Model Context Protocol (MCP), sektörün üzerinde uzlaştığı çözümdür. Bir MCP sunucusu, bir dizi aracı standart bir taşıma katmanı üzerinden sunar ve MCP uyumlu herhangi bir ajan, özel bir ara katmana ihtiyaç duymadan bu araçları kullanabilir. Referans dosya sistemi sunucusu tek bir komuttan ibarettir:
npx -y @modelcontextprotocol/server-filesystem /home/you/projectsBu komut Node kurulumu gerektirir ve dizin argümanı, sunucunun erişebileceği tek yoldur. Bu, güvenlik modelinin minyatür halidir: sınırı model değil, sunucu belirler. Bir istemciyi bu sunucuya yönlendirdiğinizde, ajanınız sizin yazmadığınız dosya okuma ve yazma yetenekleri kazanır. Bunları bir servis hesabı altında ve açıklanan taşıma seçenekleriyle düzgün bir şekilde çalıştırmak, yapay zeka kodlama ajanları için VPS üzerinde MCP sunucuları çalıştırma rehberinde ele alınmıştır. Geçici bir dizin yerine gerçek verileri işaret eden ikinci bir sunucu için, bir antrenman takipçisi olan openGym'i self-host etme rehberi salt okunur bir sunucu içerir; böylece ajana bozabileceği hiçbir şey vermeden kendi antrenman geçmişiniz hakkında soru sorma pratiği yapabilirsiniz.
Bu aşamanın dersi, araç tasarımının asıl iş olduğudur. Belirsiz bir açıklama, modelin tahmin yürütmesine neden olur. Kırk bin karakter döndüren bir araç, bağlam penceresini (context window) zehirler. Bir şeyleri silme yetkisine sahip bir araç, er ya da geç bir şeyleri silecektir.
Aşama 4: Bellek, yani aslında sadece dosyalar
Yeni başlayanlar bu noktada bir vektör veritabanına yönelir. Bunu yapmayın, en azından henüz değil.
Bir ajanın çağrılar arasında belleği yoktur. Her seferinde tüm konuşmayı yeniden gönderirsiniz; uzun bir oturumun her adımda kısa bir oturumdan daha maliyetli olmasının nedeni budur. Dolayısıyla bellek iki ayrı soruna bölünür. Birincisi, şu anda bağlam penceresine (context window) sığan kısımdır; bunu özetleme yaparak, eski araç çıktılarını kırparak ve isteminizin sabit önekini önbelleğe alarak yönetirsiniz; böylece bunun için maliyetin sadece bir kısmını ödersiniz. İkincisi ise yeniden başlatma sonrasında varlığını sürdüren kısımdır, yani depolama.
İkinci sorun için, ajanın okuyup yazabileceği düz bir markdown dosyası, neredeyse tüm ilk projelerde bir vektör veritabanından daha verimlidir. Ajanınıza tek bir dosya verin, formatı belirtin ve başlamadan önce bu dosyayı okumasını, yeni bir şey öğrendiğinde ise dosyayı güncellemesini söyleyin. Avantajların çoğunu elde edersiniz ve dosyayı açıp ajanınızın neye inandığını görebilirsiniz. Gömme (embedding) ve getirme (retrieval) yöntemlerine, notlar artık bağlam penceresine sığmadığında başvurun, daha önce değil.
Aşama 5: döngü üründür
Artık başında beklediğinizde çalışan bir aracı oluşturabiliyorsunuz. Aşama 5, başında olmadığınızda da çalışmasını sağlamaktır.
Dört soru, gözetimsiz bir aracın kendi başına bırakılmasının güvenli olup olmadığını belirler. Boşa çalışmaması için onu ne tetikliyor? Hatanın küçük kalması için hangi sınırlar içinde faaliyet gösteriyor? Kendi ödevini notlayan bir aracı her zaman başarılı sayılacağından, sonuç nasıl doğrulanıyor? Token veya gerçek zaman bazında onu hangi bütçe durduruyor? Bu dört unsuru bilinçli bir şekilde tasarlamak, döngü mühendisliği ve bu tanımın neleri kapsadığı bölümünde açıklanan disiplindir.
Alıştırma: 2. aşamadaki aracınızı alın, dört veya beş adım gerektiren bir görev verin ve katı bir yineleme sınırı ekleyin. Ardından bu sınırı kaldırın ve sınırsız bir döngünün token faturanıza ne yaptığını izleyin. Bunu küçük bir bütçeyle bir kez yapın ki, büyük bir bütçede kazara yapmayasınız.
Aşama 6: güvenlik, sırlar ve maliyet
Bu aşama isteğe bağlı değildir ve yalnızca çalışan bir sistem inşa etmeden riskin hissedilemeyeceği için sona bırakılmıştır.
Ajanı root olarak veya kendi kullanıcı hesabınızla değil, kendi yetkisiz kullanıcısı ile çalıştırın; böylece etki alanı tüm makine yerine sadece bir dizinle sınırlı kalır. Kimlik bilgilerini modelin erişemeyeceği bir yerde tutun; çünkü bağlam penceresinde (context window) bulunan her veri, bir araç çağrısı aracılığıyla dışarı sızdırılabilir. Bunun çözümü, yapay zeka ajanlarınızdan sırları uzak tutma bölümünde açıklandığı gibi, bir yardımcı programın arkasında kısa ömürlü token'lar kullanmaktır. Harcama için kesin bir üst sınır belirleyin; çünkü denetimsiz bir döngü, başında kimse yokken her yineleme için ücret yansıtır. Süreci makul seviyede tutacak limitler ve toplu işleme yöntemleri 7/24 çalışan bir VPS üzerinde yapay zeka ajanı maliyet kontrolü bölümünde yer almaktadır.
Eğer ajanınız kendi yazdığınız bir betik yerine bir çerçeve (harness) içinde çalışıyorsa, bu aşamanın bazı kısımları koddan ziyade yapılandırma ile ilgilidir. Kurulmaya değer DeepSeek Harness eklentileri, bütçe sınırları, araç izin kuralları ve enjeksiyon taraması ile aynı konuların çoğunu kapsamaktadır.
Maliyet konusu somut bir rakamı hak ediyor. Temmuz 2026 itibarıyla Claude Opus 5, her bir milyon girdi token'ı için 5 dolar ve her bir milyon çıktı token'ı için 25 dolar ücretlendirmektedir. Sürekli büyüyen bir sohbeti yeniden gönderen konuşkan bir ajan, tek bir görevde birkaç yüz bin token tüketebilir. Prompt önbellekleme (prompt caching) ve rutin adımlar için daha küçük bir model kullanmak, bu aritmetiği herhangi bir prompt iyileştirmesinden çok daha fazla değiştirir.
Prompt enjeksiyonu da bu aşamanın konusudur. Eğer ajanınız bir web sayfasını, bir sorun takip sistemini veya gelen kutusunu okuyorsa, o metni yazan kişi aslında ajanınıza talimat veriyor demektir. Web araması genellikle bu kapıyı ilk açan araçtır ve bir ajanı kendi SearXNG örneğinize yönlendirme bölümü, bağlantı yapısını ve oluşturduğu enjeksiyon yüzeyini yan yana göstermektedir. Savunma, daha zekice bir sistem prompt'u oluşturmak değildir. Savunma, sınırlardır; çünkü bir depoyu silme yetkisi olmayan bir ajana, bir depoyu silmesi için telkinde bulunulamaz.
Hangi müfredatı takip etmelisiniz?
Altı farklı kaynağı yarım yamalak incelemek yerine, tek bir müfredat seçin ve onu tamamlayın. Microsoft ai-agents-for-beginners deposu, Temmuz 2026 itibarıyla 70,000 yıldızı aşmış, on sekiz dersten oluşan ve yukarıdaki aşamalarla tam uyumlu, en kapsamlı ücretsiz kaynaktır. Trend olan ajan depolarının özetleri, nelerin mevcut olduğunu görmek için faydalıdır ancak müfredat olarak kullanıldıklarında verimleri düşüktür; çünkü yıldız sayısına göre sıralanmış bir liste, öğretim sırasına göre değil popülariteye göre düzenlenmiştir.
Pratik yapmak için gerçek bir proje arıyorsanız, kodlama ajanı ilk hedef olarak en uygunudur: geri bildirim anlıktır, araçlar bellidir ve hataları geri almak kolaydır. Bir VPS üzerinde kodlama yapay zeka ajanı çalıştırma süreci uçtan uca açıklamaktadır. Sıfırdan inşa etmek yerine çalışan sistemleri incelemeyi tercih ederseniz, en iyi self-hosted yapay zeka ajanları karşılaştırması, çeşitli projelerin aynı döngüyü nasıl farklı şekillerde çözdüğünü göstermektedir.
Bu süreç ne kadar sürer?
Programlama bilgisi olan biri için 1. ve 2. aşamalar bir akşamlık iştir. 3. aşama bir hafta sonu sürer; bu sürenin büyük kısmı protokollerden ziyade araç tanımlamalarına harcanır. 4. ve 5. aşamalar birkaç haftalık gerçek kullanım gerektirir, çünkü temsilcinizin neyi unuttuğunu ancak unutmasını izleyerek öğrenebilirsiniz. 6. aşama ise hiçbir zaman tam olarak bitmez; çünkü temsilciye kazandırdığınız her yeni yetenek, bu aşamayı yeniden başlatır.
Düzenli akşam çalışmalarıyla iki ay içinde çoğu kişi çalışan, sınırları belirlenmiş ve kullanışlı bir temsilci elde eder. Bir yıl sürenler ise genellikle inşa etmek yerine sürekli okumaya devam edenlerdir.
FAQ
Bir yapay zeka ajanı oluşturmak için makine öğrenmesi bilmem gerekiyor mu?
Hayır. Bir ajan oluşturmak, bir modeli API üzerinden çağırmak ve onun araç isteklerini gerçek fonksiyonlara yönlendirmekten ibarettir; bu da standart uygulama programlamadır. Eğitim, gradyanlar veya veri setleri ile uğraşmazsınız. Ajanınızın çalışıp çalışmayacağını belirleyen beceriler; araçlar için şema tasarımı, hata yönetimi ve Linux izinleridir. Makine öğrenmesi teorisi, yalnızca bir modeli ince ayar (fine-tune) aşamasına getirdiğinizde önem kazanır; bu ise farklı ön koşulları olan bambaşka bir iştir.
LangChain veya CrewAI gibi bir çerçeve ile mi başlamalıyım?
Önce ham bir döngü yazın, ardından bir çerçeveye geçin. Bir çerçeve, 2. aşamadaki otuz satırlık kodu bir yapılandırma nesnesi ile değiştirir; bu, neyin yerini aldığını bildiğinizde kullanışlıdır, bilmediğinizde ise kafa karıştırıcıdır. Ajanınız hatalı davrandığında, doğrudan mesaj listesi ve araç sonuçları üzerinde mantık yürütmeniz gerekir; bunları daha önce hiç görmediyseniz bu çok daha zordur. Kendi yazdığınız bir döngüden sonra, bir çerçeve mekanizmayı gizlemek yerine size zaman kazandıracaktır.
Yapay zeka ajanlarını öğrenmenin maliyeti nedir?
Sınır koyduğunuz sürece çoğu insanın beklediğinden daha azdır. Barındırılan bir API anahtarı ve küçük bir VPS, bu altı aşamadaki her şeyi karşılar. Asıl risk saatlik ücret değil, siz uyurken her yinelemede fatura çıkaran sınırsız bir döngüdür. İlk günden API hesabınıza kesin bir harcama limiti koyun, yazdığınız her döngüye bir yineleme sınırı ekleyin ve rutin adımlar için daha ucuz bir model kullanın. Modeli yerel olarak çalıştırmak, token faturasını ortadan kaldırır ve yerine donanım gereksinimi getirir.
Yapay zeka ajanı ile sohbet botu arasındaki fark nedir?
Sohbet botu bir kez yanıt verir. Ajan ise bir döngüyü tekrarlar: model bir araç ister, kodunuz onu çalıştırır, sonuç geri döner ve model bir sonraki adımda ne yapacağına karar verir. Bu tekrarlama, ajanın birkaç adımlı bir görevi tamamlamasını sağlar; ajanların sohbet botlarında olmayan sınırlara ihtiyaç duymasının nedeni de budur. Sohbet botundan gelen yanlış bir yanıt kötü bir paragraftır. Ajan tarafından verilen yanlış bir yanıt ise kötü bir paragrafın yanı sıra, bu yanıtla ilgili yaptığı her türlü işlemdir.