10 puan yazan GN⁺ 23 일 전 | 1 yorum | WhatsApp'ta paylaş
  • Konteyner içinde aynı anda çalışan LLM tabanlı ajanları yerel makine ve uzak kümeler genelinde yönetmek için tasarlanmış deneysel bir platform
  • Her ajan, bağımsız kimlik, kimlik bilgileri ve çalışma alanına sahip yalıtılmış bir süreç olarak çalışır; kodlama, denetim, test gibi farklı hedefleri dinamik ve paralel biçimde yürütür
  • "Ajanlar için bir hypervisor" olarak tanımlanır ve davranış kurallarını bağlama enjekte etmek yerine konteyner, git worktree ve ağ politikalarıyla dışarıdan yalıtma felsefesini benimser
  • Gemini CLI, Claude Code, OpenCode, Codex gibi başlıca ajanları harness adaptörleriyle entegre eder; çalışma zamanı olarak Docker, Podman, Apple Container ve Kubernetes'i destekler
  • Ajan yaşam döngüsünü (Phase), mevcut davranışı (Activity) ve ayrıntılı durumu (Detail) 3 boyutlu durum modeliyle izler; iş birliği senaryolarını demo oyun kod tabanı üzerinde gösterir

Scion nedir?

  • Konteynerlerde aynı anda çalışan LLM tabanlı ajan gruplarını yerel makineler, uzak VM'ler ve Kubernetes kümeleri genelinde yöneten deneysel bir orkestrasyon test ortamı
  • Her ajana bağımsız kimlik, kimlik bilgileri ve çalışma alanı vererek; araştırma, kodlama, denetim, test gibi farklı hedefleri dinamik olarak evrilen paralel görev grafiği şeklinde yürütür
  • Google, Scion'u "ajanlar için bir hypervisor" olarak tanımlar ve ajan belleği, sohbet odaları ve görev yönetimini birbirinden bağımsız (orthogonal) ilgi alanları olarak bir araya getirir

Temel tasarım felsefesi: kısıtlama yerine yalıtım

  • Ajan davranışını kurallarla sınırlamak yerine, konteyner, git worktree ve ağ politikaları gibi altyapı düzeyindeki sınırlarla güvenlik sağlar
  • Ajanlar --yolo modunda serbestçe çalışırken, yalıtım katmanı dışarıdan güvenlik korkuluklarını üstlenir
  • Bu yaklaşım sayesinde ajan bağlamına karmaşık kurallar enjekte etmeye gerek kalmaz; ajanlar yalnızca kendi görevlerine odaklanabilir

Temel kavramlar (terim sözlüğü)

Scion kendine özgü bir terim sistemi kullandığından, önce aşağıdaki kavramları anlamak gerekir

  • Agent: LLM + Harness döngüsünü çalıştıran yalıtılmış süreç. Scion'un temel yürütme birimidir ve bağımsız kimlik, kimlik bilgileri ve çalışma alanına sahiptir
  • Grove: Ajanların bulunduğu proje çalışma alanı. Dosya sistemindeki .scion dizinine karşılık gelir ve git depo kökünde ya da kullanıcının ana klasöründe bulunabilir
    • git tabanlı Grove, UUID v5 (depo URL'sinden deterministik olarak üretilir), Hub yerel Grove ise UUID v4 kullanır
  • Hub: Barındırılan Scion mimarisinin merkezi kontrol düzlemi. Kullanıcılar, Grove'lar ve çalışma zamanı broker'ları arasındaki durumu koordine eden "beyin" işlevi görür
    • OAuth tabanlı kimlik ve kimlik doğrulama yönetimi, ajan/Grove/şablon durumlarının merkezi veritabanında saklanması, yaşam döngüsü komutlarının dağıtımı, Web Dashboard üzerinden iş birliği görünümü sunma
  • Profile: Belirli bir çalışma zamanı ve Harness ayarlarını birlikte tanımlayan çalıştırma ortamı belirtimi. "Local Docker", "Production Kubernetes" gibi ortamlar arasında geçişte şablonu değiştirmeden yalnızca Profile değiştirilir
  • Harness: Gemini CLI, Claude Code, Codex gibi belirli LLM araçlarını Scion ekosistemine entegre eden adaptör. start, stop, attach, resume gibi genel Scion komutlarının her ajanda tutarlı çalışmasını sağlar
  • Template: Ajan oluşturmanın planı. Varsayılan ayarları, sistem prompt'unu ve araçları tanımlar; .scion/templates/ içinde saklanır
    • Hazır gelen şablonların (gemini, claude, opencode, codex) yanı sıra "güvenlik denetçisi", "React uzmanı" gibi özel rol şablonları oluşturulabilir
  • Runtime: Ajan konteynerlerini çalıştıran altyapı katmanı. Docker, Podman, Apple Container ve Kubernetes'i destekler
  • Runtime Broker: Hub'a kaydolup çalıştırma kapasitesi sağlayan hesaplama düğümü (sunucu, dizüstü bilgisayar, K8s kümesi). Ajan yaşam döngüsü yönetimi, çalışma alanı senkronizasyonu ve log akışından sorumludur

Mimari: Manager-Worker yapısı

  • scion CLI: Host tarafında ajan yaşam döngüsünü orkestre eden araç. Grove (proje çalışma alanı) yönetimi ve şablon yönetimi (scion templates) sunar
  • Agents: Docker gibi yalıtılmış çalışma zamanı konteynerleri içinde Gemini CLI, Claude Code, Codex gibi ajan yazılımlarını çalıştırır
  • Temel kullanım akışı:
    1. scion init — proje kökünde .scion dizinini oluşturur
    2. scion start <agent-name> "<task>" — ajanı başlatır
    3. scion attach <agent-name> — ajan oturumuna etkileşimli bağlanır veya scion logs ile çıktıyı kontrol eder
    4. scion resume <agent-name> — durdurulmuş ajanı durumu koruyarak yeniden başlatır

Çalışma alanı stratejisi: git yalıtım yöntemi

Her ajan için bağımsız git çalışma alanı sağlama yöntemi ikiye ayrılır

  • Yerel mod — Git Worktrees: Hub olmadan çalışırken kullanılır
    • ../.scion_worktrees/<grove>/<agent> yolunda, kendine ait branch'e sahip bir worktree oluşturulur
    • Konteyner içindeki /workspace dizinine mount edilir; böylece aynı depo geçmişini paylaşırken bağımsız bir çalışma dizinine sahip olur
    • İş tamamlandıktan sonra git merge <agent-branch> ile elle birleştirilir
  • Hub modu — Git Init + Fetch: Hub kullanılırken uygulanır
    • Broker, SCION_GIT_CLONE_URL, SCION_GIT_BRANCH, GITHUB_TOKEN değerlerini konteynere enjekte eder
    • Konteyner içinde sciontool init, çalışma alanını başlatır, depoyu HTTPS ile fetch eder ve ardından scion/<agent-name> branch'ini checkout eder
    • Host'un SSH kimlik bilgilerine gerek yoktur, GITHUB_TOKEN gerekir
    • Depo broker makinesinde yerel olarak bulunsun ya da bulunmasın, tüm broker makinelerinde tutarlı davranış sağlar

Kaynak yalıtım mekanizmaları

  • Dosya sistemi: Her ajana ait özel home dizini konteynere mount edilir
  • Shadow Mounts (tmpfs): .scion yapılandırma verilerine veya diğer ajanların çalışma alanlarına erişimi engellemek için tmpfs shadow mount kullanılır
  • Kimlik bilgileri: gcloud kimlik doğrulaması gibi hassas kimlik bilgileri salt okunur mount ya da ortam değişkeni enjeksiyonu ile yalnızca ilgili ajana sınırlı biçimde açılır
  • Grove verisinin dışsallaştırılması: git dışı Grove verileri ve ajan home dizinleri dışsallaştırılır; böylece ajanlar çalışma alanı üzerinden diğer ajanların verileri arasında gezemez (traverse)

Ajan durum modeli (3 boyutlu)

Ajan durumu, altyapı olayları ile ajanın bilişsel durumunu ayırmak için üç boyutta izlenir

  • Phase (yaşam döngüsü aşaması): createdprovisioningcloningstartingrunningstoppingstopped (veya error)
  • Activity (ajanın running sırasındaki davranışı): idle, thinking, executing, waiting_for_input, blocked, completed, limits_exceeded, offline
    • completed, blocked, limits_exceeded durumları "sticky" durumdur; ajan açıkça yeniden başlatılana veya durdurulana kadar korunur
    • blocked, ajanın kendisi tarafından ayarlanır; alt ajanların tamamlanmasını beklediğini göstererek sistemin bunu hata sanmasını önler
    • offline, belirli bir süre ajan heartbeat'i algılanmadığında oluşur; nedeni kimlik doğrulama token'ının yenilenememesi olabilir
  • Detail: Geçerli Activity'ye ilişkin ek bağlam (araç adı, mesaj, görev özeti gibi serbest biçimli bilgiler)

Eklenti sistemi

  • hashicorp/go-plugin tabanlı eklenti mimarisiyle sistem genişletilebilir, iletişim için gRPC kullanılır
  • Mesaj broker eklentisi: Ajan bildirimleri ve yapılandırılmış mesajlaşma için özel mesaj iletim arka ucu sağlar
  • Ajan harness eklentisi: Çekirdek kod tabanını değiştirmeden yeni LLM araçlarını Scion'a entegre eden özel harness'ler geliştirilebilir
  • Şu anda erken aşamada (foundational stage) olup, her iki eklenti türü için de referans uygulama sunulmaktadır

1 yorum

 
GN⁺ 23 일 전
Hacker News yorumları
  • Bu kez Scion'ı mutlaka denemek istiyorum
    Daha önce aynı türden Gastown'ı kullanmıştım; sonuçlar iyiydi ama dalgalanma büyüktü
    Gastown'la ilgili başlıca şikayetlerim şunlardı: (1) pahalı olması, (2) yalnızca Claude modellerini zorunlu kılması, (3) dahili veritabanını yedeklemenin veya uzaktan bağlanmanın zor olması, (4) yükseltmeler sırasında sık sık bağlam kaybı yaşanması
    Buna rağmen piyasadaki diğer araçlardan daha "büyülü" konuşma ve iş birliği sonuçları veriyordu

  • Google'ın yaklaşımı ilginç
    Ben Optio adlı bir Agent Orchestration platformu geliştirdim; Notion, Github Issues, Jira, Linear gibi bilet sistemleriyle entegre oluyor ve kod ajanlarının PR birleştirmeye kadar ilerlemesi için tasarlandı
    Scion'un uzun süre çalışan ajan ve container'lar arası iletişim desteği etkileyici
    Yine de ben bunu k8s üzerinde kurmuştum; Scion ise kendi control plane'ini yeniden uygulamaya çalışıyor gibi göründüğü için biraz şüpheliyim

  • "Kısıtlamadan ziyade izolasyon" felsefesi doğru yön gibi görünüyor
    Container'lar sınırlar sağlar ama içeride neyin çalıştığını göremezsiniz
    Scion'un ne kadar çalışma bağlamını görünür kıldığını merak ediyorum. Aksi halde LiteLLM saldırısında olduğu gibi, zararı ancak yürütmeden sonra fark ettiğiniz durumlar ortaya çıkabilir

    • Ben Scion'un ana geliştiricisiyim
      Birden fazla aşamada durum ve telemetry mevcut
      Temelde hook sistemi verileri topluyor ve OpenTelemetry destekleniyorsa bunları bulut toplayıcısına iletiyor
      Bazı etkinlikler ajan tarafından öz raporlama ile bildiriliyor ve bu bilgiler control plane'e yansıtılıyor
  • Kod, dokümantasyonun derinliklerine gömülmüştü
    GitHub deposunu bulmak zorunda kaldım

    • Evet, ben de mart sonunda yıldızlayıp unutmuştum; şimdi tekrar bakınca oldukça ilginç görünüyor
  • Yönü Gastown'a benziyor ama birkaç temel özellik eksik gibi duruyor
    Özellikle formula özelliği oyunun kurallarını değiştiren şeydi

    • Ben Scion'un ana geliştiricisiyim
      Eksik görünen özellikler kasıtlı tasarım tercihleri. Scion, Gastown'ın "gascity" dediği şeye daha yakın — kullanıcıların orkestrasyon karakterlerini ve tanımlarını kendilerinin getirdiği bir yapı
      Bu örneğe bakarsanız bunun basit bir Markdown tabanlı orkestrasyon olduğunu görebilirsiniz
      Scion bir oyun motoru görevi görüyor ve Gastown'ı Scion üzerine taşımaya yönelik çalışma sürüyor
  • Proje hâlâ erken deneysel aşamada, bu yüzden tedirgin edici
    Yerel mod kararlı ama Hub tabanlı iş akışı yaklaşık %80 doğrulanmış, Kubernetes runtime'ı ise kaba durumda deniyor
    Bu yüzden şu an için Gastown daha iyi bir seçenek olabilir gibi geliyor

    • Gastown'ın başka herhangi bir şeyden daha iyi olduğunu düşünmek bana zor geliyor
  • Başlığı görünce aklıma başka bir SCION (internet mimarisi) geldi
    Vikipedi maddesine bakabilirsiniz

  • Ajanlarla daha fazla deney yapmak istiyorum ama şirket yalnızca Claude Code için ödeme yapıyor
    Üstelik TOS gereği API'yi başka amaçlarla kullanmamak gerekiyor
    Benzer durumda olan başka biri var mı? Token bazlı ücretlendirme de hızla pahalılaşıyor

    • Bu temelde container içinde Claude Code çalıştırıyor, dolayısıyla TOS ihlali sayılmaz
  • Gerçekten harika! Ben de yakın zamanda benzer bir şey yaptım
    Parallax üzerinde biraz uğraştım ve ilgili notlarımı blogda topladım