ब्लॉग · गाइड · 29 अक्टूबर 2026
स्टैंडर्ड रजिस्ट्री से AEGIS एजेंट का रनटाइम चुनें
प्रकटीकरण: AEGIS को 100monkeys.ai बनाता है, इसलिए इस गाइड को बनाने वाले का विवरण मानकर पढ़ें। इसका मसौदा हमारे एक AI एजेंट ने सार्वजनिक AEGIS दस्तावेज़ों से तैयार किया, ख़ासकर Standard Runtime Registry, Management Tools की aegis.runtime.list प्रविष्टि और CLI Reference से, और कंपनी ने इसकी समीक्षा की; यह हिन्दी संस्करण मूल अंग्रेज़ी गाइड का अनुवाद है। नीचे की हर YAML पंक्ति, कॉल और कमांड उन्हीं पन्नों से कॉपी की गई है; इस गाइड के लिए कोई भी चलाई नहीं गई। उद्धरण अंग्रेज़ी में हैं, अनुवाद साथ में। जहाँ दस्तावेज़ कोई सवाल खुला छोड़ते हैं, आख़िरी हिस्सा यह बताता है।
AEGIS by 100monkeys.ai, in beta, हर एजेंट को एक कंटेनर में चलाता है। एजेंट मैनिफ़ेस्ट इमेज के बजाय एक भाषा और एक वर्ज़न बता सकता है, और इमेज ऑर्केस्ट्रेटर चुनता है। रजिस्ट्री पन्ना साफ़ कहता है: "Using StandardRuntime means you never specify a Docker image directly." (StandardRuntime का उपयोग करने का अर्थ है कि आप कभी सीधे Docker इमेज नहीं बताते)। यह गाइड एक रनटाइम चुनती है, डिप्लॉय से पहले उसे जाँचती है, और दिखाती है कि रन के समय क्या होता है।
कदम 1. जानें कि रजिस्ट्री क्या तय करती है
जब कोई मैनिफ़ेस्ट spec.runtime.language और spec.runtime.version देता है, तो ऑर्केस्ट्रेटर "resolves them to a deterministic, pinned Docker image at execution time." (एक्ज़ीक्यूशन के समय उन्हें एक निर्धारित, पिन की हुई Docker इमेज में बदल देता है)। यह मैपिंग runtime-registry.yaml में रहती है, जो ऑर्केस्ट्रेटर की रिपॉज़िटरी में कमिट है और डेमन शुरू होने पर लोड होती है। समीक्षा के लिए मुद्दा यह है कि एक ही जोड़ी बताने वाले दो एजेंट एक ही इमेज पर चलते हैं, और कोई भी मैनिफ़ेस्ट में इमेज टैग टाइप नहीं करता।
कदम 2. रजिस्ट्री से पूछें कि वह क्या स्वीकार करती है
जो एजेंट दूसरे एजेंटों के मैनिफ़ेस्ट लिखता है, या किसी क्लाइंट पर बैठा व्यक्ति, बिल्ट-इन टूल aegis.runtime.list को कॉल कर सकता है। बिना आर्ग्युमेंट के वह हर रनटाइम की सूची देता है; किसी भाषा के साथ वह छाँटता है:
{}
{ "language": "python" }
जवाब हर रनटाइम का language, version, image, description और एक deprecated फ़्लैग बताता है, साथ में custom_runtime_supported। रजिस्ट्री पन्ना इस टूल का कारण बताता है: यह "prevents hallucinated language-version combinations from being written into manifests." (मनगढ़ंत भाषा-वर्ज़न जोड़ियों को मैनिफ़ेस्ट में लिखे जाने से रोकता है)। यह aegis-system-agent-runtime सुरक्षा संदर्भ में "with no additional configuration" (बिना किसी अतिरिक्त कॉन्फ़िगरेशन के) उपलब्ध है।
कदम 3. एक समर्थित जोड़ी चुनें
रजिस्ट्री पन्ने की मैट्रिक्स, जैसी वह अभी है:
| भाषा | वर्ज़न | इमेज |
|---|---|---|
python | 3.11, 3.10; 3.9 अप्रचलित | python:3.x-slim, Debian 12 |
javascript | 20, 18 | node:20-alpine, node:18-alpine |
typescript | 5.1 | node:20-alpine |
go | 1.21, 1.20 | golang:1.x-alpine |
rust | 1.75, 1.74 | rust:1.x-alpine |
bash | 5 | python:3.11-slim, बूटस्ट्रैप के लिए python3 के साथ |
जो मैनिफ़ेस्ट अप्रचलित वर्ज़न बताते हैं वे "still execute but emit a warning in the execution log" (फिर भी चलते हैं, पर एक्ज़ीक्यूशन लॉग में चेतावनी देते हैं)। पन्ना python: "3.9" को अप्रचलित बताता है और 3.10 या 3.11 पर जाने को कहता है। हटाने की घोषणा "two phases in advance" (दो चरण पहले) होती है, और हटाया गया वर्ज़न वैलिडेशन में विफल होता है।
कदम 4. उसे मैनिफ़ेस्ट में लिखें
spec:
runtime:
language: "python" # Required (StandardRuntime)
version: "3.11" # Required (StandardRuntime)
isolation: "docker" # inherit | docker | firecracker
model: "default" # LLM model alias from aegis-config.yaml
"Specifying an unsupported language+version combination is rejected at execution validation time with a descriptive error. There is no fallback to a default version." (असमर्थित language+version जोड़ी बताने पर वह एक्ज़ीक्यूशन वैलिडेशन के समय एक स्पष्ट त्रुटि के साथ अस्वीकार होती है; किसी डिफ़ॉल्ट वर्ज़न पर वापसी नहीं होती)। आख़िरी वाक्य ही काम का है: कोई टाइपो चुपचाप किसी दूसरे इंटरप्रेटर पर नहीं चलता।
कदम 5. पहले वैलिडेट करें, फिर डिप्लॉय
aegis agent deploy ./agent.yaml --validate-only
aegis agent deploy ./agent.yaml
--validate-only बिना डिप्लॉय किए पार्स और वैलिडेट करता है। एक ही नाम और वर्ज़न को दो बार डिप्लॉय करना विफल होता है, जब तक आप --force न जोड़ें।
कदम 6. एजेंट को जो चाहिए वह इंस्टॉल करें, या कस्टम इमेज पर जाएँ
हर स्टैंडर्ड इमेज में उसकी भाषा का पैकेज टूल होता है: Python इमेजों पर pip और apt, Node इमेजों पर npm और apk, Go पर go और apk, Rust पर cargo और rustc। TypeScript के लिए ऑर्केस्ट्रेटर TYPESCRIPT_VERSION=5.1 सेट करता है, और दस्तावेज़ कहते हैं कि आपका बूटस्ट्रैप npm install -g typescript ts-node से टूलचेन इंस्टॉल करे। जब किसी एजेंट को ffmpeg जैसे OS पैकेज, रजिस्ट्री में न मौजूद कोई वर्ज़न, पहले से बनी बाइनरी या निजी निर्भरताएँ चाहिए, तो पन्ने का जवाब है एक Custom Runtime, यानी आपकी अपनी इमेज, न कि हर रन पर वही चीज़ें इंस्टॉल करना।
कदम 7. जानें कि एजेंट शुरू होने पर क्या होता है
स्टैंडर्ड रनटाइम के लिए ऑर्केस्ट्रेटर जोड़ी को एक इमेज में बदलता है, ऐसा कंटेनर बनाता है जिसकी मुख्य प्रक्रिया बस उसे चालू रखती है, अगर /usr/local/bin/aegis-bootstrap पर पहले से न हो तो अपना bootstrap.py वहाँ अपलोड करता है, और उसे प्रॉम्प्ट के साथ चलाता है। बूटस्ट्रैप ऑर्केस्ट्रेटर के डिस्पैच गेटवे से वापस जुड़ता है और इटरेशन लूप चलाता है: "generate → execute → validate → refine" (बनाओ, चलाओ, जाँचो, सुधारो)।
कदम 8. अपने नोड पर रजिस्ट्री फ़ाइल वहीं रखें जहाँ डेमन उसे ढूँढता है
# aegis-config.yaml
spec:
runtime:
runtime_registry_path: "runtime-registry.yaml"
डिफ़ॉल्ट पथ डेमन की वर्किंग डायरेक्टरी के सापेक्ष है। अगर फ़ाइल न हो या पार्स न हो, तो डेमन "hard-fails at boot" (शुरू होते ही पूरी तरह विफल होता है), क्योंकि "a missing registry makes every StandardRuntime agent execution impossible." (रजिस्ट्री न होने पर हर StandardRuntime एजेंट का एक्ज़ीक्यूशन असंभव हो जाता है)। जब डेमन किसी दूसरी डायरेक्टरी से या किसी कंटेनर इमेज के भीतर चलता हो, तो पूर्ण पथ सेट करें।
दस्तावेज़ क्या खुला छोड़ते हैं
- दो उदाहरण जवाब मेल नहीं खाते। रजिस्ट्री पन्ने पर
aegis.runtime.listका नमूना जवाबpython:3.x-slimपर Python 3.11, 3.10 और 3.9 बताता है; Management Tools पन्ने का नमूनाghcr.io/100monkeys/runtime-python:3.12पर Python3.12बताता है, जो मैट्रिक्स में नहीं है। किसी भी नमूने पर भरोसा करने के बजाय अपने नोड से पूछें। - ग़लत जोड़ी कब पकड़ी जाती है। रजिस्ट्री पन्ना कहता है कि असमर्थित जोड़ी "at execution validation time" (एक्ज़ीक्यूशन वैलिडेशन के समय) अस्वीकार होती है। यह नहीं बताता कि
aegis agent deploy --validate-onlyउसे पहले ही पकड़ लेता है या नहीं। - आइसोलेशन के मान। रजिस्ट्री पन्ने की मैनिफ़ेस्ट टिप्पणी
inherit | docker | firecrackerबताती है; वर्कफ़्लो और एजेंट संदर्भprocessभी बताते हैं। - तारीख़ें। Python 3.9 को हटाने की कोई तारीख़ "Phase 2" (चरण 2) के अलावा नहीं दी गई।
आगे
रनटाइम एजेंट मैनिफ़ेस्ट का केवल एक फ़ील्ड है। बाकी के लिए पढ़ें AEGIS एजेंट मैनिफ़ेस्ट: हर फ़ील्ड और वह क्या लागू करता है। AEGIS 100monkeys.ai पर छपी कमांड से इंस्टॉल होता है:
curl -fsSL https://get.100monkeys.ai | bash