İçeriğe geç
Kimene

Kendi sunucunda çalışan kontrol düzlemi

Yapay zekâ iş gücün. Tek rota, tek karar, tek kayıt.

Havuzları sen tutarsın: hesaplar, modeller, sunucular, projeler, roller. İşi hangisinin yürüteceğine Kimene karar verir, kararı gerekçesiyle yazar ve işi gerçek makinelerde gerçek CLI’larla çalıştırır.

Havuzlar

Hiçbir varlık bir diğerinin sahibi değildir.

Projeye sabitlenmiş hesap yok, hesaba sabitlenmiş model yok. Eşleşme yürütme anında olur, o tek koşu için geçerli bir rota olarak yazılır ve iş bitince çözülür.

accountmodelhostprojectrolebirinci koşu · 01JQ8F3K2M · claude-ops-1 @ srv-ist-1ikinci koşu · 01JQ8G0T7Q · codex-ops-1 @ srv-fra-1
Beş havuz, aralarında kalıcı bir bağ olmadan yan yana. Aynı projenin iki görevi iki farklı hesaba yönleniyor ve her biri kendi yürütme kaydını yazıyor.

Bir proje tercih, izin ve rota kipi söyler. Yönlendirici bunları canlı kapasite, sağlık ve geçmişle birleştirir. Ortaya çıkan bağ yapılandırma değil, kayıttır.

Kimene kendi kotasını icat etmez.

Sağlayıcı kapasitesi, eşzamanlılık politikası, kaynak kiralaması ve öncelik dört ayrı şeydir. Birbirine karıştırılan bu dördü, “kota” diye tek kelimeye sıkıştırıldığında operatör hangi sınıra çarptığını bir daha asla bilemez.

kanıtgo test ./internal/domain — alanda hiçbir kota alanı yok

Karar kaydı

“Yapay zekâ öyle seçti” bir açıklama değildir.

Önce sert uygunluk elemesi, sonra ağırlıklı puanlama. Seçilen aday kadar elenenler de gerekçeleriyle birlikte değiştirilemez bir karara yazılır.

Rota kararı 01JQ8F3K2Mgerçek

bileşenler

Neden bu hesap?ağırlık
verified_model0.25
provider_capacity0.25
capability_match0.20
session_continuity0.15
host_repository_locality0.10
user_preference0.05

cezalar

rate_limit_proximity0.12
unknown_capacity0.08
stale_auth0.05
model_lifecycle0.05

toplam0.860.08 = 0.78

seçilen

  • claude-ops-1srv-ist-10.78
  • claude-ops-2srv-fra-10.64
  • codex-ops-1srv-ist-10.61
  • claude-ops-2srv-ist-10.55
  • codex-researchsrv-fra-10.41

elenen

  • claude-ops-2ACCOUNT_AT_CONCURRENCY_LIMITeşzamanlılık sınırında
  • codex-researchPROVIDER_CLI_NOT_INSTALLEDCLI kurulu değil
  • llm-yerelMODEL_UNAVAILABLE_FOR_ACCOUNTmodel bu hesapta yok
  • claude-ops-1REPOSITORY_NOT_AVAILABLE_ON_HOSTrepo host’ta yok
  • claude-arsivACCOUNT_DISABLEDhesap kapalı
  • codex-ops-1HOST_OFFLINEhost çevrimdışı
  • llm-yerelACCOUNT_NOT_REACHABLE_FROM_HOSTbu host’tan erişilemez
Bir yönlendirme kaydı: altı puan bileşeni, dört ceza, toplam, ve gerekçeleriyle elenmiş yedi aday.

Kayıt; seçilen rotayı, değerlendirilen ve elenen adayları, her eleme gerekçesini, puanın her bileşenini, danışılan kapasite anlık görüntülerini ve varsa operatörün geçersiz kılmasını taşır.

toplam = Σ bileşen − Σ ceza. Üçüncü bir yol yok.

Rota simülatörü aynı puanlamayı varsayımsal girdilerle yeniden oynatır: kira almadan, oturum başlatmadan. “Şu sunucu düşseydi ne olurdu” sorusunun cevabı tahmin değil, hesaptır.

kanıtgo test ./internal/routing — kendini açıklayamayan bir kararı reddeder

Yürütme

İş, gerçek makinelerde, gerçek CLI’larda çalışır.

Kontrol düzlemi hiçbir sağlayıcı CLI’ına doğrudan konuşmaz. Her oturum, o makinede yaşayan düğüm ajanının başlattığı bir tmux oturumunun içindedir.

kimene-01JQ8F3K2Mcanlı
$ claude --model opus-5
· atlas-web/src/api/routes.ts okunuyor
· 3 test yazıldı, 2’si kırmızı
→ pnpm test src/api
✓ 41 passed ✗ 2 failed
· hatanın yeri bulundu: routes.ts:118
kimene-01JQ8F3K7Pbekliyor
$ codex exec --sandbox workspace-write
· mercury-api/migrations gözden geçirildi
 
@kimene_waiting onay bekliyor
şema değişikliği için insan imzası gerekiyor
kimene-01JQ8F2X40bitti
$ claude --model sonnet-5
· kepler-veri/etl/load.py düzeltildi
→ pytest -q
118 passed in 6.42s
@kimene_done tamamlandı
tarayıcı kapandı
sunucu yeniden başladı
SSH düştü
Tarayıcıyı kapat. Sunucuyu dağıt. SSH’ı düşür. Oturum ayakta.
Üç terminal döşemesi: biri yazıyor, biri girdi bekliyor, biri bitmiş. Altlarında kesintisiz bir oturum çizgisi, üzerinde üç kesinti işareti.

Bu dolaylılık, tarayıcı yenilemesini, sunucu dağıtımını ve kopan bir SSH bağlantısını süren işe zararsız kılan şeydir.

Yeniden bağlandığında ekran baştan çizilmez; bıraktığın imleçten devam eder. Gönderdiğin her tuş tam olarak bir kez uygulanır — ne yutulur, ne iki kez yazılır.

kanıtmake test-live-terminal — çalışan bir döngü, yöneticisi tamamen kapatılınca da yaşıyor

Kanıt

“Bitti” ajanın söylediği şey değildir.

Tamamlandı durumuna yalnızca inceleme ya da onay bekliyor üzerinden geçilir; bunu tek bir geçiş tablosu zorlar. API’de bir görev durumunu doğrudan yazacak hiçbir yol yoktur.

Kanıt sözleşmesi
  • diffsha256:0f0f7c21değiştirilemez
  • test118 passed · 0 faileddeğiştirilemez
  • buildsha256:0f0fa93edeğiştirilemez
  • lintkomut tanımlı değil
REVIEWINGCOMPLETEDgeçiş kapalı
Dört kanıt kartı: fark, test ve derleme onaylı; lint kartı, komutu tanımlı olmadığı için eksik. Tamamlanma geçişi kapalı duruyor.

Her görev türü kendi kanıt sözleşmesini taşır. Bir kod görevi fark, test, lint ve derleme raporu ile bir inceleyici kararı ister; bir araştırma görevi erişim tarihli kaynaklar ister.

Kimene senin adına test komutu icat etmez.

Tanımlamadığın kapı kapalı kalır ve neden kapalı olduğunu söyler. Her rapor onu üreten komutu taşır; artefaktlar değiştirilemez, içerik adresli ve özetiyle doğrulanır.

kanıtgo test ./internal/domain ./internal/artifact — tamamlandı yalnızca inceleme ya da onay üzerinden erişilebilir

Onay

İnsanın imzalaması gereken şeyi insan imzalar.

Risk seviyesi koddan gelir, istemden değil. Yüksek riskli işler bir kişiye gider ve operatör isterse bu onay ikinci faktör ister.

mercury-api · migrations/0042_add_index.sqlhigh risk
rule
schema_change_requires_human
touches
mercury-api · 1 table · 0 rows destroyed
on refusal
task → BLOCKED · session parked at boundary
requested by
01JQ8F3K7P · codex-ops-1
OnaylaReddet
Gözetimsizken şef yalnızca frenler.

Kimse izlemiyorken uygulanabilecek eylemler işi durduranlar ve bir kişiyi çağıranlardır. İş başlatan ya da abonelik harcayan hiçbir eylem, bir insan olmadan uygulanmaz.

gözetimsiz uygulanabilir

  • pause_mission
  • stop_session
  • raise_alert
  • request_human

bir kişiyi bekler

  • start_session
  • route_task
  • approve_task
  • switch_account
  • merge_branch
Bir onay kartı ve yanında altı haneli ikinci faktör alanı; altında gözetimsiz uygulanabilen ve bir kişiyi bekleyen eylemlerin listesi.

Onay kartı ne istendiğini, hangi kuralın tetiklendiğini, hangi kaynakların etkileneceğini ve reddedilirse ne olacağını söyler. Karar, kim verdiğiyle birlikte kaydedilir.

kanıtgo test ./internal/approval — kendi işini onaylamak yapısal olarak imkânsız

Süreklilik

Geç kalmış bir tutucu, etki uygulayamaz.

Her kiralama artan bir çit jetonu taşır. Korunan kaynak gördüğü en yüksek jetonu saklar ve daha düşüğünü reddeder.

  1. fence=17srv-ist-1granted
  2. fence=17srv-ist-1renewed
  3. fence=17srv-ist-1expired
  4. fence=18srv-fra-1granted
  5. fence=17srv-ist-1refusedreddedildi · 17 < 18

Geçiş yalnızca güvenli sınırda olur.

Tur bitti, kontrol noktası yazıldı, insan bekleniyor ya da doğrulanmış bir hız sınırı. Araç çağrısının, yazmanın, göçün ya da dağıtımın ortasında asla.

  • TURN_COMPLETED
  • CHECKPOINT_CREATED
  • TASK_STEP_COMPLETED
  • WAITING_FOR_HUMAN
  • RATE_LIMIT_CONFIRMED
  • AUTH_FAILURE_CONFIRMED
  • MODEL_UNAVAILABLE_CONFIRMED
  • RECOVERABLE_SESSION_FAILURE
  • araç çağrısının ortasında
  • dosya yazmanın ortasında
  • göçün ortasında
  • dağıtımın ortasında
  • yapıştırmanın ortasında
Bir zaman çizelgesi: kirayı 17 jetonuyla alan tutucu duraklıyor, kira düşüyor, ikinci tutucu 18 ile yazıyor, ve ilkinin geç kalmış yazması reddediliyor.

Kiralar veri kaybedebileceği açıkça kabul edilen bir yerde yaşıyor. Bu ikilinin güvenli olmasının tek sebebi çit: Kimene tek bir önbelleğin veremeyeceği bir garantiyi iddia etmez, daha zayıf ve doğru olanı iddia eder.

Geçici olan, kalıcı değildir.

İki saniyelik bir kesinti sağlayıcı arızası sayılmaz; yerinde yeniden denenir. Yalnızca tiplenmiş ve doğrulanmış bir hız sınırı, kimlik hatası ya da erişilemeyen sunucu rotayı değiştirir.

kanıtmake test-integration-live — 32 yönlü çekişmede tam olarak bir kazanan; ölü tutucunun yenilemesi reddedilir

Filo

Ölçülmedi, sıfır değildir.

Ölçülmemiş kapasitenin kendi rengi ve kendi deseni var. Kimene onu asla bir sayı gibi çizmez, çünkü boş bir bar ile sıfır bir bar aynı görünüp zıt şeyler söyler.

srv-ist-1online
İşlemci29%
Bellek52%
Disk19%
GPU40%
srv-ist-2online
İşlemci12%
Bellek31%
Disk44%
GPU8%
srv-fra-1geride
İşlemci71%
Bellek66%
Disk23%
GPU55%
nuc-labonline
İşlemci22%
Bellek40%
Disk31%
GPUölçülmedi

Bağımlılık düştüğünde ne olacağı yazılı.

Bu tablonun hiçbir satırında “eski veriyi taze gibi göster” yazmaz.

mongodbYazma durur; okuma taze gibi önbellekten sunulmaz; açıkça erişilemez durumu verilir.
rabbitmqArayüz ve durum okunabilir; yeni eşzamansız iş yerel giden kutusunda birikir; sağlık bozulmuş görünür.
redisDağıtık işlemler kısıtlanır; kritik kiralar kapalı düşer; açık uyarı verilir.
mqttDüğüm kalp atışı kontrol düzlemi WebSocket’ine geri düşer; telemetri bozulmuş etiketlenir.
Dört sunucu satırı; üçünün ölçerleri dolu, birinin GPU ölçeri taralı ve “ölçülmedi” yazıyor.

Aynı ret puanlamada da geçerli: bilinmeyen kapasite iyimser bir 1,0 değildir. Kayıt, ölçüm ve tahmin birbirinden ayrı tutulur.

kanıtgo test ./internal/domain — kapasite bir işaretçi; bilinmiyor temsil edilebilir ve sıfır gibi okunamaz

Güvenlik

Kontrol düzlemi hiçbir kimlik bilgisi tutmaz.

Kimlikler, sahibi olan makinede kalır; veritabanı yalnızca yolu ve referansı bilir. Veritabanını ele geçirmek hiçbir sağlayıcı kimliği vermez.

browserkimene-serversrv-ist-1CLAUDE_CONFIG_DIRKimlik bilgisi sahibi makinede kalırwssmTLStoken=sk-ant-…token=[REDACTED]
  • Kayıt sonrası her bayt karşılıklı TLS ile
  • Redaksiyon atlatılamaz
  • Tarayıcı hiçbir sunucuya doğrudan bağlanmaz
Üç bölge: tarayıcı, kontrol düzlemi ve sunucu. Kimlik bilgisi sunucunun içinden çıkmıyor; sınırı geçen bir günlük satırının gizli kısmı geçerken siliniyor.

Sağlayıcı yalıtımı işlem ortamı üzerinden yapılır, komut satırı üzerinden değil: süreç listesi herkese açıktır, ortam değildir. Düğümler tek kullanımlık bir kayıt jetonundan sonra karşılıklı TLS ile konuşur.

İç ağda olmak bir güvenlik önlemi değildir.

Redaksiyon çağrı yerinde değil, günlük işleyicisinin içindedir — unutulabileceği bir yerde durmaz. Terminal çıktısı hiçbir zaman ham HTML olarak basılmaz ve tarayıcı hiçbir makineye doğrudan bağlanmaz.

kanıtgo test ./internal/security/redact — redaksiyon günlük işleyicisinde

Kurulum

Dört bağımlılık, dört binary, bir doctor.

Ubuntu, Go ve Node. Veritabanı, kuyruk, önbellek ve bir mesaj aracısı. doctor hepsini hiçbir şeyi bozmadan doğrular ve hangi kipte çalıştığını söyler.

$ make doctor
!mongodbmongodb://127.0.0.1:27017/kimene
connect+ping4ms
server info2ms
!transactions1ms
timeseries collections6ms
write/read/delete probe9ms
index creation12ms
rabbitmqamqp://127.0.0.1:5672/
connect7ms
publisher confirms11ms
quorum queues24ms
stream queues18ms
publish/consume/ack roundtrip15ms
redisredis://127.0.0.1:6379/0
connect+ping1ms
set/get/delete with TTL2ms
lease acquire/renew/release (Lua CAS)3ms
mqttmqtts://127.0.0.1:8883
connect8ms
subscribe/publish QoS 1 roundtrip13ms
retained message set and clear10ms
kimene-serverkimene-workerkimene-nodekimene

İlk kurulumda bir adım seni bekler: bir hesap ile model eşleşmesi doğrulanana kadar hiçbir çift yönlendirilebilir değildir. Bu, doğrulanmamış bir eşleşmeye iş göndermemek için bilerek böyledir.

Bilinen eksikler.

Her belgede bir “bilinen eksikler” bölümü var. Dürüst kısım orası; bir yeteneğe güvenmeden önce onu oku.

  • Zamanlanmış yedek yok — komutlar var, onları çalıştıran bir zamanlayıcı yok.
  • Tek komutla düğüm kurulumu yok; ikili elle kopyalanıp kaydediliyor.
  • Sunucu kurulum betiği TLS ve ters vekil için hiçbir şey yapmıyor; ikisi de elle.
  • Saklama politikası tohumlanıyor ama hiçbir şey onu uygulamıyor.
  • Geçici bir hatayla düşen işleyici yeniden denenmiyor, ölü mektuba gidiyor.
  • Terminal katmanı henüz canlı bir tmux’a karşı çalıştırılmadı.

Kurtarma yordamı çalışma kipine göre değişir, o yüzden doctor kipi de söyler. Konteyner yok, orkestratör yok, çalıştırmadan önce her hedefe kurulması gereken bir çalışma zamanı yok.

kanıtmake doctor — dört bağımlılığı da tahribatsız doğrular

Kendi sunucunda, kendi hesaplarınla.

Kimene senin altyapında çalışır ve senin sağlayıcı hesaplarını yönetir. Kimlik bilgisi paylaşan bir servis değildir, çok kiracılı bir vekil değildir, sağlayıcı sınırlarını dolaşmanın bir yolu değildir.