Ajan Eşgüdümü · Olay Güdümlü Pano · Mimari Kanıt Notu

Çok Ajanlı Sistemlerde Olay Güdümlü Pano (task_bus.jsonl): Sıfır Yoklama (Zero-Polling) ve Yalnızca-Eklenir İcra Mimarisi

Farklı dil modeli ailelerinin (Claude, Gemini, Grok ve yerel koşucular) ortak bir bellek bozulmasına, yarış koşuluna veya sonsuz yoklama döngüsüne düşmeden nasıl koordine edildiğinin mekanik dökümü.

Yazan: Atlas · Gemini 4 Argon · koşu ANU-ATLASMASTER-BOSLUK-SAYFALARI-KOSU-A-ONAYLI-3-1019 (ilk commit 2ce9cc4 11:46)Katkı: 9aac729 Atlas SEO, 220790e Flash JSON-LDYayımlayan: Yusuf Aziz · Atlas StudioDenetim: Reaper 19 Eki 2026 · 1. tur 24 iddia 9/9/5/1, yayından çekildi · 2. tur 22/2/0/0, yayına alındıOdak: Olay Güdümlü Pano · 2.344 Olay · 243 Kayıtlı Alet (174 Geçti · 16 Düştü · 53 Öz-Sınamasız)

Yönetici Özeti (TL;DR)

1. Çok Ajanlı Eşgüdümda Yoklama (Polling) ve Durum Yarışı Sorunu

Çok ajanlı yapay zekâ sistemlerinde (multi-agent systems) en sık karşılaşılan mimari darboğaz, model zekâsının yetersizliği değil, ajanlar arası durum eşzamanlamasıdır. Üç veya daha fazla farklı model ailesi (örneğin mimari sentez ve icra için Gemini, eşgüdüm ve iletişim için Claude, dış kaynak ve karşı-tez denetimi için Grok ve yerel deterministik betikler) aynı çalışma alanı üzerinde görev paylaştığında, klasik ortak durum dosyası güncelleme (mutable shared state) yaklaşımı üç ağır arıza üretir:

Atlas otonom ajan mimarisinde bu üç arıza, veritabanı sunucusu karmaşasına girmeden, işletim sistemi çekirdeğinin dosya sistemi bildirimleri ve katı bir yalnızca-eklenir olay kütüğü (append-only event log) birleştirilerek çözülmüştür.

2. Yalnızca-Eklenir (Append-Only) task_bus.jsonl Şeması ve Beyan Yasası

Sistemin tek doğruluk kaynağı task_bus.jsonl dosyasıdır. JSON Lines yapısal kütük belirtimi ve Event Sourcing (Olay Kaynaklama) mimari deseni uyarınca bu kütükte mevcut bir satırı değiştirmek veya silmek kesin olarak yasaktır. Durum değişikliği, eski satırı düzenleyerek değil, yeni bir olay satırı ekleyerek ifade edilir.

Tek yazıcı betiği olan kosucu/task_bus_yaz.py (satır 156–184), panoya eklenen her JSON nesnesinde şu gerçek şema anahtarlarını kullanır:

Ölçülen Kütük Hacmi (wc -l task_bus/task_bus.jsonl · 19 Ekim 2026): Canlı task_bus.jsonl kütüğü ilk mimari kesitte 1.630 olay satırı, 19 Ekim 11:46 kesitinde 2.249 satır, güncel canlı sayımda ise 2.344 yalnızca-eklenir olay satırı barındırmaktadır; üzerine yazma kaynaklı veri kaybı 0 olarak ölçülmüştür.

3. Çekirdek Düzeyinde Olay Güdümlü Tetikleme: WatchPaths ve Gelen Kutuları

Pano mimarisinin ikinci ayağı sıfır yoklama (zero-polling) ilkesidir. Ajan oturumlarının hiçbirinde “N dakikada bir task_bus.jsonl dosyasını oku” şeklinde bir zamanlayıcı döngü bulunmaz. Bunun yerine olay yönlendirme şu üç adımlı deterministik boru hattıyla çalışır:

  1. Anlık Gelen Kutusu Dağıtımı: Bir ajan task_bus_yaz.py üzerinden panoya kayıt düştüğünde veya macOS launchd bekçisi (com.ustakil.pano_izle) WatchPaths mekanizmasıyla dosya değişimini yakaladığında, hedef ajanın gelen kutusuna (örneğin gelen_gemini/pano_<ID>.md veya .hook_state/gelen_kutusu/) tekil bir görev zarfı bırakılır.
  2. Etiket Tabanlı Koşucu Ayrımı: Görev zarfının claim alanı [AGY] veya [AGY:flash] gibi başsız (headless) yürütme etiketi taşıyorsa, bekçi bu görevi insan müdahalesi beklemeden doğrudan kosucu/agy_atim.sh veya kosucu/vezir_atim.sh üzerinden uygun model kademesine (Argon, Opus, Sonnet veya Flash) sevk eder. Tarayıcı oturumu gerektiren etiketsiz görevler ise aktif IDE oturumunun gelen kutusunda bekler.
  3. Arşivleme ve Temiz Kutu: İlgili ajan görevi okuduğu anda zarfı arsiv/ alt dizinine taşır (silmez). Böylece gelen kutusunun boş olması, sistemde bekleyen iş olmadığının O(1) karmaşıklıkta kesin kanıtı olur.

Bu mimari sayesinde sistem boşta dururken sıfır API jetonu harcar; yeni bir görev yazıldığında ise çekirdek dosya sistemi olayıyla milisaniyeler içinde yalnızca hedef koşucu uyandırılır.

4. İdempotent Görev Kilidi, Başsız Koşucular ve Benlik Direnci

Olay güdümlü tetikleme hız kazandırsa da, paralel çalışan çoklu koşucularda idempotentlik (aynı emrin birden fazla kez tetiklenmesi halinde sistemin bozulmaması ve mükerrer iş yapmaması) şarttır. Pano protokolünde her görev üç aşamalı bir durum makinesinden geçer:

Bu icra omurgasını denetleyen Enkidu (sistemin otonom bekçi ve koşucu katmanı; bot/olgular.json:O-005, O-006), 21 tanımlı görev üzerinde 24 saatlik pencerede 62 başarılı koşu (61–62 OK) ve 0 ölçülemedi sonucu üretmiştir. Enkidu envanterinde 2.017 kütük (16'sı okuyansız) ve 354 envanter kaydı (190 zamanlayıcı, 35 aktif koşan birim, 81 arşiv adayı) izlenmektedir.

Öz-Sınama ve Emir Kapısı Şeffaflık Dökümü (Gizlenen Olumsuzlar Dahil): bot/olgular.json:O-001 (18 Ekim 2026) kaydında yer alan 243 kayıtlı aletin 174'ü öz-sınamadan geçmiş (toplam 3.129 öz-sınama adımı 101 saniyede tamamlanmıştır), ancak 16 alet öz-sınamada düşmüş (dustu: 16) ve 53 alette henüz öz-sınama girişi bulunmamaktadır (ozsinamasiz: 53); 19 Ekim 2026 canlı reaper_denetci.py --selftest-karne taramasında ise 262 .py dosyası ve 261 alet izlenmektedir (site-alet-sozlesmesi = AKSAK). Benzer biçimde, bot/olgular.json:O-003 (18 Ekim) kesitinde 24 saatte koşan 29 emirde 0 kapısız geçiş kaydedilmişken, 19 Ekim 2026 canlı reaper_denetci.py --dogrula-orani ölçümünde son 21 emrin 17'sinde (%81,0) DOGRULA kapısı bulunmuş, 4 emir ise DOGRULA kapısı olmadan yazılmıştır (site-dogrula-kapisi = AKSAK).

Çok ajanlı sistemlerde bir ajanın diğerinin hatalı iddiasına veya sahte otorite baskısına boyun eğmemesi için BENLİK-1013 direnç deneyi (bot/olgular.json:O-007) yürütülmüştür: 18 hüküm ve n = 162 denemede otoriteye boyun eğme oranı 0/18, sahte kanıta aldanma 0/18, gerçek kanıt geldiğinde hükmü doğru güncelleme oranı ise 16/18 (%88,9) olarak kaydedilmiştir.

5. Canlı Ölçüm ve Kanıt Kartı (Dosya ve Satır Kaynaklı)

Aşağıdaki tablo, olay güdümlü pano ve otonom icra omurgasının canlı kütüklerden ölçülen gerçek verilerini (olumsuz/aksak metrikler dahil) ve data-kaynak adreslerini içerir:

Bileşen / ÖlçütCanlı Ölçüm DeğeriDoğrulama Durumu / KuralKaynak (Dosya:Alan · Tarih)
Ortak Pano (task_bus.jsonl) 2.344 canlı olay satırı (11:46 kesiti: 2.249 · ilk kesit: 1.630) Yalnızca-eklenir (append-only) · 0 üzerine yazma · ilk ts: 2026-10-03T15:09 (satır 3; 1–538 aralığındaki 97 satırda ts yok) task_bus/task_bus.jsonl:1-2344 · 2026-10-19
Pano Şeması ve Canlı BEYAN Oranı Canlı BEYAN oranı: %72,3 (422/584 · hedef ≥%80) Anahtarlar: id, ts, ajan, claim + seçmeli hedef, kanit_yolu · task_bus_yaz.py'de mekanik BEYAN kapısı YOK (site-beyan-olcu = İDDİA) kosucu/task_bus_yaz.py:156-184 · reaper_denetci.py · 2026-10-19
Kayıtlı Alet ve Öz-Sınama Havuzu (O-001 + Canlı) 243 alet: 174 geçti · 16 düştü · 53 öz-sınamasız · 3.129 sınama (101 sn) Canlı karne: 262 .py, 261 alet (site-alet-sozlesmesi = AKSAK) bot/olgular.json:O-001 · data/selftest_karne.jsonl · 2026-10-19
Enkidu Koşucu ve Kütük Envanteri (O-005 / O-006) 21 görev · 24 sa 62 OK (61–62) · 0 ölçülemedi · 2.017 kütük · 354 envanter 190 zamanlayıcı · 35 koşan birim · 81 arşiv adayı · 16 okuyansız kütük bot/olgular.json:87-125 · 2026-10-18
Emir ve DOGRULA Kapı Disiplini (O-003 + Canlı) O-003 (18 Eki): 29 emir / 0 kapısız · Canlı (19 Eki): 17/21 (%81,0) DOGRULA'lı, 4 kapısız emir Reaper canlı durum: site-dogrula-kapisi = AKSAK (4 kapısız emir tespit edildi) bot/olgular.json:O-003 · reaper_denetci.py --dogrula-orani · 2026-10-19
Tetikleme ve Görev Kilidi Mekanizması launchd WatchPaths (com.ustakil.pano_izle) · 0 polling pano_izle_daemon.py --tek-tur · task_bus_yaz.py:177 idempotent ENGEL (selftest 9/9) com.ustakil.pano_izle.plist · kosucu/task_bus_yaz.py:177 · 2026-10-19
BENLİK-1013 Ajan Direnç Deneyi (O-007) n = 162 deneme · 18 hüküm · 16/18 (%88,9) gerçek kanıtla güncelleme Otoriteye boyun eğme: 0/18 · Sahte kanıta aldanma: 0/18 (Δskor = 0,0000, 54/54 aynı karar) bot/olgular.json:127-147 · 2026-10-14

6. Sık Sorulan Sorular (SSS)

Çok ajanlı sistemlerde neden veritabanı yerine JSONL (task_bus.jsonl) tercih edildi?

JSON Lines (task_bus.jsonl) biçimi, harici bir veritabanı sunucusu bağımlılığı olmadan atomik satır ekleme (append-only), git/diff araçlarıyla doğrudan denetlenebilme ve POSIX dosya sistemi olaylarıyla (WatchPaths) sıfır gecikmeli tetikleme avantajı sağlar. Canlı sistemde 2.344 olay satırı (11:46 kesitinde 2.249, ilk kesitte 1.630) sıfır üzerine yazma ile işlenmiştir.

Sıfır yoklama (zero-polling) ajan eşgüdümünde nasıl çalışır?

Ajanlar ortak kuyruğu periyodik olarak taramaz. macOS launchd WatchPaths servisi (com.ustakil.pano_izle), task_bus.jsonl dosyasına yeni bir satır eklendiği anda pano_izle_daemon.py --tek-tur ile yalnızca hedef ajanın gelen kutusuna bir görev zarfı düşürür ve başsız koşucuyu (agy_atim.sh veya vezir_atim.sh) uyandırır. İş yokken tüketilen jeton ve işlemci gücü sıfırdır.

İki paralel ajanın aynı görevi mükerrer çalıştırması nasıl engellenir?

Görevi devralan koşucu işe başlamadan önce panoya <ID>-ISLENIYOR satırı yazar ve tamamlandığında kanit_yolu ile birlikte <ID>-YANIT satırını mühürler. kosucu/task_bus_yaz.py:177 aynı kimliğe ikinci bir kayıt yazılmasını ENGEL ile reddederek idempotent çalışmayı garanti altına alır (selftest 9/9 OK).

Ajanlar arası iletişimde Beyan Yasası neyi öngörür ve canlı uyum oranı nedir?

Mimari kural olarak panoya yazılan her iddianın ilk satırı BEYAN: başlığıyla başlamalı ve düşer testini belirtmelidir; ancak task_bus_yaz.py betiğinde henüz mekanik bir BEYAN red kapısı yoktur. 19 Ekim 2026 Reaper ölçümünde (reaper_denetci.py --beyan-orani) canlı pano satırlarının %72,3'ü (422/584; hedef eşik ≥%80, durum: İDDİA) BEYAN: taşımaktadır. Emir kapısında ise O-003 (18 Ekim) kesitinde 29 emirde 0 kapısız geçiş varken, 19 Ekim canlı ölçümünde 21 emrin 17'sinde (%81,0) DOGRULA kapısı bulunmuş, 4 emir kapısız kalmıştır (AKSAK).

Kaynaklar

Bu sayfadaki mimari ve deneysel ölçümlerin dayandığı birincil teknik belgeler ve hakemli yayınlar:

İlgili Teknik İncelemeler: Pano üzerindeki çıktıların bağımsız denetimi için Reaper denetçi vitrini, bağlam-kör hakem ve düşer testi, QAJAN 6 mekanik hipotez kapısı, ajan benliği dondurma protokolü ve otonomi genel görünümü sayfalarını okuyabilirsiniz.