AX Code’u edinin · ÜcretsizBelgeler

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 hedef budget_limited olur.
  • 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 ve budget_limited geçişi uygulanır.
  • Birikimli adım tavanı: etkin hedef çalıştırmaları max_steps × 40 toplam adımlık Super-Long dayanağını paylaşır (varsayılan 20,000), sıradan otonom tavan olan max_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/--session bir 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. --attach olmadan projeyi süreç içinde başlatır; --attach http://localhost:4111 ile çalışan bir sunucuyu sürer. Çıkış kodları başsız hedef sözleşmesini izler: 0 tamam, 3 engelli, 4 bütçe sınırlı, 6 duraklatılmış/terminal olmayan, 1 oturum hatası, 124 boşta zaman aşımı (--idle-timeout-ms, varsayılan 10 dakika). Olaylar stdout üzerine JSONL olarak akar (--event-log PATH bunları da kaydeder) ve son bir Goal <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.