Görevler
Tek bir agent görevinin nasıl kuyruğa alındığı, çalıştırıldığı, durdurulduğu ve yeniden denendiği.
Bir agent çalışmaya her başladığında, Multica bir görev oluşturur. Çalışmayı neyin tetiklediğini, hangi agent'a gittiğini, ne kadar ilerlediğini ve sonunda başarılı olup olmadığını kaydeder.
İşler ve görevler
Bir iş, bir çalışmanın hedefini, tartışmasını, atananını ve nihai durumunu tutar; bir görev ise o çalışma üzerinde yapılan tek bir agent çalıştırmasını kaydeder.
| İş | Görev | |
|---|---|---|
| Ne kaydeder | İlerleyen bir çalışma parçası | Tek bir agent çalıştırması |
| Ne kadar sürer | Tekrar tekrar tartışılabilir, değiştirilebilir ve yeniden atanabilir | Tetiklenmesinden tamamlanmasına, başarısız olmasına veya iptaline kadar |
| Sayısal ilişki | Bir iş birçok görev içerebilir | Her çalıştırma kendi kaydını alır |
Aynı iş sırayla farklı agent'lara devredilebilir veya bir başarısızlıktan sonra yeniden çalıştırılabilir. Her çalıştırma yeni bir görev kaydı üretir; önceki kayıtların üzerine asla yazılmaz.
Tetikleyici kaynaklar
Aşağıdakilerden herhangi biri bir görevi tetikleyebilir:
- Bir işi bir agent'a veya bir Ekip'e atamak.
- Bir yorumda bir agent'tan @ ile bahsetmek.
- Sohbette bir agent'a mesaj göndermek.
- Bir Otopilot'un zamanlanmış olarak veya harici bir olaydan tetiklenmesi.
Farklı giriş noktaları farklı bağlam sağlar, ama çalıştırma aynı şekilde işler: Multica bir görev oluşturur, bir runtime onu üstlenir ve runtime, agent'ın yapılandırıldığı yapay zekâ kodlama aracını çağırır.
Çalıştırma yaşam döngüsü
Bir görev tipik olarak şu durumlardan geçer:
| Durum | Anlamı |
|---|---|
deferred | Daha sonra tetiklenmek üzere zamanlanmış; belirlenen zamanda kuyruğa girer |
queued | Bir runtime'ın üstlenmesini bekliyor |
dispatched | Bir runtime onu üstlendi ve yapay zekâ kodlama aracını başlatıyor |
waiting_local_directory | Hedef yerel dizin başka bir görev tarafından tutuluyor; dizin kilidinin serbest kalmasını bekliyor |
running | Yapay zekâ kodlama aracı çalışıyor |
completed | Görev normal şekilde bitti |
failed | Görev hata verdi veya kesintiye uğradı |
cancelled | Görev elle durduruldu |
Runtime çevrimiçiyken yeni bir görev genellikle hızlıca başlar; görev kuyruğa girdikten sonra runtime çevrimdışı olursa, görev runtime kurtarılana kadar kuyrukta kalır. Kuyrukta bekleyen iş, uzun süre beklediği için zaman aşımına uğramaz — kalp atışı göndermeye devam eden bir runtime meşguldür, kaybolmuş değildir; bu yüzden kuyruğun istediği kadar uzun sürede erimesine izin verilir. Kuyruktaki bir görev yalnızca her ikisi de doğruysa başarısız olur: runtime'ı yeniden bağlanma toleransını aşacak kadar sessiz kalmışsa ve görevin kendisi de o kadar süredir kuyrukta bekliyorsa. İkinci koşul, işi zaten uykuda olan bir makineye atadığınızda önem kazanır — görev, hemen başarısız olmak yerine onu geri getirmeniz için tam bir tolerans süresi daha alır.
Sistem, tetiklenmeden önce hedef runtime'ın zaten çevrimdışı olduğunu biliyorsa, bazı anlık eylemler kimsenin üstlenemeyeceği bir görev oluşturmak yerine görevin şu anda başlatılamayacağını bildirir.
Sağlıklı bir kalp atışına sahip bir runtime uzun görevleri çalıştırabilir; sunucu, sadece uzun süredir çalışıyor diye bir görevi asla zorla bitirmez. Runtime, sürecin takılıp kalıp kalmadığına gerçek etkinliğe bakarak karar verir; ilgili ayarlar için bkz. Ortam değişkenleri.
Görev geçmişini görüntüleme
Bir işin ürettiği her görev, işin sağ kenar çubuğundaki Çalıştırma günlüğü bölümünde listelenir — ayrı bir sayfada veya sekmede değil. Bölüm varsayılan olarak açıktır: etkin görevler en üstte sabit kalır, bitmiş olanlar ise Geçmiş görevleri göster (N) ifadesinin arkasında durur. Her satır tetikleyici kaynağı, çalıştıran agent'ı, durumu ve zamanlamayı gösterir. Bölümü görmüyorsanız, iş başlığındaki panel düğmesiyle kenar çubuğunu açın; dar ekranlarda kenar çubuğu kapalı başlar.
Günlük, sayfa açık kaldığı sürece gerçek zamanlı bağlantı üzerinden güncellenir — yeni görevler, durum değişiklikleri ve agent'ın yorumları elle yenilemeye gerek kalmadan görünür.
Bir agent çalışırken, iş başlığında "Engineer çalışıyor" gibi canlı bir etiket de görünür. Üzerine gelmek aynı etkin görevleri gösterir, böylece sayfadan ayrılmadan ilerlemeyi kontrol edebilirsiniz.
Buradan şunları yapabilirsiniz:
- Agent'ın mesajlarını, araç çağrılarını ve hata çıktısını görmek için bir satırda Dökümü görüntüle'ye tıklayın. Hâlâ devam eden bir görev için, iletişim kutusu açık kaldığı sürece döküm akmaya devam eder ve bir En yeniler önce anahtarı olay sırasını tersine çevirir.
- Ertelenmiş, kuyrukta, başlıyor, yerel dizin bekliyor veya çalışıyor durumundaki görevleri durdurun.
- Başarısız veya iptal edilmiş bir görevi yeniden deneyin.


Bir işin atananını veya durumunu değiştirmek, zaten başlamış bir görevi durdurmaz. Bir görevi kesmek için çalıştırma günlüğünde ilgili görevi durdurun. Etkin görevler yalnızca iş silindiğinde işle birlikte iptal edilir.
Başarısızlıklar ve otomatik yeniden denemeler
Geçici arızalar — bir runtime'ın kısa süreliğine çevrimdışı olması, bir daemon yeniden başlatması, bir çalıştırma zaman aşımı veya yapay zekâ kodlama aracındaki bir ağ kesintisi — otomatik bir yeniden denemeyi tetikleyebilir. Normal bir görev varsayılan olarak en fazla iki kez çalıştırılır; araç ağ kesintileri üç denemeye kadar hak kazanır.
Agent'ın kendisinin döndürdüğü hatalar genellikle otomatik olarak yeniden denenmez. Süresi dolmuş kimlik bilgileri, tükenmiş kota, yanlış yapılandırma veya isteği tamamlayamayan bir model — hepsi önce nedenin giderilmesini, ardından elle yeniden denemeyi gerektirir.
Bir Otopilot'un yalnızca çalıştır modu, bir sonraki zamanlanmış çalıştırmayla çakışmamak için otomatik olarak yeniden denemez. İş oluştur modu normal iş görevleri ürettiğinden, altyapı kaynaklı başarısızlıklar yukarıdaki kurallara göre yine yeniden denenir. Her iki mod da nihai sonucunu Otopilot çalıştırma geçmişinde gösterir.
Bir işin başka etkin bir görevi ve çalışmayı bekleyen yeni bir yeniden denemesi yoksa, bir başarısızlık in_progress durumundaki işi todo'ya geri döndürür.
Başarısızlık nedeni referansı
Çalıştırma günlüğünde ve kullanım istatistiklerinde gösterilen başarısızlık nedenleri iki gruba ayrılır: önek taşımayan neden kodları platform tarafından kaydedilir; agent_error.* kodları ise yapay zekâ kodlama aracının kendi hatalarından sınıflandırılır.
Platform tarafı
| Neden | Anlamı | Ne yapmalı |
|---|---|---|
runtime_offline | Görev sırasında runtime çevrimdışı oldu | Runtime'ı geri getirin ve yeniden deneyin; bkz. Daemon ve runtime'lar |
queued_expired | Runtime, yeniden bağlanma toleransından daha uzun süre kalp atışı göndermedi ve görev de o kadar süredir kuyruktaydı | Runtime'ın çevrimiçi olduğunu doğrulayın, sonra yeniden deneyin |
runtime_recovery | Daemon, yeniden başladıktan sonra kesintiye uğramış bir görevi geri aldı | Doğrudan yeniden deneyin |
environment_prepare_failed | Daemon, bu görev için çalıştırma ortamını kuramadı — çalışma dizinini veya içine yazılan yerel runtime yapılandırmasını | Hangi adımın başarısız olduğunu görmek için ham hatayı okuyun, sonra o makineyi kontrol edin: disk alanı, izinler, hâlâ kullanımda olan bir dizin veya yapay zekâ kodlama aracının yerel yapılandırması |
cancelled | Elle durduruldu veya bir arşivleme ya da silme ile birlikte iptal edildi | Yapılacak bir şey yok |
timeout | Daemon'ın yapılandırılmış çalıştırma süresi sınırını aştı | İşin kapsamını daraltın veya daemon'ın agent_timeout ayarını değiştirin |
iteration_limit | Bir görev için yineleme sınırına ulaşıldı | İşin kapsamını daraltın |
agent_blocked | Agent devam edemeyeceğini bildirdi | Yorumunda istediğini sağlayın |
api_invalid_request | Platform API'si geçersiz bir isteği reddetti | Yeniden deneyin; tekrarlarsa sorunu bildirin |
codex_semantic_inactivity | Codex uzun süre anlamlı bir çıktı üretmedi ve takılı kaldığına karar verildi | Yeniden deneyin veya Codex hareketsizlik zaman aşımını ayarlayın |
Araç tarafı (agent_error.*, önek olmadan)
| Neden | Anlamı | Ne yapmalı |
|---|---|---|
provider_auth_or_access | Model sağlayıcısı kimlik doğrulaması başarısız oldu veya erişim reddedildi (401/403) | O yapay zekâ kodlama aracında yeniden giriş yapın veya API anahtarını kontrol edin |
provider_quota_limit | Kota veya bakiye tükendi (402) | Bakiye yükleyin veya hesap değiştirin |
provider_capacity_or_rate_limit | Hız sınırına takıldı veya kapasite yetersiz (429/529) | Daha sonra yeniden deneyin |
provider_server_error | Model sağlayıcısı sunucu hatası (5xx) | Daha sonra yeniden deneyin |
provider_network | Model sağlayıcısına ulaşırken ağ hatası | Otomatik olarak yeniden dener; devam ederse çalıştırılan makinenin ağını kontrol edin |
model_not_found_or_unavailable | Model mevcut değil veya şu anda kullanılamıyor | Agent ayarlarında kullanılabilir bir model seçin |
context_overflow | Bağlam, model penceresini aştı | İşin kapsamını daraltın veya girdiyi azaltın |
missing_config | API anahtarı gibi gerekli bir yapılandırma eksik | Agent'ın ortam değişkenlerini veya araç yapılandırmasını doldurun |
runtime_missing_executable | Yapay zekâ kodlama aracının çalıştırılabilir dosyası bulunamadı | Aracı yeniden kurun; bkz. Yapay zekâ kodlama araçlarını kurma |
runtime_version_unsupported | Yapay zekâ kodlama aracının sürümü çok eski | Aracı güncelleyin |
process_failure | Araç süreci anormal şekilde sonlandı | Nedeni bulmak için görev kaydını kontrol edin, sonra yeniden deneyin |
empty_or_unparseable_output | Araç hiç çıktı üretmedi veya ayrıştırılamayan bir çıktı üretti | Yeniden deneyin; tekrarlarsa araç kurulumunu kontrol edin |
agent_timeout | Araç, uzun süre yanıt vermediği için sonlandırıldı | Yeniden deneyin veya işin kapsamını daraltın |
unknown | Sınıflandırılamamış başarısızlık | Görev kaydındaki ham hataya bakın |
Elle yeniden deneme
Çalıştırma günlüğündeki bir satırda yeniden deneme düğmesine tıklamak o görevi o sırada üstlenen agent'ı çağırır. İş o zamandan beri yeniden atanmış olsa bile, yeniden deneme yeni atanana geçmez.
Bir yeniden deneme, mümkün olduğunda önceki görevin yerel dizine zaten yazdığı dosyaları korur. Orijinal oturum hâlâ güvenliyse ve yeniden denemeyi aynı runtime üstlenirse, önceki oturuma da devam eder. Bağlam taşması veya geçersiz istekler gibi oturumu zehirleyen hatalar, bunun yerine orijinal çalışma dizini üzerinde yeni bir oturum başlatır. Orijinal dizin artık mevcut değilse, taze bir çalışma dizini kullanılır.
İşi CLI'dan da yeniden çalıştırabilirsiniz:
multica issue rerun <issue-id>Bu biçim belirli bir geçmiş göreve işaret etmez, bu yüzden işin geçerli agent atananını kullanır ve taze bir oturum ile çalışma diziniyle başlar.
Görev tamamlanması ve iş tamamlanması
completed, yalnızca bu belirli görevin normal şekilde bittiği anlamına gelir — işin hedefine ulaşıldığını doğrulamaz. Sonucu yine de inceleyebilir, tartışmaya devam edebilir, gereksinim ekleyebilir veya agent'ı tekrar tetikleyebilirsiniz.
Bir işin bitip bitmediği, işin gerçek ilerlemesine ve durumuna bakılarak değerlendirilir.
Durum ve zaman aşımı hızlı referansı
Aşağıdaki sayılar, sorun giderirken hızlıca çapraz kontrol yapabilmeniz için sunucunun varsayılan yapılandırmasını yansıtır.
| Durum | Anlamı | Zaman aşımı ve sonucu |
|---|---|---|
deferred | Daha sonra tetiklenmek üzere zamanlanmış | Zamanlanan anda queued'a girer, ardından aşağıdaki kurallar uygulanır |
queued | Bir runtime'ın üstlenmesini bekliyor | Runtime'ı kalp atışı gönderdiği sürece bekler; her durumda kuyruğa girdikten sonra en az bir yeniden bağlanma toleransı kadar bekler; yalnızca her iki pencere de dolduğunda başarısız olur ve otomatik olarak yeniden denenmez |
dispatched | Üstlenildi; araç başlıyor | Bu durumda 5 dakikadan fazla kalırsa başarısız sayılır |
waiting_local_directory | Yerel dizin kilidinin serbest kalmasını bekliyor | Kendine ait bir zaman aşımı yok; dizin serbest kalır kalmaz başlangıç akışına döner |
running | Yapay zekâ kodlama aracı çalışıyor | Sabit bir süre sınırı yok; canlılık runtime kalp atışını izler — her 15 saniyede bir; kalp atışını kaybeden bir runtime en geç yaklaşık 3 dakika içinde çevrimdışı işaretlenir ve görevleri de onunla birlikte başarısız olur |
Otomatik yeniden deneme yalnızca aşağıdaki geçici arızaları kapsar ve yalnızca bir işe veya sohbete bağlı görevler için geçerlidir (Otopilot'un yalnızca çalıştır modu hariç):
| Otomatik yeniden denenebilir başarısızlık nedeni | Deneme tavanı |
|---|---|
| Runtime çevrimdışı | Varsayılan olarak 2 (ilk çalıştırma + 1 yeniden deneme) |
| Bir daemon yeniden başlatmasından sonra geri alınmış | Varsayılan olarak 2 |
| Platformun karar verdiği çalıştırma zaman aşımı | Varsayılan olarak 2 |
| Codex anlamlı çıktı olmadan takıldı | Varsayılan olarak 2 |
| Skill paketi indirme hatası | Varsayılan olarak 2 (bu noktada agent süreci henüz başlamamıştır; zaten indirilmiş paketler yerel önbellekten gelir) |
| Araç ağ kesintisi | 3'e kadar; son deneme yaklaşık 5 saniyelik bir gecikmeden sonra başlar |
Diğer tüm başarısızlık nedenleri (kimlik doğrulama, kota, yapılandırma, model ve benzerleri) hiçbir zaman otomatik olarak yeniden denenmez; önce nedeni giderin, sonra elle yeniden deneyin.
Sırada
- Daemon ve runtime'lar — bir görevin hangi bilgisayarda çalıştığı.
- İşleri agent'lara atama — bir işten görev tetikleme.
- Yorumlarda agent'lardan @ ile bahsetme — yorumlarda gereksinim ekleme veya başka agent'ları dahil etme.
Yapay zekâ kodlama araçlarını kurma
Multica'nın makinenizde çalıştırmalar yürütebilmesi için desteklenen bir yapay zekâ kodlama aracını kurun ve giriş yapın.
Yapay zekâ kodlama araçları karşılaştırması
Multica'nın desteklediği yapay zekâ kodlama araçlarını karşılaştırın; modellerin, MCP'nin, oturumların ve skill'lerin nasıl farklılaştığını görün.