• कंटेनरों के अंदर एक साथ चलने वाले LLM-आधारित agents को local machine और remote cluster में प्रबंधित करने के लिए डिज़ाइन किया गया एक प्रयोगात्मक platform
  • हर agent स्वतंत्र identity, credentials, workspace के साथ एक isolated process के रूप में काम करता है और coding, audit, testing जैसे विभिन्न लक्ष्यों को dynamic और parallel तरीके से आगे बढ़ाता है
  • इसे "agents के लिए hypervisor" के रूप में परिभाषित किया गया है, और behavior rules को context में inject करने के बजाय container, git worktree, और network policy के ज़रिए बाहर से isolation देने की philosophy अपनाई गई है
  • Gemini CLI, Claude Code, OpenCode, Codex जैसे प्रमुख agents को harness adapter के जरिए integrate करता है, और Docker, Podman, Apple Container, Kubernetes को runtime के रूप में support करता है
  • agent lifecycle (Phase), वर्तमान behavior (Activity), और विस्तृत state (Detail) को 3-dimensional state model से track करता है, और collaboration scenarios को demo game codebase के साथ दिखाता है

Scion क्या है?

  • एक प्रयोगात्मक orchestration testbed जो कंटेनरों में एक साथ चलने वाले LLM-आधारित agent समूहों को local machine, remote VM, और Kubernetes cluster में प्रबंधित करता है
  • हर agent को स्वतंत्र identity, credentials, और workspace देकर research, coding, audit, testing जैसे अलग-अलग लक्ष्यों को dynamic रूप से विकसित होने वाले parallel task graph के रूप में चलाता है
  • Google, Scion को "agents के लिए hypervisor" के रूप में परिभाषित करता है, जो agent memory, chat room, और task management को स्वतंत्र (orthogonal) concerns के रूप में एकीकृत करता है

मुख्य design philosophy: constraints से ज़्यादा isolation

  • agent behavior को rules से सीमित करने के बजाय, container, git worktree, network policy जैसी infrastructure-level boundaries के ज़रिए safety सुनिश्चित की जाती है
  • agents --yolo mode में स्वतंत्र रूप से चल सकते हैं, लेकिन isolation layer बाहर से guardrail का काम करती है
  • इस तरीके से agent context में जटिल rules inject करने की ज़रूरत नहीं पड़ती, इसलिए agent सिर्फ अपने task पर ध्यान केंद्रित कर सकता है

मुख्य concepts (शब्दावली)

Scion अपनी अलग terminology का उपयोग करता है, इसलिए नीचे दिए गए concepts को पहले समझना ज़रूरी है

  • Agent: LLM + Harness loop चलाने वाला isolated process. यह Scion की मूल execution unit है और इसके पास स्वतंत्र identity, credentials, और workspace होते हैं
  • Grove: वह project workspace जिसमें agents मौजूद होते हैं. यह file system की .scion directory से मेल खाता है और git repository root या user home folder में हो सकता है
    • git-आधारित Grove में UUID v5 (repository URL से deterministically generated), जबकि Hub-native Grove में UUID v4 उपयोग होता है
  • Hub: hosted Scion architecture का central control plane. यह user, Grove, और runtime broker के बीच state को coordinate करने वाला "brain" है
    • OAuth-आधारित identity और authentication management, agent/Grove/template state को central DB में store करना, lifecycle commands dispatch करना, और Web Dashboard के ज़रिए collaboration view देना
  • Profile: किसी खास runtime और Harness configuration को जोड़कर परिभाषित किया गया execution environment specification. "Local Docker", "Production Kubernetes" जैसे environments के बीच switch करते समय template बदले बिना सिर्फ Profile बदलना होता है
  • Harness: Gemini CLI, Claude Code, Codex जैसे किसी विशेष LLM tool को Scion ecosystem में integrate करने वाला adapter. यह start, stop, attach, resume जैसे सामान्य Scion commands को किसी भी agent पर एकसमान तरीके से चलने देता है
  • Template: agent creation का blueprint. यह default settings, system prompt, और tools को define करता है और .scion/templates/ में store होता है
    • built-in templates (gemini, claude, opencode, codex) के अलावा "security auditor", "React expert" जैसी custom role templates भी बनाई जा सकती हैं
  • Runtime: वह infrastructure layer जो agent containers को चलाती है. Docker, Podman, Apple Container, Kubernetes को support करती है
  • Runtime Broker: Hub में register होकर execution capacity देने वाला computing node (server, laptop, K8s cluster). यह agent lifecycle management, workspace sync, और log streaming संभालता है

architecture: Manager-Worker structure

  • scion CLI: host side पर agent lifecycle को orchestrate करने वाला tool. यह Grove (project workspace) management और template management (scion templates) प्रदान करता है
  • Agents: Docker जैसे isolated runtime containers के अंदर Gemini CLI, Claude Code, Codex जैसे agent software चलाते हैं
  • बुनियादी usage flow:
    1. scion init — project root में .scion directory बनाता है
    2. scion start <agent-name> "<task>" — agent शुरू करता है
    3. scion attach <agent-name> — agent session से interactive तरीके से जुड़ता है, या scion logs से output देखता है
    4. scion resume <agent-name> — रुके हुए agent को state सुरक्षित रखते हुए फिर से शुरू करता है

workspace strategy: git isolation approach

हर agent को स्वतंत्र git workspace देने के दो तरीके हैं

  • local mode — Git Worktrees: Hub के बिना चलाने पर उपयोग
    • ../.scion_worktrees/<grove>/<agent> path पर dedicated branch के साथ worktree बनती है
    • इसे container के अंदर /workspace पर mount किया जाता है, जिससे वही repository history shared रहती है लेकिन working directory स्वतंत्र रहती है
    • काम पूरा होने के बाद git merge <agent-branch> से manual merge किया जाता है
  • Hub mode — Git Init + Fetch: Hub उपयोग करने पर लागू
    • broker, SCION_GIT_CLONE_URL, SCION_GIT_BRANCH, GITHUB_TOKEN को container में inject करता है
    • container के अंदर sciontool init workspace initialize करता है, HTTPS से repository fetch करता है, और फिर scion/<agent-name> branch checkout करता है
    • host के SSH credentials की ज़रूरत नहीं, लेकिन GITHUB_TOKEN चाहिए
    • यह repository के हर broker machine पर local मौजूद होने या न होने से अलग consistent behavior सुनिश्चित करता है

resource isolation mechanisms

  • filesystem: हर agent के लिए dedicated home directory को container में mount किया जाता है
  • Shadow Mounts (tmpfs): .scion configuration data या दूसरे agents के workspace तक पहुंच रोकने के लिए tmpfs shadow mount का उपयोग
  • credentials: gcloud authentication जैसे sensitive credentials को read-only mount या environment variable injection के ज़रिए सिर्फ संबंधित agent तक सीमित exposure दिया जाता है
  • Grove data externalization: non-git Grove data और agent home directories को externalize किया जाता है, ताकि कोई agent workspace से दूसरे agents के data तक traverse न कर सके

agent state model (3-dimensional)

agent state को तीन dimensions में track किया जाता है ताकि infrastructure events और agent की perceived state को अलग किया जा सके

  • Phase (lifecycle stage): createdprovisioningcloningstartingrunningstoppingstopped (या error)
  • Activity (running के दौरान agent behavior): idle, thinking, executing, waiting_for_input, blocked, completed, limits_exceeded, offline
    • completed, blocked, limits_exceeded "sticky" states हैं, जो agent के explicitly restart या stop होने तक बने रहते हैं
    • blocked agent खुद set करता है, यह दिखाने के लिए कि वह किसी child agent के पूरा होने का इंतज़ार कर रहा है, ताकि system इसे गलती से error न समझे
    • offline तब होता है जब एक निश्चित समय तक agent heartbeat detect नहीं होती, जिसका कारण authentication token refresh failure हो सकता है
  • Detail: वर्तमान Activity का अतिरिक्त context (tool name, message, task summary आदि free-form)

plugin system

  • hashicorp/go-plugin आधारित plugin architecture से system को extend किया जा सकता है, और gRPC communication का उपयोग होता है
  • message broker plugin: agent notifications और structured messaging के लिए custom message delivery backend प्रदान करता है
  • agent harness plugin: core codebase बदले बिना नए LLM tools को Scion में integrate करने के लिए custom harness implement किया जा सकता है
  • यह अभी शुरुआती चरण (foundational stage) में है, और दोनों plugin types के लिए reference implementations उपलब्ध हैं

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.