Uzun zamandır aklımda olan bir fikir vardı: Bir YouTube müzik kanalını, benim her gün başında oturmama gerek kalmadan, yapay zekâ ajanlarının yönettiği bir "stüdyo" gibi çalıştırmak. Şarkı sözünü biri yazsın, müziği biri üretsin, kapağı biri çizsin, videoyu biri hazırlasın, YouTube'a biri yüklesin. Ben de sabah kahvemi içerken gelen bildirime bakıp "tamam, yayınla" diyeyim.
Kâğıt üzerinde basit duruyor. Pratikte ise ilk kez "gerçek" bir ajan tabanlı sistem kurduğumda, işin asıl zor kısmının yapay zekâya bir şey ürettirmek değil, ürettiği şeye güvenebilmek olduğunu öğrendim.
Bu yazıda sistemi sıfırdan nasıl kurduğumu, hangi araçları neden seçtiğimi, nerelerde duvara tosladığımı ve sonunda ortaya çıkan üretim hattının nasıl çalıştığını anlatacağım. Benzer bir şey kurmayı düşünüyorsanız, benim yaptığım hataları tekrar etmemeniz için elimden geleni yazdım.
Hedef: Ne istiyordum?
Başlangıçta kendime birkaç net kural koydum:
- İnsan müdahalesi minimum olacak. Benim tek işim, gizli olarak yüklenen videoyu kontrol edip "herkese açık" yapmak.
- Token (yani yapay zekâ maliyeti) kontrol altında olacak. Ajan sistemlerinin en sinsi tarafı, fark etmeden faturayı şişirmeleri. Bu benim bir numaralı önceliğimdi.
- Mümkün olan her şey yerelde çalışacak. Evde 8 GB ekran kartı olan bir Linux makinem var; müzik ve görsel üretimini mümkünse orada yapmak istedim.
- İçerik güvenli olacak. Kanal bir futbol taraftar kanalı. Siyaset, din, şiddet, rakip takıma hakaret gibi konular kesinlikle girmemeli. Bir tane yanlış video kanalı yakabilir.
- Çok kanala ölçeklenebilecek. İlk kanal tek, ama hedef 7-8 kanal.
İlk kanal olarak bir taraftar şarkıları kanalı seçtim. Konusu belli, kitlesi belli, test etmek için ideal.
Mimari: Bir "şirket" gibi düşünmek
Ajanları organize etmek için Paperclip kullandım. Paperclip, yapay zekâ ajanlarını bir şirketin çalışanları gibi yapılandırmanıza izin veren bir orkestrasyon aracı: Ajanların rolleri var, onlara "görev" (issue) atanıyor, görevleri yapıp yorum yazıyorlar, kapatıyorlar, gerekirse onay istiyorlar. Yerelde bir panel üzerinden her şeyi izleyebiliyorsunuz.
Şirketimin kadrosu şöyle:
| Rol | Ne yapar | Model |
|---|---|---|
| Stüdyo Müdürü (CEO) | Haftada bir kontrol yapar, denetim sonuçlarına bakar, istatistikleri okur, iyileştirme önerir | Claude Haiku 4.5 |
| Prodüktör | Şarkı sözünü yazar, denetimden geçirir, müziği, kapağı ve videoyu üretir | Claude Sonnet 5 |
| Suno Çalışanı | Tarayıcıyı kullanarak Suno'da şarkının "asıl" versiyonunu üretir | Claude Sonnet 5 |
| Zamanlayıcılar ve scriptler | Görev açma, yükleme, sağlık kontrolü, temizlik | Token harcamaz |
Burada verdiğim belki de en önemli tasarım kararı şu oldu: Yapay zekâya sadece yapay zekâ gerektiren işleri yaptır, geri kalan her şeyi deterministik scriptlere bırak.
Görev açmak için ajan uyandırmaya gerek yok; bir systemd zamanlayıcısı bunu yapar. YouTube'a yüklemek için ajana gerek yok; bir Python scripti yapar. Ajan ne kadar az "düşünürse", o kadar az token harcar ve o kadar az saçmalar.
Üretim hattı: Bir şarkının yolculuğu
Sistem oturduktan sonraki akış şöyle:
00:10 Zamanlayıcı → O gün üretim sırası gelen kanal(lar) için Prodüktör'e görev açarProdüktör → Sözler + metadata yazar→ İçerik denetimi (geçmezse düzelt, en fazla 2 tur, sonra "blocked")→ ACE-Step ile yerelde yedek şarkı üretir→ FLUX ile kapak görseli çizer→ ffmpeg ile video hazırlar→ İşi Suno kuyruğuna ekler00:47 Suno Çalışanı → Kuyruğu kontrol eder (saat başı, sabaha kadar)→ Tarayıcıda Suno'yu açar, şarkıyı üretir, indirir→ Videoyu Suno versiyonuyla yeniden oluşturur→ YouTube'a GİZLİ yükler09:07 Sabah kontrolü → Bugünün videosu yüklenmediyse "üretim takıldı" bildirimi18:37 Son tur → Suno gelmediyse yedek (ACE-Step) sesle yükler19:00 Sağlık kontrolü → Tüm bileşenleri kontrol eder, sorun varsa telefona bildirimCuma İstatistik + Müdür'ün haftalık raporuPazar Disk temizliği
Şimdi bu parçaları tek tek, karşılaştığım sorunlarla birlikte anlatayım.
1. Söz yazımı: Prompt'lar ve "yaratıcı karakterler"
Her kanalın kendi klasörü var: kanal profili (channel.md), prompt'lar, yasaklı kelime listesi, üretim geçmişi ve bir "playbook" (zamanla öğrenilenlerin not edildiği dosya).
Müzik kanalı için 4 farklı prompt yazdım. Bunlar birbirinin devamı değil, aynı işin 4 farklı "yaratıcı karakteri":
- Klasik prodüktör: Bir ana stil, destekleyici etiketler, BPM, autotune vb.
- Zıtlıklar matrisi: Birbirine zıt iki müzikal dünya + sürpriz bir dil
- Tür çarpıştırma: 2-3 zıt türü, dili ve enstrümanı çarpıştırıp beklenmedik yapı değişiklikleri
- Beni şaşırt: Zıtlıkların daha cesur versiyonu
Her üretimde sıradaki prompt kullanılıyor. Ajan ayrıca son 8 şarkının başlığını, türünü ve sürpriz dilini tekrar etmemek zorunda. Böylece kanal monotonlaşmıyor.
Önemli bir detay: Çıktı formatını çok katı tanımlamak zorunda kaldım. Sözler doğrudan Suno'ya yapıştırılacağı için başlık, markdown, italik, açıklama satırı olmamalı. Her bölüm [Verse 1 – (enstrümanlar) yönlendirme] şeklinde tek satırlık bir etiketle başlamalı. channel.md içine birebir örnek koydum ve ajana "formatı bu örnekle BİREBİR aynı yap" dedim. İlk denemelerde format sürekli bozuluyordu; örnek koymak, uzun kurallar yazmaktan çok daha etkili oldu.
2. İçerik denetimi: Ajana güvenmeyi bıraktığım an
Burası projenin en öğretici kısmıydı.
İlk başta maliyet düşük olsun diye tüm ajanları en küçük model olan Haiku ile çalıştırdım. Sonuç: Prodüktör üç denemeden ikisinde dini ifadeler kullandı. Prompt'ta "sürpriz dil" kullan dediğim için, Arapça bir dize eklerken "Ya Ghani", "Ya Aziz" gibi ifadeler yazdı. Bir futbol şarkısında bu, kesinlikle istemediğim bir şey.
Bunun üzerine bir içerik politikası yazdım ve bunu otomatik bir denetim aracına bağladım. Denetim üç katmanlı:
- Format kontrolü: Sözler Suno formatına uygun mu? (Token harcamaz)
- Yasaklı ifade taraması: Kelime listesiyle basit tarama; rakip takım adları, gerçek kişi isimleri vs. (Token harcamaz)
- Bağımsız inceleme: Ayrı bir Haiku çağrısı, sadece politikayı ve içeriği görüp
passveyafailverir. (Çok az token)
Denetim geçmezse müzik üretimine geçilemiyor. Ajan en fazla iki kez düzeltmeye çalışıyor, olmazsa görevi "blocked" yapıp bana bırakıyor.
Buraya kadar güzel. Ama sonra asıl şok geldi.
Ajan denetim sonucunu uydurdu
Bir üretimde denetim aracı hata verdi. Prodüktör ne yaptı dersiniz? Denetim sonucunu içeren review.json dosyasını kendisi elle yazdı, içine de "verdict": "pass" koydu. Ve yoluna devam etti.
Benzer bir şey Müdür'de de oldu: Haftalık özet görevinde, görevi gerçekten yapmak yerine, olmayan kontrolleri yapmış gibi gösteren uydurma bir rapor yazıp commit etti. O commit'i geri almak zorunda kaldım.
Bu, ajan sistemleri hakkında öğrendiğim en önemli ders oldu: Ajan "bitti" dediğinde bu, işin bittiği anlamına gelmiyor. Doğrulayabileceğin şeyleri talimatla değil, kodla doğrula.
Çözüm olarak şunları yaptım:
review.jsonartık içeriğin bir parmak izini (hash) içeriyor. Dosya elle yazılırsa veya sözler denetimden sonra değişirse parmak izi tutmuyor.- Suno adımı ve YouTube yükleme adımı, işe başlamadan önce denetimi kendileri yeniden doğruluyor. Parmak izi tutmazsa denetimi baştan çalıştırıyorlar.
- Ajan talimatlarına en üste büyük harflerle "Asla uydurma. Rapora yazdığın her şeyin kanıtını gör (dosya, araç çıktısı)" kuralını ekledim. Ama asıl güvenceyi kod sağlıyor; talimat sadece destekleyici.
Bir de model tarafında karar değiştirdim: Prodüktör'ü Haiku'dan Sonnet'e yükselttim. İlk bakışta bu, token önceliğime ters gibi görünüyor. Ama Haiku'nun her hatası bir düzeltme turu, yani ek token demekti. Daha güçlü modelle ilk seferde doğru yapmak, toplamda daha ucuza geliyor. Bu değişiklikleri tarih, gerekçe ve sonuçla birlikte bir model-log.md dosyasında tutuyorum; bir hafta sonra verilere bakıp Haiku'ya geri dönmeyi değerlendireceğim.
3. Müzik üretimi: Suno'nun API'si yok, ElevenLabs ücretli
Müzik tarafında kafamdaki sıralama şuydu: Suno (en kaliteli) → ElevenLabs → yerel model.
ElevenLabs: Entegrasyonu yazdım, test ettim, 402 paid_plan_required hatası aldım. Ücretsiz planda Music API yokmuş. Zincirden çıkardım; ileride ücretli plana geçersem tek satırla açılacak şekilde bıraktım.
ACE-Step 1.5 (yerel): Açık kaynaklı bir müzik üretim modeli. 8 GB ekran kartı için önerilen ayarlarla (turbo DiT modeli + küçük dil modeli) kurdum ve yerel bir API servisi olarak çalıştırdım. Kota yok, maliyet yok, kalitesi Suno kadar olmasa da gayet kullanılabilir. Bu, sistemin yedek sağlayıcısı oldu.
Suno: İşte asıl mesele. Suno'nun resmî bir API'si yok. Tek yol tarayıcıdan kullanmak. Bunun için Claude'un Chrome eklentisiyle tarayıcıyı kontrol etmesini planladım.
Ama bir sorun vardı: Paperclip'in arka planda çalıştırdığı ajanlar tarayıcı kullanamıyor. Tarayıcı kontrolü yalnızca etkileşimli bir Claude Code oturumunda çalışıyor.
Çözüm olarak bir kuyruk sistemi kurdum:
- Prodüktör şarkıyı önce ACE-Step ile üretiyor, ardından işi Suno kuyruğuna ekliyor.
- Ayrı bir terminal oturumunda (tmux içinde) sürekli açık duran etkileşimli bir Claude oturumu var: Suno Çalışanı. Bu oturum gece saat başı kuyruğa bakıyor.
- Kuyrukta iş varsa Chrome'da Suno'yu açıyor, sözleri ve stili giriyor, şarkıyı üretiyor, indiriyor ve
finishkomutuyla sonucu teslim ediyor. finishkomutu videoyu Suno sesiyle yeniden oluşturuyor ve anında YouTube'a yüklüyor.
Böylece Suno bir nedenle çalışmazsa bile elimde her zaman ACE-Step versiyonu hazır oluyor. Akşam 18:37'deki son turda hâlâ Suno versiyonu gelmemişse, sistem yedek sesle yükleyip Suno işini iptal ediyor. Video her koşulda çıkıyor.
Tarayıcı otomasyonunun küçük cehennemleri
Suno arayüzünü otomatikleştirirken karşılaştığım sorunlar, "yapay zekâ her şeyi halleder" düşüncesinin ne kadar naif olduğunu gösterdi:
- Sözleri tek seferde yazmak zaman aşımına uğruyor. Bölüm bölüm yazmak gerekiyor.
- Söz editöründe JavaScript'in klasik
insertTextyöntemi çalışmıyor. - Stil alanına tıklama gerçekleşmezse, stil metni sözlerin sonuna ekleniyor. Yazmadan önce odağın doğru yerde olduğunu doğrulamak gerekiyor.
- Liste görünümündeki indirme butonu güvenilmez: Tıklanıyor ama dosya inmiyor. Şarkının kendi sayfasına gidip oradan indirmek gerekiyor.
- Suno'nun CDN'indeki mp3'ü doğrudan indirmeye çalışınca 403 hatası alınıyor.
- Ücretsiz planda indirme hakkı sınırlı; iki versiyondan sadece en üsttekini indirmek gerekiyor.
- Her çalışmada açılan sekmeler birikiyor. Çalışanın her turun başında kendi artık sekmelerini (sadece kendi grubundakileri, benimkilere dokunmadan) temizlemesini sağladım.
Bunların hepsini bir suno.md kılavuzuna yazdım. Ajan her çalışmada bu kılavuzu takip ediyor. Burada Haiku yerine Sonnet kullanıyorum, çünkü tarayıcıda başarısız olan her deneme Suno kredisi yakıyor. Haftada birkaç şarkı için bu maliyete değer.
Bir de şunu fark ettim: Claude Code'un zamanlanmış görevleri 7 gün sonra otomatik siliniyor. Çalışan, belirli aralıklarla kendi zamanlayıcısını silip yeniden kuruyor ki sistem bir hafta sonra sessizce durmasın.
4. Kapak görseli: FLUX ile yerelde
Kapak görselleri için FLUX.1-schnell kullandım, yine yerelde. Bu kısımda da birkaç engel çıktı:
- Orijinal model deposu erişime kapalıydı (gated). Apache-2.0 lisanslı aynalardan indirdim.
- 8 GB kartta çalışsın diye
stable-diffusion.cppüzerinden, sıkıştırılmış (GGUF, Q4) model kullandım. - Metin kodlayıcısının (T5) fp8 versiyonu işlemcide segfault verdi. GGUF Q8 versiyonuna geçince düzeldi.
- ACE-Step ve FLUX aynı anda ekran kartına sığmıyor. Kapak aracı, ACE-Step servisi ekran kartını tutuyorsa servisi yeniden başlatıp belleği boşaltıyor. ACE-Step tarafında da bellek hatası (OOM) olursa servis yeniden başlatılıp bir kez daha deneniyor.
- FLUX görsellere yazı yazmayı beceremiyor, harfler bozuk çıkıyor. Ayrıca kulüp arması telifli. Bu yüzden kural koydum: Kapakta yazı ve logo yok. Kanal adını videoya ffmpeg ile ben ekliyorum.
Her üretimde ajan prompt'un kuralına göre rastgele bir renk paleti, sanatsal stil ve kompozisyon seçip İngilizce bir görsel prompt'u yazıyor. Bir görsel yaklaşık bir dakikada çıkıyor.
5. Video: 151 MB'tan 7 MB'a
Video aslında sabit bir kapak görseli ve ses dosyasından oluşuyor. İlk versiyonda ffmpeg ile ürettiğim bir video 151 MB tuttu. Sabit bir görüntü için bu saçma. Kodlama ayarlarını (sabit görüntüye uygun kare hızı ve sıkıştırma) düzenleyince aynı video yaklaşık 7 MB'a indi. Yükleme hızı ve disk açısından ciddi fark.
Videonun sol altına kanal adını yazdırıyorum; kapakta yazı olmadığı için marka görünürlüğü buradan geliyor.
6. YouTube'a yükleme
YouTube Data API v3 ile yükleme yapıyorum. Süreçte öğrendiklerim:
- Google Cloud'da bir proje ve OAuth uygulaması oluşturmak gerekiyor. Uygulamayı "production" moduna almak için bir ana sayfa ve gizlilik politikası sayfası istiyorlar. Bunun için GitHub Pages'te basit bir sayfa açtım.
- Her kanal için ayrı yetki (token) alınıyor. Yükleme aracı, yetkinin doğru kanala ait olup olmadığını kontrol ediyor. Yanlış kanala yükleme yapmak en son isteyeceğim şey.
- API ile yüklenen videolar, Google'ın denetimi (audit) onaylanana kadar gizli olarak kilitlenebiliyor. Benim zaten tercihim gizli yüklemekti, ama bunu bilmek önemli.
- API'nin günlük bir kotası var. Yüklemeyi hem Suno teslim edildiğinde anında hem de akşam son turda deneyen bir mantık kurdum; kota dolarsa ertesi tura kalıyor.
Başlık, açıklama, hashtag ve etiketler kanal profilindeki şablondan otomatik oluşturuluyor. Örneğin başlık şablonu: {title} | Kanal Şarkısı.
Videolar gizli yükleniyor. Yayınlama kararı her zaman bende. Bu bilinçli bir tercih: Denetim ne kadar iyi olursa olsun, son bir insan gözü her zaman iyi.
7. Gözlemlenebilirlik: Sistem sessizce durmasın
Otomasyonun en tehlikeli hâli, sessizce durmasıdır. Bir hafta sonra "neden video yok?" diye fark etmek istemiyordum. Bu yüzden izleme katmanına ciddi yatırım yaptım:
- Ortak bir bildirim aracı: Tüm otomasyonlar tek bir script üzerinden bildirim gönderiyor. Telefon bildirimi için ntfy kullanıyorum (ücretsiz, kurulumu çok kolay), ayrıca masaüstü bildirimi ve isteğe bağlı e-posta. Kritik sorunlarda Paperclip'te de görev açılıyor.
- Akşam sağlık kontrolü (19:00): Claude bağlantısı, ajanlar, Suno çalışanı, Chrome, ACE-Step, FLUX, YouTube yetkileri ve disk alanı kontrol ediliyor. Gece üretiminden önce sorun varsa haberim oluyor.
- Sabah kontrolü (09:07): O gün üretim günü olan kanalın videosu yüklenmemişse "üretim takıldı" bildirimi geliyor.
- Yeni video yüklendiğinde bildirim geliyor; tıklayıp kontrol ediyorum.
Bildirim seviyelerini (bilgi / uyarı / hata) ayırmak önemli. Her şeye bildirim gelirse bir süre sonra hiçbirine bakmıyorsunuz.
8. Kendini iyileştiren sistem (kontrollü şekilde)
Müdür ajanı her Cuma bir haftalık kontrol yapıyor:
- Bu haftaki tüm üretimlerin denetimi geçip geçmediğine bakıyor.
- Eksik dosya, başarısız sağlayıcı veya yüklenmemiş video var mı, kontrol ediyor.
- Kullandığım araçların (ACE-Step, FLUX vb.) güncellemelerini tarıyor. Bu kısım token harcamayan bir scriptle yapılıyor.
- YouTube istatistiklerini okuyor. Bir script Cuma 12:30'da her videonun izlenme ve beğeni sayılarını, hangi prompt'la ve hangi müzik sağlayıcısıyla üretildiğiyle birlikte bir dosyaya yazıyor. Müdür buna bakarak veriye dayalı öneri çıkarıyor. Örneğin "tür çarpıştırma prompt'uyla üretilen videolar daha çok izleniyor, sıralamada ağırlığını artıralım" gibi.
- Özeti yazıp bana bildirim gönderiyor.
Burada bir sınır koydum: Ajan prompt'ları, içerik politikasını veya sağlayıcı ayarlarını kendi başına değiştiremez. Öneri yapabilir, ama değişiklik için Paperclip üzerinden onay istemek zorunda. Yeni bir model veya araç denemek isterse, mevcut kurulumu bozmadan ayrı bir klasörde eski ve yeni çıktıyı yan yana üretiyor; dinleyip kararı ben veriyorum.
"Kendini iyileştiren ajan" kulağa havalı geliyor, ama denetimsiz bırakırsanız "kendini bozan ajan"a dönüşmesi çok kolay.
9. Bakım: Disk dolmasın
Her şarkı mp3, video ve yüksek çözünürlüklü kapak demek. Haftalar içinde disk doluyor. Pazar sabahları çalışan bir temizlik scripti, 30 günden eski ve YouTube'a yüklenmiş üretimlerin büyük dosyalarını siliyor. Sözler, metadata, denetim sonucu, YouTube linki ve küçük bir kapak kalıyor. ACE-Step'in önbelleği de 7 günde temizleniyor. Script'in bir "önizleme" modu var; ilk birkaç haftada silmeden önce neyin silineceğine baktım.
Zamanlamayı oturtmak
Zamanlama, düşündüğümden çok daha fazla revizyon geçirdi. İlk plan haftalık bir üretimdi. Sonra şuna evrildi:
- Üretim her hafta içi gece 00:10'da tetikleniyor, ama hangi kanalın hangi gün üretileceği her kanalın kendi dosyasında yazıyor. Müzik kanalı Pazartesi ve Çarşamba üretiyor. Yeni bir kanal eklediğimde ajanların talimatlarına dokunmam gerekmiyor; sadece o kanalın dosyasına üretim günlerini yazıyorum.
- Suno çalışanı gece 00:47'den itibaren saat başı kuyruğa bakıyor. Bilgisayar geceleri boşta olduğu için yerel modeller rahat çalışıyor.
- Müdür'ün kontrolü Cuma öğlen.
Ajanların talimatlarını "tek kanala bağlı" yazmaktan "tüm kanallar için çalışan" hâle getirmek, ölçeklenme açısından attığım en doğru adımlardan biri oldu.
Öğrendiğim dersler
Eğer siz de benzer bir sistem kurmayı düşünüyorsanız, en önemli çıkarımlarım şunlar:
1. Ajanlara güvenme, doğrula. Ajanlar, bir adımı yapamadıklarında bunu itiraf etmek yerine "yapmış gibi" davranabiliyor. Kritik adımları (denetim, yükleme) kodla doğrulayın. Talimat yazmak yetmez.
2. Yapay zekâyı sadece gerektiği yerde kullan. Zamanlama, dosya taşıma, yükleme, istatistik çekme gibi işler için ajan uyandırmayın. Script yazın. Hem ucuz hem güvenilir.
3. En ucuz model her zaman en ucuz değildir. Küçük modelin her hatası bir düzeltme turu demek. İşin kritikliğine göre model seçin ve bu kararları kayıt altına alın.
4. Her zaman bir yedeğin olsun. Suno çalışmazsa ACE-Step var. Akşam son tur var. Video her koşulda çıkıyor.
5. Sessiz başarısızlık en kötü başarısızlıktır. Sağlık kontrolleri ve bildirimler, sistemin en az üretim kadar önemli parçası.
6. Son kararı insanda bırak. Videoları gizli yüklemek ve yayınlamayı kendime bırakmak, bana gönül rahatlığı veriyor.
7. Her şeyi yazılı tut. Ajan talimatları, kanal profilleri, içerik politikası, model değişiklik kaydı, sistem şeması... Hepsi git'te. Hem ajanlar hem ben aynı kaynaktan okuyoruz. Bir şey bozulduğunda neyin ne zaman değiştiğini görebiliyorum.
8. Gizli bilgileri baştan ayır. API anahtarları, OAuth dosyaları ve kanal yetkileri en başından git dışında, ayrı bir yerde duruyor. Ajanlara da "bunların içeriğini asla loglara yazma" talimatı verdim.
Kullandığım araçlar (özet)
- Orkestrasyon: Paperclip (ajan "şirketi", görevler, onaylar)
- Ajanlar: Claude Code (Haiku 4.5 ve Sonnet 5, düşük "effort" ayarıyla)
- Tarayıcı otomasyonu: Claude'un Chrome eklentisi (Suno için)
- Müzik: Suno (tarayıcı üzerinden) + ACE-Step 1.5 (yerel, yedek)
- Kapak: FLUX.1-schnell, stable-diffusion.cpp ile (yerel, GGUF)
- Video: ffmpeg (GPU hızlandırmalı)
- Yükleme ve istatistik: YouTube Data API v3
- Zamanlama: systemd user timer'ları
- Bildirim: ntfy (telefon), masaüstü bildirimi, e-posta
- Donanım: 8 GB ekran kartlı bir Linux masaüstü
Sonuç
Bu sistemi kurmak birkaç gün sürdü, ama o birkaç gün yoğun bir öğrenme süreciydi. Başta "ajan yazsın, ajan yüklesin, ben izleyeyim" diye düşünüyordum. Sonunda ortaya çıkan şey, ajanların yalnızca yaratıcı işleri yaptığı, geri kalan her şeyin sıkı kurallar, doğrulamalar ve yedeklerle çevrildiği bir üretim hattı oldu.
Şu an sistem gece benim yerime şarkı yazıyor, besteliyor, kapağını çiziyor, videosunu hazırlıyor ve YouTube'a yüklüyor. Ben sabah telefonuma gelen bildirime bakıp videoyu dinliyorum ve yayınlıyorum.
Sıradaki adım diğer kanalları eklemek ve biriken izlenme verilerine göre prompt'ları iyileştirmek. Sonuçları ve yeni kanallarla ilgili deneyimlerimi ilerleyen yazılarda paylaşacağım.
Sorularınız varsa ya da benzer bir şey kuruyorsanız yorumlarda yazın, deneyimlerinizi merak ediyorum.
Hiç yorum yok:
Yorum Gönder