Skip to main content

Cron vs Heartbeat: Hangisi Ne Zaman Kullanılmalı

Hem heartbeat’ler hem de cron işleri, görevleri bir zaman çizelgesine göre çalıştırmanıza olanak tanır. Bu rehber, kullanım senaryonuz için doğru mekanizmayı seçmenize yardımcı olur.

Hızlı Karar Rehberi

Heartbeat: Periyodik Farkındalık

Heartbeat’ler ana oturumda düzenli bir aralıkla (varsayılan: 30 dk) çalışır. Ajanın durumu kontrol etmesi ve önemli olanları öne çıkarması için tasarlanmıştır.

Heartbeat ne zaman kullanılmalı

  • Birden fazla periyodik kontrol: Gelen kutusu, takvim, hava durumu, bildirimler ve proje durumunu kontrol eden 5 ayrı cron işi yerine, tek bir heartbeat hepsini gruplayabilir.
  • Bağlam farkında kararlar: Ajan, ana oturumun tam bağlamına sahiptir; bu sayede acil olanlarla bekleyebilecekleri akıllıca ayırt edebilir.
  • Konuşma sürekliliği: Heartbeat çalışmaları aynı oturumu paylaşır; ajan son konuşmaları hatırlar ve doğal şekilde takip edebilir.
  • Düşük ek yükle izleme: Tek bir heartbeat, birçok küçük yoklama görevini değiştirir.

Heartbeat avantajları

  • Birden fazla kontrolü grupla: Tek bir ajan turu, gelen kutusu, takvim ve bildirimleri birlikte gözden geçirebilir.
  • API çağrılarını azaltır: Tek bir heartbeat, 5 izole cron işinden daha ucuzdur.
  • Bağlam farkındalığı: Ajan, üzerinde çalıştıklarınızı bilir ve buna göre önceliklendirebilir.
  • Akıllı bastırma: Dikkat gerektiren bir şey yoksa, ajan HEARTBEAT_OK yanıtını verir ve mesaj teslim edilmez.
  • Doğal zamanlama: Kuyruk yüküne bağlı olarak hafifçe kayar; çoğu izleme için uygundur.

Heartbeat örneği: HEARTBEAT.md kontrol listesi

Ajan bunu her heartbeat’te okur ve tüm maddeleri tek turda ele alır.

Heartbeat yapılandırması

Tam yapılandırma için Heartbeat sayfasına bakın.

Cron: Kesin Zamanlama

Cron işleri kesin zamanlarda çalışır ve ana bağlamı etkilemeden izole oturumlarda çalışabilir.

Cron ne zaman kullanılmalı

  • Kesin zamanlama gerektiğinde: “Her Pazartesi sabah 9:00’da gönder” ( “9 civarı” değil).
  • Bağımsız görevler: Konuşma bağlamına ihtiyaç duymayan işler.
  • Farklı model/düşünme: Daha güçlü bir modeli gerektiren ağır analizler.
  • Tek seferlik hatırlatmalar: --at ile “20 dakika sonra hatırlat”.
  • Gürültülü/sık görevler: Ana oturum geçmişini kalabalıklaştıracak işler.
  • Harici tetikleyiciler: Ajanın başka bir şekilde aktif olup olmamasından bağımsız çalışması gereken görevler.

Cron avantajları

  • Kesin zamanlama: Zaman dilimi desteği olan 5 alanlı cron ifadeleri.
  • Oturum izolasyonu: Ana geçmişi kirletmeden cron:<jobId> içinde çalışır.
  • Model geçersiz kılma: İş başına daha ucuz veya daha güçlü bir model kullanın.
  • Teslimat denetimi: İzole işler varsayılan olarak announce (özet) kullanır; gerektiğinde none seçin.
  • Anında teslimat: Announce modu, heartbeat’i beklemeden doğrudan gönderir.
  • Ajan bağlamı gerekmez: Ana oturum boşta veya sıkıştırılmış olsa bile çalışır.
  • Tek seferlik destek: Kesin gelecek zaman damgaları için --at.

Cron örneği: Günlük sabah brifingi

Bu iş New York saatine göre tam 7:00’da çalışır, kalite için Opus kullanır ve özeti doğrudan WhatsApp’a duyurur.

Cron örneği: Tek seferlik hatırlatma

Tam CLI referansı için Cron jobs sayfasına bakın.

Karar Akış Şeması

Her İkisini Birlikte Kullanma

En verimli kurulum her ikisini de kullanır:
  1. Heartbeat, rutin izlemeyi (gelen kutusu, takvim, bildirimler) her 30 dakikada tek bir gruplanmış turda ele alır.
  2. Cron, kesin zamanlamaları (günlük raporlar, haftalık incelemeler) ve tek seferlik hatırlatmaları yönetir.

Örnek: Verimli otomasyon kurulumu

HEARTBEAT.md (her 30 dakikada kontrol edilir):
Cron işleri (kesin zamanlama):

Lobster: Onaylı deterministik iş akışları

Lobster, çok adımlı araç boru hatları için deterministik yürütme ve açık onaylar gerektiren iş akışı çalışma zamanıdır. Görev tek bir ajan turundan fazlaysa ve insan kontrol noktaları olan, devam ettirilebilir bir iş akışı istiyorsanız kullanın.

Lobster ne zaman uygundur

  • Çok adımlı otomasyon: Tek seferlik bir istem değil, sabit bir araç çağrıları hattına ihtiyaç vardır.
  • Onay kapıları: Yan etkiler, siz onaylayana kadar durmalı ve ardından devam etmelidir.
  • Devam ettirilebilir çalıştırmalar: Daha önceki adımları yeniden çalıştırmadan duraklatılmış bir iş akışına devam edin.

Heartbeat ve cron ile nasıl eşleşir

  • Heartbeat/cron, bir çalıştırmanın ne zaman gerçekleşeceğine karar verir.
  • Lobster, çalıştırma başladığında hangi adımların gerçekleşeceğini tanımlar.
Zamanlanmış iş akışları için, Lobster’ı çağıran bir ajan turunu tetiklemek üzere cron veya heartbeat kullanın. Ad-hoc iş akışları için Lobster’ı doğrudan çağırın.

Operasyonel notlar (koddaki bilgiler)

  • Lobster, araç modunda yerel bir alt süreç (lobster CLI) olarak çalışır ve bir JSON zarfı döndürür.
  • Araç needs_approval döndürürse, resumeToken ve approve bayrağı ile devam edersiniz.
  • Araç isteğe bağlı bir eklentidir; tools.alsoAllow: ["lobster"] ile eklemeli olarak etkinleştirin (önerilir).
  • lobsterPath geçirirseniz, mutlak bir yol olmalıdır.
Tam kullanım ve örnekler için Lobster sayfasına bakın.

Ana Oturum vs İzole Oturum

Hem heartbeat hem de cron ana oturumla etkileşime girebilir, ancak farklı şekillerde:

Ana oturum cron ne zaman kullanılmalı

Aşağıdakileri istediğinizde --session main ile --system-event kullanın:
  • Hatırlatmanın/olayın ana oturum bağlamında görünmesi
  • Bir sonraki kalp atışı sırasında tam bağlamla ele alması için ajan
  • Ayrı bir izole çalıştırma olmaması

İzole cron ne zaman kullanılmalı

Aşağıdakileri istediğinizde --session isolated kullanın:
  • Önceki bağlam olmadan temiz bir başlangıç
  • Farklı model veya düşünme ayarları
  • Özetleri doğrudan bir kanala duyurmak
  • Ana oturumu kalabalıklaştırmayan geçmiş

Maliyet Hususları

İpuçları:
  • Token ek yükünü en aza indirmek için HEARTBEAT.md küçük tutun.
  • Birden fazla cron işi yerine benzer kontrolleri heartbeat’te gruplayın.
  • Yalnızca dahili işlem istiyorsanız heartbeat’te target: "none" kullanın.
  • Rutin görevler için daha ucuz bir modelle izole cron kullanın.

İlgili

  • Heartbeat - tam heartbeat yapılandırması
  • Cron jobs - tam cron CLI ve API referansı
  • System - sistem olayları + heartbeat kontrolleri