Yapay Zeka Aracısı Sıfırdan Nasıl Öğrenilir?
Yapay zeka aracılarını öğrenmek için altı aşamalı yol: kavramlar, kendi yazdığınız döngü, araçlar, bellek, tasarım ve güvenlik. Her aşamada bir şey oluşturun.
Altı aşamalı yol
Yapay zeka aracılarını sıfırdan öğrenmek için altı aşamayı sırayla tamamlayın: kavramlar, ilk döngünüz, araçlar, bellek, döngü tasarımı ve güvenlik. Her aşamada kendi ellerinizle bir şey oluşturulur. İlerideki aşamalara geçmek, insanların ilerlemeyi durdurmasının en yaygın nedenidir. Bunun nedeni, bir framework'ün tam olarak görülmesi gereken kısmı gizlemesidir.
Bir yapay zeka aracısı, araçları çağırmasına izin verilen bir language model etrafındaki döngüdür. Konunun tamamı bu cümleden ibarettir. Bundan sonraki her şey, döngüye nelerin girdiği, araçların nelere erişebileceği ve işler yanlış gittiğinde döngünün nasıl durdurulacağıyla ilgili ayrıntılardır. Döngüyü başka birine açıklayabiliyorsanız konuyu öğrenmişsinizdir. Yalnızca framework adlarını biliyorsanız konuyu öğrenmemişsinizdir.
Aşağıdaki plan, oluşturarak öğrenildiğini varsayar. Bir aşamayı okuyun, küçük şeyi oluşturun, kasıtlı olarak bozun ve ardından ilerleyin. Yalnızca okuduğunuz bir aşamayı tamamlamış sayılmazsınız.
1. aşamadan önce gerçekten ihtiyaç duyulanlar
Gerçek ön koşul listesi kısadır ve çoğu kurs sayfasının belirttiğinden daha kısadır.
- Elli satırlık bir script yazabilecek ve okuyabilecek düzeyde Python veya TypeScript kullanabilirsiniz.
- Bir Linux shell ortamında rahatsınız: paket yükleyebilir, dosya düzenleyebilir ve log okuyabilirsiniz.
- Barındırılan bir model için API key'iniz veya yerel bir modeli çalıştırabilecek bir makineniz vardır.
Listenin tamamı budur. Makine öğrenimi teorisini bilmeniz veya daha önce model eğitmiş olmanız gerekmez. Agent çalışmaları gradients veya training data içermez. Bir graphics card yalnızca modeli kendiniz çalıştırmaya karar verirseniz önem kazanır. Bu, daha sonra bir LLM'i kendi sunucunuzda barındırmak için Ollama'yı VPS üzerinde barındırma konusundan öğrenebileceğiniz ayrı bir beceridir.
İnsanların hafife aldığı konu shell tarafıdır. Agent'lar permissions, paths, environment variables ve sessizce sonlanan processes nedeniyle başarısız olur. PATH veya bir file mode hakkındaki bir stack trace terminali kapatmanıza neden oluyorsa önce bir hafta sonunu Linux temellerine ayırın. Bu, ileride bir ay zaman kazandırır.
Aşama 1: bir aracının ne olduğu ve ne olmadığı
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ına bakın. Artık maliyet birimini ve gecikme birimini anlamış olursunuz.
Ardından, bu alandaki gerçekten yeni tek fikir olan araç kullanımını öğrenin. Bir işlevi modele ad, açıklama ve girdileri için bir JSON (JavaScript object notation) şeması olarak tanımlarsınız. Model herhangi bir şeyi çalıştırmaz. Yapılandırılmış bir istekle yanıt verir: run_command şu bağımsız değişkenlerle çağrılsın. Kodunuz işlevi çalıştırır, çıktıyı ileti olarak geri gönderir ve modele yeniden sorar. Model, metni okuyan ve metin yazan bir planlayıcıdır. İşlevleri çalıştıran kodunuzdur.
Bir sohbet botu tek yanıtın ardından sona erer. Bir aracı, model araç istemeyi bırakana kadar bu alışverişi tekrarlar. Tüm fark bundan ibarettir; arıza biçimlerinin farklı olmasının nedeni de budur. Bir sohbet botu bir kez yanlış yanıt verir. Bir aracı ise biri fark edene kadar yanlış bir yanıt doğrultusunda birkaç kez işlem yapar.
Aşama 2: döngüyü bir kez kendiniz yazın
Bir framework ile başlamayın. Nesnenin yapısını kendiniz kavrayabilmek için yaklaşık otuz satır 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"))python3 agent.py ile çalıştırın. Başarılı bir çalıştırma, dosya sistemlerinizin adlarını ve boş alanlarını içeren tek bir paragraf yazdırır. Bunun nedeni, modelin df -h istemesi, kodunuzun bunu çalıştırması ve ikinci geçişin bu tabloyu bir cümleye dönüştürmesidir. Hiçbir çıktı yazdırılmazsa döngü, bir metin bloğu gelmeden sona ermiştir. Döngünün içine print(response.stop_reason) ekleyin ve değerlerin değişimini izleyin.
Şimdi döngüyü kasıtlı olarak bozun. tool_use_id satırını silin ve hatayı okuyun. Araç sonucunda eşleşen bir kimlik bulunmadığında API bunu reddeder. 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ışmasını izleyin. İmkansız bir şey isteyin ve döngünün ya vazgeçtiğini ya da sonsuza kadar çalıştığını gözlemleyin.
Bu örnekle ilgili bir uyarı vardır. Model çıktısını shell=True ile doğrudan bir shell'e aktarır. Bu yöntem yeniden oluşturabileceğiniz geçici bir makinede kabul edilebilir, ancak diğer tüm ortamlarda yanlıştır. Aşama 6 bunu düzeltir. Döngünün temelindeki kavramlar, bir VPS üzerinde kendi AI agent'ınızı oluşturma bölümünde daha ayrıntılı olarak ele alınır.
Aşama 3: Aracının daha önce sahip olmadığı araçlar
run_command aracınız çalışır. Ancak gerçek bir aracının sistem dışındaki kaynaklara erişen araçlara ihtiyacı vardır: bir bilet sistemi, veritabanı veya depo. Her hizmet ve her araç için özel bir sarmalayıcı yazmak ölçeklenebilir değildir.
Model Context Protocol (MCP), sektörün benimsediği çözümdür. Bir MCP sunucusu, standart bir taşıma yöntemi üzerinden bir araç kümesi sunar. MCP uyumlu herhangi bir araç, özel bir entegrasyon kodu olmadan bu araçları kullanabilir. Başvuru dosya sistemi sunucusu tek bir komuttur:
npx -y @modelcontextprotocol/server-filesystem /home/you/projectsBunun için Node kurulmuş olmalıdır. Dizin bağımsız değişkeni, sunucunun erişebileceği tek yoldur. Güvenlik modeli kısaca şöyledir: sınırı model değil, sunucu belirler. Bir istemciyi buna yönlendirdiğinizde aracınız, yazmadığınız dosya okuma ve yazma yeteneklerine sahip olur. Bunların hizmet hesabı altında ve taşıma seçenekleri açıklanarak düzgün biçimde çalıştırılması yapay zeka kodlama araçları için VPS üzerinde MCP sunucularını çalıştırma bölümünde ele alınır.
Bu aşamanın sonucu şudur: asıl çalışma araç tasarımıdır. Belirsiz bir açıklama, modelin tahminde bulunmasına neden olur. Kırk bin karakter döndüren bir araç, bağlam penceresini kullanılamaz hâle getirir. Öğeleri silebilen bir araç, sonunda öğeleri siler.
Aşama 4: çoğunlukla dosyalardan oluşan bellek
Yeni başlayanlar burada bir vektör veritabanına yönelir. En azından şimdilik bunu yapmayın.
Bir aracının çağrılar arasında belleği yoktur. Her seferinde konuşmanın tamamını yeniden gönderirsiniz. Bu nedenle uzun bir oturumun tur başına maliyeti, kısa bir oturumunkinden daha yüksektir. Bellek bu yüzden iki soruna ayrılır. İlki, şu anda bağlam penceresine neyin sığdığıdır. Bunu özetleyerek, eski araç çıktısını kırparak ve isteminizin sabit önekini önbelleğe alarak yönetirsiniz. Böylece bunun için ücretin yalnızca bir kısmını ödersiniz. İkincisi, yeniden başlatmadan sonra neyin varlığını sürdürdüğüdür. Bu da depolamadır.
İkinci sorun için, aracının okuyup yazabileceği basit bir markdown dosyası, neredeyse her ilk proje için vektör veritabanından daha uygundur. Araca bir dosya verin, biçimi açıklayın, başlamadan önce bu dosyayı okumasını ve yeni bir şey öğrendiğinde güncellemesini söyleyin. Faydanın büyük bölümünü elde edersiniz. Ayrıca dosyayı açıp aracınızın neye inandığını görebilirsiniz. Notlar bağlam penceresine sığmamaya başladığında embedding ve retrieval kullanın. Bunu daha önce yapmayın.
Aşama 5: döngü üründür
Artık siz izlerken çalışan bir aracı oluşturabilirsiniz. Aşama 5, siz izlemediğiniz zaman da çalışmasını sağlamaktır.
Gözetimsiz bir aracın güvenle bırakılıp bırakılamayacağını dört soru belirler. Hiçbir girdisi yokken çalışmaması için onu ne tetikler? Bir hatanın etkisinin sınırlı kalması için hangi sınırlar içinde çalışır? Sonuç nasıl doğrulanır? Çünkü kendi ödevini değerlendiren bir araç her zaman başarılı olur. Belirteç veya gerçek zaman açısından hangi bütçe onu durdurur? Bu dört unsuru bilinçli şekilde tasarlamak, döngü mühendisliği ve bu tanımın kapsamı bölümünde açıklanan disiplindir.
Alıştırma: stage 2 aracınızı alın, ona dört veya beş adım gerektiren bir görev verin ve katı bir yineleme sınırı ekleyin. Ardından sınırı kaldırın ve sınırsız bir döngünün belirteç faturanızı nasıl artırdığını izleyin. Bunu bir kez küçük bir bütçeyle yapın. Böylece büyük bir bütçede yanlışlıkla yapmazsınız.
Aşama 6: güvenlik, gizli bilgiler ve maliyet
Bu aşama isteğe bağlı değildir. Son sırada yer almasının tek nedeni, çalışan bir sistem kurmadan riski tam olarak görememenizdir.
Aracıyı kendi ayrıcalıksız kullanıcısı olarak çalıştırın. Kesinlikle root veya kendi hesabınız olarak çalıştırmayın. Böylece etki alanı bir makine yerine bir dizinle sınırlı kalır. Kimlik bilgilerini modelin erişemeyeceği yerde tutun. Çünkü context window içinde bulunan her şey, bir tool call aracılığıyla dışarı aktarılabilir. Çözüm, AI aracılarınızdan gizli bilgileri uzak tutma bölümünde açıklandığı gibi, bir helper arkasında kısa ömürlü ve kapsamı sınırlı token'lar kullanmaktır. Harcamaya kesin bir üst sınır koyun. İzlenmeyen bir döngüde her yineleme ücretlendirilir. Bu döngüyü güvenli sınırlar içinde tutan limitler ve batching işlemleri always-on VPS üzerinde AI aracısı maliyetlerini denetleme bölümünde açıklanmıştır.
Maliyet için somut bir sayı gereklidir. July 2026 itibarıyla Claude Opus 5, milyon input token başına $5 ve milyon output token başına $25 ücretlendirir. Büyüyen bir konuşmayı yeniden gönderen konuşkan bir aracı, tek bir görev sırasında birkaç yüz bin token işleyebilir. Prompt caching ve rutin adımlar için daha küçük bir model kullanılması, bu hesabı herhangi bir prompt değişikliğinden çok daha fazla etkiler.
Prompt injection da burada ele alınmalıdır. Aracınız bir web sayfası, issue tracker veya inbox okursa, bu metni yazan kişi aynı zamanda aracınıza talimat da yazmış olur. Savunma, daha akıllı bir system prompt değildir. Savunma sınırlandırmadır. Çünkü bir repository'yi silemeyen bir aracı, onu silmeye ikna edemezsiniz.
Hangi haritayı izlemelisiniz?
Altı müfredattan örnekler almak yerine bir müfredat seçin ve tamamlayın. Microsoft ai-agents-for-beginners deposu, Temmuz 2026 itibarıyla 70.000 yıldızı aşmış, 18 dersten oluşan en kapsamlı ücretsiz seçenektir ve yukarıdaki aşamalarla açık biçimde örtüşür. Popüler ajan depolarını derleyen listeler, nelerin mevcut olduğunu görmek için yararlıdır. Ancak bir müfredat olarak çok daha az yararlıdır; çünkü yıldızlara göre sıralanan bir liste, öğretim sırasına göre değil popülerliğe göre sıralanır.
Üzerinde pratik yapmak için gerçek bir proje istediğinizde, ilk hedef olarak bir kodlama ajanı en iyi seçenektir: geri bildirim anında alınır, araçlar açıktır ve hataların geri alınması kolaydır. Bir VPS üzerinde kodlama yapay zekası ajanı çalıştırma bölümünde uçtan uca bir uygulama ele alınır. Sıfırdan geliştirmek yerine çalışan sistemleri incelemeyi tercih ediyorsanız, en iyi self-hosted yapay zeka ajanları bölümündeki karşılaştırma, birkaç projenin aynı döngüyü nasıl farklı biçimlerde çözdüğünü gösterir.
Bu ne kadar sürer?
Programlama bilen biri için 1. ve 2. aşamalar bir akşam sürer. 3. aşama bir hafta sonu sürer. Bu sürenin çoğu protokole değil, araç açıklamalarına ayrılır. 4. ve 5. aşamalar için birkaç hafta gerçek kullanım gerekir. Bunun nedeni, aracınızın neyi unuttuğunu ancak unutmasını izleyerek öğrenebilmenizdir. 6. aşama hiçbir zaman tam olarak bitmez. Çünkü verdiğiniz her yeni yetenek bu süreci yeniden başlatır.
Düzenli olarak iki ay akşamları çalışmak, çoğu kişinin çalışan, sınırları belirlenmiş ve kullanışlı bir araca sahip olması için yeterlidir. Bir yıl sürenler genellikle geliştirmek yerine okumaya devam edenlerdir.
FAQ
Bir AI agent oluşturmak için makine öğrenmesini bilmem gerekir mi?
Hayır. Agent oluşturmak, bir API üzerinden model çağırmak ve modelin araç isteklerini gerçek işlevlere bağlamak anlamına gelir. Bu, standart uygulama programlamadır. Eğitim, gradyanlar veya veri kümeleriyle doğrudan çalışılmaz. Agent'ı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 fine-tune etmeye devam edilirse önem kazanır. Bu, farklı ön koşulları olan farklı bir iştir.
LangChain veya CrewAI gibi bir framework ile mi başlamalıyım?
Önce tek bir ham döngü yazılmalı, ardından bir framework kullanılmalıdır. Bir framework, 2. aşamadaki 30 satırın yerine bir yapılandırma nesnesi koyar. Bu, neyin yerine geçtiği bilindiğinde kullanışlıdır. Öncesinde ise kafa karıştırabilir. Agent beklenmedik davrandığında mesaj listesinin ve araç sonuçlarının doğrudan incelenmesi gerekir. Bunlar daha önce görülmediyse bu inceleme çok daha zordur. Kişisel bir döngü yazıldıktan sonra framework, mekanizmayı gizlemek yerine zaman kazandırır.
AI agent'larını öğrenmenin maliyeti ne kadardır?
Sınırlandırılırsa çoğu kişinin beklediğinden daha düşüktür. Barındırılan bir API key ve küçük bir VPS, bu 6 aşamadaki her şeyi karşılar. Asıl risk saatlik ücret değildir. Siz uyurken her iterasyonda ücretlendirme yapan sınırsız bir döngüdür. API hesabında ilk günden itibaren kesin bir harcama limiti belirlenmelidir. Yazılan her döngüye bir iterasyon sınırı eklenmeli ve rutin adımlar için daha ucuz bir model kullanılmalıdır. Modelin yerel olarak çalıştırılması token ücretini ortadan kaldırır, ancak bunun yerine donanım gereksinimi getirir.
AI agent ile chatbot arasındaki fark nedir?
Bir chatbot bir kez yanıt verir. Bir agent ise bir döngüyü tekrarlar: model bir araç ister, kodunuz bu aracı çalıştırır, sonuç geri gönderilir ve model bundan sonra ne yapılacağına karar verir. Bir agent'ın birkaç adımdan oluşan bir görevi tamamlamasını sağlayan şey bu tekrardır. Chatbot'larda bulunmayan sınırların agent'lar için gerekli olmasının nedeni de budur. Chatbot'un yanlış yanıtı kötü bir paragraftır. Agent'ın yanlış yanıtı ise kötü bir paragraf ve bununla ilgili gerçekleştirdiği işlemdir.