Yapay zeka ajan sistemi nasıl kurulur: Claude ile döngüde çalışan 3 ajan
Her seferinde prompt yazmadan, sen bilgisayar başında değilken de çalışan bir ajan ekibini sıfırdan nasıl kurduğumuzu anlatıyoruz.
Yapay zeka ajan sistemi kurmak için her ajana dört şey verirsin: hafıza (masa), iş tanımı (skill ve kimlik dosyaları), anahtarlar (API ve MCP bağlantıları) ve nöbet (döngü). Biz Claude ile bir klasör açıp claude.md, anayasa, takım ve skill dosyalarını yazdırıyoruz. Sonra Telegram botu ve Apify gibi bağlantıları .env dosyasına ekliyoruz. En sonda ajanları belirli saatlerde ya da gelen mesajla kendiliğinden çalışan bir döngüye koyuyoruz. Kullandığın model değil, kurduğun mimari belirleyici.
Bu rehberin videosu: Şirketimde 13 Ajan Var, Maaş Ödemiyorum: Sıfırdan Kurulum (00:28:38).
Ajana ne verirsin: masa, iş tanımı, anahtar, nöbet
Çok zeki ama her sabah hafızası silinen birini işe aldığını düşün. Ona ilk olarak dört şey verirsin. Ajan da tam böyle çalışır.
Araç fark etmez. Claude, Codex, OpenAI ya da başka bir seçenek olabilir. Model değişince performans biraz değişir. Ama sistem kötüyse hangi modeli takarsan tak sonuç iyi olmaz.
- Masa: ajanın hafızası. Notebook, Notion, GitHub ya da basit bir markdown dosyası olabilir.
- İş tanımı: ajanın kim olduğunu ve ne yapacağını anlatan skill ve proje dosyaları.
- Anahtarlar: MCP bağlantıları ve API anahtarları. Ne kadar erişim verirsen ajan o kadar ileri gider.
- Nöbet: sen yokken de çalışabilmesi için ajanı bir döngüye koymak.
Dosya mimarisi: anayasa, kimlik, takımlar ve skill'ler
Her ajan çalışmaya başlamadan önce anayasayı okur. Sonra kendi takımının kural setini okur. Ajan kurallar dosyasına kendi başına dokunamaz.
Ajan kimliği dosyası herkesin birbirini tanıması içindir. Kim kimdir, sistem nasıl çalışır, takılınca ne yapılır ve asla yapılmaması gerekenler burada yazar. Örneğin: sosyal hesabıma asla paylaşım yapma, önce ben denetleyeceğim.
Ajan dosyasının belirli bir formatı var: ad, açıklama, model, araçlar, gereken anahtarlar ve çalışma saatleri. Skill'leri GitHub'daki güncel repolardan bulabilir ya da Claude Code ile kendin yazabilirsin.
- claude.md: projenin ne olduğunu ve klasör yapısını anlatır.
- constitution.md: her oturumda okunan temel kurallar.
- Takım klasörleri: output, runs, notebook, rules ve calendar.
- skills: ajanların kullanacağı yetenek dosyaları.
- .env: API anahtarlarının durduğu dosya. GitHub'a konmaz.
Ajan nasıl hatırlar ve kendini nasıl geliştirir
Ajanların kendi hafızası yoktur. Bu yüzden önemli bulguları kaydettiğimiz bir günlük (journal), wiki tarafında bir grafik ve iyi kurulmuş bir mimari kullanıyoruz. Böylece ajan ertesi gün kim olduğunu ve neyle uğraştığını bilir.
Her çalışmadan sonra ajan notebook'a bir ders çıkarır. Notebook dolunca her seferinde okunmaz. Haftalık denetimde konular analiz edilir, en önemli bilgi kurala dönüştürülür, notebook silinir ve yeni hafta için yenisi açılır.
Takımlar birbirine mesaj atmaz. Her ajan kendi durum dosyasını ya da günlüğünü doldurur. Başka bir ajandan bir şeye ihtiyacı olan ajan o dosyayı okur. Yani dosya üzerinden konuşurlar.
- Herkes kendi görevini bilir, kimse 50 dosya okumaz.
- İşi yoksa ajan çalışmaz.
- Token sorununu önlemek için modeller göreve göre atanır.
Dış döngü ve iç döngü farkı
Dış döngü ajanın vardiyasıdır. Belirli saatler geldiğinde ajan, sen bir şey yapsan da yapmasan da kendiliğinden çalışmaya başlar. Bizim sistemde mesaj saatleri sabah 9 ile gece 23 arası, yani bilgisayarın açık olduğu saatler.
İç döngü tek bir çalışma içindeki iştir. Ajan verdiğin araçlardan birini çağırır, sonucu okur, yeniden düşünür, yazar ve sana bir çıktı getirir.
Bir dağıtıcı (dispatcher) Telegram'dan gelen mesaja, senin isteğine ya da ajanın kendi saatine göre doğru ajanı çalıştırır. 13 terminal açıp 13 ajanla tek tek konuşman gerekmez.
- Zamanlı çalışma: örneğin her sabah 9'da ve akşam 22'de denetim.
- Mesajla tetiklenme: Telegram'a link atınca ajan işe başlar.
- Elle tetiklenme: örneğin video düzenleme gerektiğinde sen başlatırsın.
Neden üç ajanla başlıyoruz
Bizim çalışan sistemimizde 13 ajan var. Ama sıfırdan kurarken üç ajanla başlıyoruz: Telegram'dan gelen içeriği işleyen X içerik ajanı, Apify ile YouTube verisini çeken analiz ajanı ve Twitter için içerik üreten ajan.
Bu üçü üç farklı anahtar kullanır ve birbirini besler. Telegram'a gelen bir link botu tetikler. Apify'dan gelen bilgiyle birleşir ve sonunda içerik üretilir.
Twitter yerine başka bir kaynak, YouTube analizi yerine başka bir alan seçebilirsin. Öğrenciysen ders notların, mühendissen GitHub'ın olabilir.
Adım adım
- Terminalde temiz bir klasör aç ve ilk iş olarak claude.md dosyasını yazdır. İçinde takımları, klasör yapısını, okuma ve yazma yasaklarını belirt.
- Git'i başlat ve bir .env örnek dosyası oluşturt. API anahtarlarını buraya koyacaksın, bu dosyayı GitHub'a yükleme.
- Skill dosyalarını ve ajan kimliği dosyasını oluşturt: ajanlar kim, şirket ne, takılınca ne yapılır, asla ne yapılmaz.
- Her oturumda okunacak anayasayı (constitution.md) yazdır, ardından takım klasörlerini output, runs, notebook, rules ve calendar ile tamamlat.
- Telegram'da yeni bir bot oluştur, verilen API bilgisini ve kullanıcı ID'ni Claude'a ver, .env dosyasına yerleştirsin. YouTube analizi için Apify anahtarını da ekle.
- Döngüyü kur: Telegram'dan mesaj gelince içerik üretimi, sabah ve akşam zamanlayıcıları. Takvimi ajanın okuduğu dosyaya da yazdır ki ajan nasıl tetiklendiğini bilsin.
- Arka planda dinleyiciyi aç, Telegram'dan bir link gönder ve log bölümünden linkin alınıp işlendiğini kontrol et.
Kontrol listesi
- Her ajanın dosyasında ad, açıklama, model, araçlar, gereken anahtarlar ve çalışma saatleri yazıyor mu?
- .env dosyası doldu mu ve GitHub'a gitmeyecek şekilde ayrıldı mı?
- Ajanlar çalışmadan önce anayasayı ve kendi takım kurallarını okuyor mu?
- Takvim ve tetikleyici bilgisi ajanın okuduğu dosyada da var mı?
- Telegram mesajlarını dinleyen bir süreç arka planda açık mı?
- Notebook'u haftalık denetimde kurala çevirip temizleyen bir düzen kurdun mu?
Sıkça Sorulan Sorular
Bu sistem için hangi yapay zeka modelini kullanmalıyım?
Araç fark etmez. Claude, Codex, OpenAI ya da başka bir seçenek olabilir. .env dosyasına istediğin modelin anahtarını koyup ajan dosyasında modeli seçebilirsin. Asıl belirleyici olan kurduğun mimari.
Bilgisayarı kapatınca ajanlar çalışmaya devam eder mi?
Bu kurulum yalnız yerelde çalışıyor. Bilgisayar kapanınca ajanlar da uyur. Telegram mesajlarına yanıt alman için arka planda bir dinleyicinin açık olması gerekir. Sürekli açık bir sistem için VPS kullanılabilir.
Ajanlar birbiriyle nasıl haberleşiyor?
Aralarında bir mesajlaşma sistemi yok. Her ajan kendi durum dosyasını ya da günlüğünü doldurur. Başka ajandan bir şeye ihtiyacı olan ajan o dosyayı okur.
Ajan kendini nasıl geliştiriyor?
Her çalışmadan sonra notebook'a bir ders yazar. Haftalık denetimde bu dersler analiz edilir, önemli olanlar kurala dönüşür ve notebook temizlenir.
Neden doğrudan 13 ajanla başlamıyoruz?
Sistemi önce iyi anlamak gerekiyor. Üç ajan, üç farklı bağlantıyla birbirini besleyen küçük bir zincir kurmak için yeterli. Ajan sistemleri zaten bir yerden başlayıp büyür.
5 maddede özet
- Temel fikir: Her seferinde prompt yazmak yerine, ajanların kendi işini bildiği ve arka planda çalıştığı bir sistem kuruyoruz.
- Dört parça: Masa (hafıza), iş tanımı (skill ve kimlik), anahtarlar (API ve MCP) ve nöbet (döngü).
- Mimari: claude.md, anayasa, ajan kimliği, takım klasörleri, skill'ler ve .env dosyası sistemin iskeletini oluşturur.
- Döngüler: Dış döngü ajanın vardiyası, iç döngü tek bir çalışmada yaptığı iştir; zamanlayıcı, mesaj ya da elle tetiklenebilir.
- Başlangıç: Telegram, YouTube analizi ve Twitter içeriği için üç ajanla başlayıp sistemi zamanla büyütüyoruz.