Google, deneysel ajan orkestrasyonu test ortamı Scion'u açık kaynak olarak yayımladı
(googlecloudplatform.github.io)- 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
--yolomodunda 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
.sciondizinine 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,resumegibi 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
- Hazır gelen şablonların (
- 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ışı:
scion init— proje kökünde.sciondizinini oluştururscion start <agent-name> "<task>"— ajanı başlatırscion attach <agent-name>— ajan oturumuna etkileşimli bağlanır veyascion logsile çıktıyı kontrol ederscion 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
/workspacedizinine 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_TOKENdeğerlerini konteynere enjekte eder - Konteyner içinde
sciontool init, çalışma alanını başlatır, depoyu HTTPS ile fetch eder ve ardındanscion/<agent-name>branch'ini checkout eder - Host'un SSH kimlik bilgilerine gerek yoktur,
GITHUB_TOKENgerekir - Depo broker makinesinde yerel olarak bulunsun ya da bulunmasın, tüm broker makinelerinde tutarlı davranış sağlar
- Broker,
Kaynak yalıtım mekanizmaları
- Dosya sistemi: Her ajana ait özel home dizini konteynere mount edilir
- Shadow Mounts (tmpfs):
.scionyapı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:
gcloudkimlik 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ı):
created→provisioning→cloning→starting→running→stopping→stopped(veyaerror) - Activity (ajanın
runningsırasındaki davranışı):idle,thinking,executing,waiting_for_input,blocked,completed,limits_exceeded,offlinecompleted,blocked,limits_exceededdurumları "sticky" durumdur; ajan açıkça yeniden başlatılana veya durdurulana kadar korunurblocked, ajanın kendisi tarafından ayarlanır; alt ajanların tamamlanmasını beklediğini göstererek sistemin bunu hata sanmasını önleroffline, 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-plugintabanlı 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
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
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
Yönü Gastown'a benziyor ama birkaç temel özellik eksik gibi duruyor
Özellikle formula özelliği oyunun kurallarını değiştiren şeydi
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
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
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