Back to Writing

RICK, MORTY, SUMMER: Cron Job'larla Yaşayan Küçük Bir Ajan Ağı

Üç makineye yayılmış ajanlarımı, zamanlanmış işlerimi ve otomasyon disiplinimi daha anlaşılır hale getirmek için yazdığım bir sistem notu.

Mustafa Sarac5 min readtr

Bir noktadan sonra otomasyon kurmak yetmiyor.

Scriptler, cron job'lar, agent promptları, sabah raporları, günlük özetler... Başta her biri küçük bir kolaylık gibi görünüyor. Sonra sayıları artıyor. Bir yerde artık tek tek araçların yok; evin içinde senden bağımsız nefes alan küçük bir işletim sistemi var.

Bu nokta biraz tehlikeli. Çünkü çalışan sistemler insana huzur verir, ama aynı zamanda körlük de üretir. Bir şey her sabah rapor gönderiyorsa, onun gerçekten işe yaradığını sanmaya başlıyorsun. Bir ajan sessizce bir işi bitiriyorsa, doğru işi bitirdiğini varsayıyorsun. Bir otomasyon hata vermiyorsa, sağlıklı olduğunu düşünüyorsun.

Oysa çoğu zaman tehlike hata vermesinde değil. Daha sessiz bir yerde başlıyor: sistem hâlâ benim niyetime mi hizmet ediyor, yoksa ben artık onun ürettiği ritme mi uyum sağlıyorum?

Bu yazı biraz bunun cevabı. RICK, MORTY ve SUMMER diye ayırdığım üç ajanlı küçük makine ağım nasıl çalışıyor, hangi işi hangi ajan üstleniyor, cron job'lar bu yapıda ne işe yarıyor, onu daha paylaşılabilir bir dille anlatmak istedim.

Detaylı hata günlüklerinden çok çalışma biçimine odaklanacağım. Benim derdim şu: kendi hayatımda ve işlerimde tekrar eden şeyleri nasıl daha görünür, daha ölçülü ve daha güvenli hale getirebilirim?

English version: RICK, MORTY, SUMMER: A small agent mesh that lives on cron jobs.

Üç ajan, üç rol

·                     ·                     ·                   
                 RICK       MORTY       SUMMER                  
                                                                
                                                                
                                                                
    ┌──────────────┐    ┌──────────────┐    ┌──────────────┐    
    │ RICK         │    │ MORTY        │    │ SUMMER       │    
    │              │◆ · ·              │· · ·              │    
    │  plan        │    │  icra        │    │  rapor       │    
    └──────────────┘    └──────────────┘    └──────────────┘    
                                                                
                                                                
                                    ·                     ·     
                                                                
                aynı sistem, ayrılmış sorumluluk                
                                                                
                                                                
                                                                

Benim kurduğum yapıda ajanlar aynı şeyin üç kopyası değil. Her birine farklı bir ağırlık verdim.

RICK, strateji ve koordinasyon tarafı. Planlama, yazı, karar, önceliklendirme, RUNE akışı, yani masanın başındaki iş. RICK'in görevi her şeyi kendisi yapmak değil; neyin yapılacağını, neyin yapılmayacağını ve hangi bilginin yeterli olduğunu anlamak.

MORTY, icra tarafı. Botlar, otomasyonlar, tekrar eden işler, pratik uygulama. Bir şeyi tamamlamak gerekiyorsa MORTY'nin alanına giriyor.

SUMMER, gözlem ve raporlama tarafı. Gün içindeki değişimleri izliyor, özetliyor, sistemin nabzını tutuyor. Her zaman hareket etmek zorunda değil. Bazen iyi bir gözlem, acele bir müdahaleden daha değerli.

Bu ayrım küçük görünüyor ama önemli. Ajanları isimlendirmek sevimli bir süs değil; sorumluluk sınırı çiziyor. RICK düşünmeli. MORTY bitirmeli. SUMMER izlemeli. Üçü aynı anda her şeyi yapmaya kalkarsa sistem güçlenmiyor, bulanıklaşıyor.

Cron job dediğim şey aslında ritim

·                     ·                     ·                   
                          CRON RHYTHM                           
                                                                
                           ·    ·    ·                          
                       ·                 ·                      
   08:00 brief     ·                         · 13:00 delta      
        ·       ·                               · ·             
               ·                                 ·              
                                                                
              ·                 ◆ · · · · ◆ · · · ·             
                                                                
               ·                                 ·              
                ·                   ·           ·         ·     
   weekly review   ·                         · 17:00 check      
                       ·                 ·                      
                           ·    ·    ·                          
                                                                
                                                                

Cron job, basitçe zamanlanmış iş demek. Bir komutun, raporun veya ajan görevinin belli saatlerde otomatik çalışması.

Ama ben bunu sadece teknik bir mekanizma olarak görmüyorum. Cron job'lar sistemin ritmi. Sabah hangi rapor geliyor? Gün ortasında ne kontrol ediliyor? Haftada bir hangi proje tekrar masaya koyuluyor? Bunlar tek tek küçük işler ama birlikte bir işletim düzeni kuruyorlar.

Benim yapımda bazı işler sabah brief'i üretiyor. Bazıları gün ortasında değişenleri özetliyor. Bazıları haftalık proje kontrolü yapıyor. Bazıları da ajanların verdiği kararları tekrar gözden geçirmemi sağlıyor.

Burada amaç her şeyi otomatikleştirmek değil. Tam tersi: otomasyonun ne yaptığını görünür tutmak.

Çünkü otomasyon sessizleştiğinde büyülü değil, tehlikeli hale geliyor. Bir iş çalışıyor mu? Gereksiz gürültü mü üretiyor? Benden onay beklemesi gereken bir şeyi kendi kendine mi yapıyor? Bunları ancak sistem kendini düzenli olarak raporlarsa anlayabiliyorum.

Küçük bir ajan ağı nasıl kurulabilir?

·                     ·                     ·                   
                     SMALL AGENT MESH SETUP                     
                                                                
                                                                
                                                                
                                                                
   ┌────────┐              ┌────────┐             ·┌────────┐   
   │ 1      │  ┌────────┐  │ 3      │  ┌────────┐  │ 5      │   
   │ana ajan│◆ │ 2      │  │zamanla │· │ 4      │  │onay kap│   
   └────────┘  │görevler│· └────────┘  │tek çıkt│· └────────┘   
               └────────┘              └────────┘               
                                                                
                                    ·                     ·     
                                                                
                                                                
                   tek bilgisayar bile yeter                    
                                                                
                                                                

Benim kurduğum yapı üç makineye yayılmış durumda ama fikir daha küçük ölçekte de çalışır. Tek bilgisayarda bile benzer bir düzen kurulabilir.

Temel parçalar şöyle:

  1. Bir ana ajan seç: planlama ve karar merkezi olsun.
  2. Tekrar eden işleri ayrı görevlere böl: sabah özeti, proje kontrolü, araştırma taraması, bakım notu gibi.
  3. Bu işleri cron veya benzeri bir scheduler ile zamanla.
  4. Çıktıları tek bir yere gönder: terminal, dosya, Telegram, e-posta veya dashboard.
  5. Müdahale gerektiren işleri otomatik yaptırma; önce raporlat.

Bence kritik nokta beşinci madde. Ajanların gücü sadece yazabilmeleri, kod üretebilmeleri veya komut çalıştırabilmeleri değil. Nerede duracaklarını bilmeleri.

Benim sistemimde tekrar tekrar koymaya çalıştığım kural şu: önce oku, sonra raporla, sonra gerekirse sor.

Servisleri yeniden başlatmak, branch merge etmek, dışarı mesaj göndermek, ödeme veya credential alanına dokunmak başka bir sınıf. Bunlar otomasyonun normal nefesi değil; açık onay isteyen müdahaleler.

Raporlar neden önemli?

·                     ·                     ·                   
               REPORTS / SINGLE VISIBILITY POINT                
                                                                
                                                                
     ┌────────────┐      ┌────────────┐      ┌────────────┐     
     │ RICK       │      │ MORTY      │      │ SUMMER     │     
     │  ·         │      │            │      │    ·       │     
     └────────────┘      └────────────┘      └────────────┘     
            ◆ ·                 ·                 · ◆           
                · ·                           · ·               
                    · ◆ ·       ·       · ◆ ·                   
                          · ·       · ·                         
                    ┌──────────────────────┐              ·     
                    │ inbox / dashboard    │                    
                    │   sistem kendini anlatır                  
                    └──────────────────────┘                    
                                                                
                                                                

Bir insanın zihninde her şeyi tutması zor. Hele aynı anda birkaç proje, birkaç ajan, birkaç makine ve günlük işler varsa.

Bu yüzden raporları seviyorum. Çok parlak olmaları gerekmiyor. Hatta bazen sıkıcı bir "bugün değişiklik yok" raporu, havalı bir AI çıktısından daha değerlidir. Çünkü sistem yalan söylemeden beklemeyi biliyordur.

SUMMER'ın yaptığı şey bana biraz nöbet defteri gibi geliyor. Sabah ne var? Öğlen ne değişti? Gün bitmeden neye bakmalı? Gün sonunda ne kaldı?

MORTY daha çok iş bitirme tarafında duruyor. RICK ise gelen sinyalleri anlamlandırmaya çalışıyor. Üçünün ritmi birleşince, otomasyon sadece arka planda çalışan bir şey olmaktan çıkıyor. Bakım yapılabilir bir sisteme dönüşüyor.

Benim için iyi sistem ne?

·                     ·                     ·                   
                   A GOOD SYSTEM SHOWS ITSELF                   
                                                                
                                                                
        1. ne yaptı?                      ████████              
                                                                
        ·                                         ·             
        2. nerede sustu?                  ░░░░░░░░              
                                                                
                                                                
        3. kim yaptı?                     ░░░░░░░░              
                                                                
                                    ·                     ·     
        4. onay ister mi?                 ░░░░░░░░              
                                                                
                                                                
               iş yapan değil, okunabilen sistem                
                                                                

Benim için iyi sistem, sadece iş yapan sistem değil.

İyi sistem:

  • ne yaptığını gösterebiliyor,
  • ne zaman sustuğunu belli ediyor,
  • hangi işi hangi ajan yaptığını ayırıyor,
  • kritik müdahalelerde onay bekliyor,
  • tekrar eden işleri hafızaya değil ritme bağlıyor.

Bu yüzden cron job'lar küçük birer iç organ gibi. Normalde görünmezler. Ama arada bir ultrason çekmek gerekiyor. Yoksa çalışıyor sandığın şey gürültü üretiyor olabilir; sustu sandığın şey de arka planda hayat kurtarıyor olabilir.

Bunu kendin kurmak istersen

·                     ·                     ·                   
                          START SMALL                           
                                                                
                                                                
                                                                
      ┌────────────────┐                ┌────────────────┐      
      │ sabah özeti    │                │ haftalık kontr │      
      │                │◆ · · · · ◆ · · ·                │      
      │                │                │                │      
      └────────────────┘                └────────────────┘      
                                                                
                                                                
                     ┌────────────────────┐               ·     
                     │ ritim büyür        │                     
                     │                    │                     
                     └────────────────────┘                     
                    önce ritim, sonra ölçek                     
                                                                

Benim kullandığım isimler ve makineler bana özel. Ama model genel:

  • Bir ajanı planlama için ayır.
  • Bir ajanı icra için ayır.
  • Bir ajanı gözlem ve rapor için ayır.
  • Tekrar eden işleri zamanla.
  • Raporları tek yerde topla.
  • Riskli hareketleri otomatikleştirme; onaya bağla.
  • Arada bir sistemi kendisine anlattır.

Başlangıçta üç makineye gerek yok. Tek bilgisayarda bile üç farklı rol tanımlayabilirsin. Hatta ilk versiyon sadece bir sabah özeti ve bir haftalık proje kontrolü olabilir.

Önemli olan şu: otomasyonu büyütmeden önce ritmini kurmak.

Benim RICK, MORTY, SUMMER düzenim biraz bunun denemesi. Mükemmel değil. Zaten sistem kurmanın dürüst tarafı da burada. Mükemmel bir yapı kurmuyorsun; kendini daha iyi gösteren, daha kolay bakım yapılan, daha az sürpriz çıkaran bir yapı kuruyorsun.

Bir şeyi bir kez doğru kurunca sadece çıktısını değil, yapma biçimini de saklayabiliyorsun. Bence ajanlarla çalışmanın asıl gücü burada.

Üç makineye yayılmış ajanlarımı, zamanlanmış işlerimi ve otomasyon disiplinimi daha anlaşılır hale getirmek için yazdığım bir sistem notu.