Bu sayfa İngilizce belgenin çevirisidir. Komutlar, tanımlayıcılar ve örnekler aynıdır. Çalışma zamanı 7.24.4 · SDK 2.6.7. İngilizce kaynak
Döngü modu ve zamanlanmış görevler
Durum: Etkin Kapsam: güncel durum Son inceleme: 2026-08-27 Sahip: ax-code runtime
AX Code üç birleştirilebilir otomasyon ilkesine sahiptir:
| İlke | Ne olduğu | Ömür |
|---|---|---|
/goal |
Oturumun yazılı bir plan, bütçeler ve bir doğrulama kapısıyla izlemeyi sürdürdüğü kalıcı bir amaç | Oturum başına kalıcı |
/loop |
Oturum boştayken bir istemi sabit aralıkla yeniden çalıştıran bir kalp atışı | Bu arka uç süreci |
| Zamanlanmış görevler | Ajanın konuşarak kurabildiği kalıcı tek seferlik veya yinelenen çalıştırmalar (“her iş günü saat 9’da…”) | Proje veritabanında kalıcı |
/loop — yinelenen istemler
/loop <interval> <prompt> start (interval like 30s, 5m, 1h)
/loop status show runs, busy-skips, and the prompt
/loop stop stop the loop
Örnekler:
/loop 5m check CI for new failures and fix any you find
/loop 30m drain the review queue
Kurallar:
- Aralık sınırları: 30 saniye ile 24 saat. Oturum başına bir döngü — yenisini başlatmak eskisinin yerini alır.
- Oturum meşgulken ateşleyen bir tik atlanır ve sayılır, asla kuyruğa alınmaz — döngüler tur biriktiremez.
- Her tik sıradan bir istem turudur: izinler, sorular, otonom tavanlar ve tamamlanma kapıları geçerlidir. Otonom kapalıyken bir tik ilk izin isteminde beklemeye geçer.
- Döngü başına 500 çalıştırma sert tavanı vardır; ardından döngü bir bildirimle kendini durdurur.
- Döngüler yalnızca arka uç sürecinde yaşar: yeniden başlatmadan sağ çıkmazlar. Kalıcı zamanlamalar için aşağıdaki zamanlanmış görevleri kullanın.
/goal ile /loop eşleştirme
/goal amaca sahiptir (“tüm testler yeşil, açık inceleme bulgusu yok”);
/loop denetimi sürdüren kalp atışını sağlar. Önce bir hedef oluşturmak,
gözden geçirilebilir bir sözleşmeyi .ax-code/goals/ altında (proje bir git
worktree değilse AX veri dizininde) saklayan özel bir plan yazıcısı çalıştırır. Planlama başarısız olursa hedef duraklatılmış kalır — /goal resume bunu
yeniden dener. Bu hedefin farkını ölçen Git aralık denetimleri plan anındaki HEAD değerini
kullanır ({BASELINE}), amaç o uzak depoyu adlandırmadıkça origin/main değil.
Hedef tamamlanması doğrulama kapılı kalır: ajan, düzenlemelerden sonra geçen bir doğrulama çalıştırması olmadan hedefi
tamamlandı olarak işaretleyemez ve bir plan
varsa her kabul ölçütü için kanıt da sunmalıdır.
/goal keep main green: fix any CI failure the loop finds
/loop 10m check CI status and act on failures
Hedef güvencesi isteğe bağlıdır
/goal <objective> hemen başlar: donmuş bir kabul sözleşmesi eklemez,
bu yüzden tamamlanma, ajanın sürdürdüğü çalışma planına (bekleyen yapılacaklar) ve son değişikliğinden sonra
geçen bir doğrulamaya göre yargılanır. /goal view (ve hedef iletişim kutusunun
“Hedef ayrıntılarını görüntüle”) bunu açıkça söyler — “Güvence sözleşmesi yok” — böylece durum
çıkarsamanız gereken bir şey olmaz.
/goal --assure <objective> önce plan yazıcısını çalıştırır; bu, kabul
ölçütlerini, kaynak başvurularını ve yürütülebilir denetimleri dondurur. Tamamlanma ayrıca her zorunlu denetim için
güncel başarılı bir makbuz gerektirir (verify_project ile onun
goalCheck kimliği). Hedefin “bitti” durumunun betimlenmek yerine
kanıtlanabilir olması gerektiğinde bunu kullanın.
--assure bütçe bayraklarıyla her iki sırada birleşir
(/goal --assure --budget 500000 <objective>). /goal replace <objective>, değiştirilen hedefin geçerli bir sözleşmesi varsa
güvenceyi korur; böylece değiştirme, zaten güvence altına alınmış bir hedefi
sessizce zayıflatamaz.
Hedef bütçeleri ve tavanları
Etkin bir hedef, çalıştırma başına otomatik sürdürme tavanını kaldırır (session.max_continuations)
— çalıştırma, hedef tamamlanana, engellenene, duraklatılana veya
bütçe sınırına gelene kadar sürer. Bunun yerine onu sınırlayanlar:
- Belirteç bütçesi (
/goal --budget N …): tükendiğinde ajan bir toparlama turu alır, ardından hedefbudget_limitedolur. - Süre bütçesi (
/goal --time-budget 30m …): saniye, dakika (m) veya saat (h) cinsinden duvar saati sınırı; belirteç bütçesiyle her iki sırada birleştirilebilir. Belirteç bütçesinin göremediği geçen işi sınırlar — uzak eğitim işleri, uzun araç çağrıları, sağlayıcı durmaları. Tetiklendiğinde aynı toparlama turu vebudget_limitedgeçişi uygulanır. - Birikimli adım tavanı: etkin hedef çalıştırmaları
max_steps × 40toplam adımlık Super-Long dayanağını paylaşır (varsayılan 20,000), sıradan otonom tavan olanmax_steps × (max_continuations + 1)yerine. Şununla geçersiz kılın:session.max_total_steps. - Kıyamet döngüsü algılama, etki yarıçapı tavanları ve yalnızca araç turu kesici boyunca geçerli kalır.
Hedef CLI (başsız)
Aynı hedef denetimi TUI dışında ax-code goal altında kullanılabilir:
ax-code goal status [--json]— geçerli hedefi gösterir (-s/--sessionbir oturum seçmek içindir; varsayılan, projenin tek sürdürülebilir hedefidir ve seçim belirsiz olursa hata verir).ax-code goal pause/ax-code goal clear— duraklatır veya temizler.ax-code goal resume— hedefi sürdürür ve yerleşene kadar başsız sürer.--attacholmadan projeyi süreç içinde başlatır;--attach http://localhost:4111ile çalışan bir sunucuyu sürer. Çıkış kodları başsız hedef sözleşmesini izler:0tamam,3engelli,4bütçe sınırlı,6duraklatılmış/terminal olmayan,1oturum hatası,124boşta zaman aşımı (--idle-timeout-ms, varsayılan 10 dakika). Olaylar stdout üzerine JSONL olarak akar (--event-log PATHbunları da kaydeder) ve son birGoal <status>: <objective>satırı stderr üzerine gider.
Bir hedef çalıştırması adım tavanına yaklaşırken ajan, hedefi doğrulayıp tamamlamasını veya temiz bir
devretme bırakmasını söyleyen tek seferlik bir
yakınsama uyarısı alır. Tavan yine de ulaşılırsa hedef duraklatılır — başarısız
sayılmaz — ve /goal resume ile yeniden alınabilir (daha fazla pay gerekirse önce
session.max_total_steps yükseltin).
Zamanlanmış görevler — kalıcı, konuşmalı
Ajana doğrudan sorun; schedule_task, list_scheduled_tasks
ve manage_scheduled_task araçlarını kullanır:
- “14:30’da dağıtımı denetlememi anımsat.”
- “Her iş günü saat 9’da yeni CI başarısızlıklarını özetle.”
- “Zamanlanmış görevlerimi listele.” / “CI özeti görevini duraklat.”
Ajanın oluşturduğu ve yönettiği zamanlama değişiklikleri schedule
iznini ister. Salt okunur bir çalıştırma bir zamanlamayı değiştiremez veya tetikleyemez. Gözetimsiz
başsız oluşturma için açık ax-code schedule komutunu kullanın veya ajan için açık bir
schedule izin bağışı yapılandırın; geniş joker bağışlar
zamanlama değişikliklerine yetki vermez.
Aynı görevler TUI açılmadan kabuktan yönetilebilir:
ax-code schedule list # status, next run, schedule, id, title
ax-code schedule show <id> # details plus the five most recent runs
ax-code schedule runs <id> # run history: fired, failed, skipped and why
ax-code schedule pause|resume <id>
ax-code schedule delete <id>
ax-code schedule run <id> # trigger now; requires a live runtime
pause/resume/delete, biri çalışırken projenin yönetilen çalışma zamanından geçer
(anında etki, canlı TUI güncellemeleri); aksi halde proje
veritabanına doğrudan yazar. run canlı bir arka uç gerektirir — ax-code runtime start ile birini başlatın — çünkü tek atışlık bir CLI süreci bitiremeyeceği işi
üstlenmemelidir. Tüm okuma alt komutları --json kabul eder.
Zamanlamalar tek seferlik çalıştırmaları, günlük ve haftalık saatleri ve 5 alanlı cron
ifadelerini destekler; her birinde isteğe bağlı bir IANA saat dilimi vardır. Görevler proje
veritabanında kalır ve proje için bir AX Code arka ucu
çalışırken ateşlenir (60s zamanlayıcı taraması, atomik üstlenme — birkaç arka uç açık olsa bile bir görev bir kez ateşlenir). Zamanlama ilerlemesi ve kalıcı kuyruk ekleme tek bir
veritabanı işlemini paylaşır; böylece bir çökme, kurtarılacak iş bırakmadan
bir oluşumu ilerletmez.
ax-code run ve ax-code stats gibi tek atışlı komutlar vadesi gelen
görevleri üstlenmez. Bunları dağıtmak için ax-code runtime start ile kalıcı bir arka uç başlatın.
Kaçırılan oluşumlar varsayılan olarak catchUpPolicy: "run_once" olur: kesinti sonrası
AX Code birikmiş işi tek bir çalıştırmada birleştirir. Bayat işin çalıştırılmadan
ilerletilmesi gerektiğinde "skip" kullanın. Bir görev ayrıca bir saniyeden
72 saate kadar maxRunDurationMs ayarlayabilir; zaman aşımına uğrayan bir çalıştırma iptal edilir ve başarısız olarak kaydedilir.
Süreç ve konak yeniden başlatmaları boyunca işletim için arka ucu bir gözetmen altında çalıştırın. systemd, launchd ve PM2 örnekleri ile tam kurtarma anlamları için Uzun süren işlemler bölümüne bakın.
Uzun gözetimsiz çalıştırmalar
Çok saatlik otonom oturumlar için Super-Long modu çalıştırma son tarihleri (72 saate
kadar), istek temposu ve sıkıştırma ayarı ekler. Uzun ajan işini desteklediğini bildiren yeteneklere sahip modeller için
kendiliğinden etkinleşir (Alibaba rotalarında Qwen 3.7+ Max/Plus ve z.ai
rotalarında GLM 5.x gibi 1M bağlamlı akıl yürütme
modelleri) ve oturum başına, proje başına veya
AX_CODE_SUPER_LONG ile zorlanabilir. Çalıştırma katılımı günlüğe yazılır (super-long run engaged)
ve sağlayıcı temposu yalnızca çalıştırma başlangıcından bir hoşgörü penceresi sonra başlar
(varsayılan 2 saat, super_long.pacing_grace_minutes); böylece bir ajan çalıştırmasının üretken
erken evresi tam araç çağrısı verimini korur;
maraton kuyruğu modelin bildirdiği hız sınırı katmanına göre tempolanır.