ब्लॉग · गाइड · 28 अक्टूबर 2026
AEGIS एजेंट मैनिफ़ेस्ट: हर फ़ील्ड और वह क्या लागू करता है
प्रकटीकरण: AEGIS को 100monkeys.ai बनाता है, इसलिए इस गाइड को बनाने वाले का विवरण मानकर पढ़ें। इसका मसौदा हमारे एक AI एजेंट ने सार्वजनिक AEGIS दस्तावेज़ों से तैयार किया, ख़ासकर Agent Manifest Reference, CLI Reference, Workflow Manifest Reference और Human Approvals से, और कंपनी ने इसकी समीक्षा की; यह हिन्दी संस्करण मूल अंग्रेज़ी गाइड का अनुवाद है। फ़ील्ड के नाम, डिफ़ॉल्ट और अस्वीकृति संदेश उन्हीं पेजों से उद्धृत हैं, अंग्रेज़ी में, अनुवाद साथ में।
AEGIS by 100monkeys.ai, in beta, एक ही YAML फ़ाइल से एक एजेंट चलाता है। दस्तावेज़ एजेंट मैनिफ़ेस्ट को "the source of truth for an Agent's identity, capabilities, security constraints, and execution requirements." (किसी एजेंट की पहचान, क्षमताओं, सुरक्षा सीमाओं और एक्ज़ीक्यूशन ज़रूरतों का प्रामाणिक स्रोत) कहते हैं। यह गाइड इसे सेक्शन दर सेक्शन देखती है और हर फ़ील्ड के बारे में बताती है कि ऑर्केस्ट्रेटर उसके साथ क्या करता है।
कदम 1. हेडर लिखें
apiVersion: 100monkeys.ai/v1
kind: Agent
metadata:
name: pr-reviewer
version: "1.0.0"
description: "Reviews pull request diffs and returns structured feedback."
apiVersion और kind के मान ठीक यही होने चाहिए। name को ^[a-z0-9][a-z0-9-]{0,62}$ से मेल खाना चाहिए, और name व version की जोड़ी अद्वितीय होनी चाहिए: वही जोड़ी दोबारा डिप्लॉय करना विफल होता है, जब तक आप --force न दें। labels और annotations खोज और टिप्पणियों के लिए वैकल्पिक की-वैल्यू मैप हैं।
कदम 2. रनटाइम चुनें
spec.runtime spec का अकेला अनिवार्य हिस्सा है। या तो language और version दें (python, javascript, typescript, rust या go, जो एक आधिकारिक इमेज में बदलते हैं), या पूरी तरह क्वालिफ़ाइड image, दोनों कभी नहीं; version के बिना language अमान्य है। image_pull_policy का डिफ़ॉल्ट IfNotPresent है। model aegis-config.yaml के किसी मॉडल उपनाम का नाम देता है, और इमेज बनाने वाला उपनाम अस्वीकार होता है। isolation inherit, docker, firecracker और process स्वीकार करता है; रेफ़रेंस docker को फ़ेज़ 1 और बाक़ी दो को फ़ेज़ 2 बताता है।
कदम 3. उसे एक काम दें
task.instruction वह मार्गदर्शन है जिससे एजेंट काम करता है, और इसे सेट करना "auto-enables semantic validation" (सिमैंटिक वैलिडेशन अपने-आप चालू कर देता है)। task.prompt_template एक Handlebars टेम्पलेट है; इसके वेरिएबल {{intent}}, {{instruction}}, {{input}}, {{iteration_number}}, {{previous_error}} और {{context}} हैं। spec.input_schema, type: object वाला एक JSON Schema, नामित इनपुट घोषित करता है और एजेंट चलने से पहले उन्हें वैलिडेट करता है।
कदम 4. सिर्फ़ ज़रूरी एक्सेस घोषित करें
"All permissions are deny-by-default." (सभी अनुमतियाँ डिफ़ॉल्ट रूप से अस्वीकृत हैं।) spec.security के बिना एजेंट के पास न नेटवर्क है, न फ़ाइल सिस्टम एक्सेस। network.mode allow (सिर्फ़ allowlist), deny (denylist के सिवा सब) या none होता है, जो "attaches no network interface to the container" (कंटेनर से कोई नेटवर्क इंटरफ़ेस नहीं जोड़ता)। filesystem.read और filesystem.write पाथ की सूची देते हैं, ग्लॉब की अनुमति के साथ। रिसोर्स के डिफ़ॉल्ट cpu: 1000 मिलीकोर, memory: "512Mi", disk: "1Gi" और timeout: "1800s" हैं, अधिकतम एक घंटा। जब एजेंट दो या ज़्यादा बार कोशिश कर सकता है, तो टाइमआउट में दो पूरी कोशिशें समानी चाहिए, 2 × (iteration_timeout + जजों का timeout_seconds) + 45 सेकंड, वरना एजेंट "is refused on create and update" (बनाने और अपडेट करने पर अस्वीकार होता है)।
कदम 5. उसके वॉल्यूम माउंट करें
spec.volumes[] की हर एंट्री में एक name, एक storage_class (ephemeral को ttl_hours चाहिए; persistent को source.volume_id), /workspace के तहत एक mount_path और एक access_mode होता है। किसी परसिस्टेंट वॉल्यूम पर पढ़ने-लिखने का एक्सेस एक समय में एक ही एक्ज़ीक्यूशन का होता है। जो वॉल्यूम माउंट न हो सके वह इटरेशन रोक देता है: एजेंट "never runs without its volume." (अपने वॉल्यूम के बिना कभी नहीं चलता।)
कदम 6. तय करें कि वह कैसे दोहराता है और पूरा होना क्या है
execution.mode iterative (डिफ़ॉल्ट) या one-shot है। max_iterations 1 से 20 तक, डिफ़ॉल्ट 5, और max_retries वही फ़ील्ड है। iteration_timeout का डिफ़ॉल्ट 600s और llm_timeout_seconds का 300 है। हर कोशिश के बाद validation क्रम से चलता है: exit_code, json_schema, regex, semantic (एक जज एजेंट, min_score डिफ़ॉल्ट 0.7) या multi_judge। विफलता एजेंट के पास {{previous_error}} बनकर लौटती है। tool_validation हर टूल कॉल को चलने से पहले जाँचता है; वहाँ सिर्फ़ semantic एंट्री काम आती हैं। outputs उन फ़ाइलों के नाम देता है जो एक्ज़ीक्यूशन को छोड़नी हैं, हर एक के साथ वैकल्पिक min_bytes और magic, और कोई एक भी न हो तो कोशिश विफल होती है।
कदम 7. टूल दें
spec.tools "mcp:filesystem" जैसी स्ट्रिंग या name, server और config वाले ऑब्जेक्ट स्वीकार करता है। कमांड चलाने के लिए executor: "builtin:cmd" घोषित करें, अनिवार्य subcommand_allowlist के साथ, जो कमांड से अनुमत पहले आर्ग्युमेंट तक का मैप है; कोई भी दूसरी कॉल "is rejected with a policy violation" (पॉलिसी उल्लंघन के साथ अस्वीकार होती है)। ऑर्केस्ट्रेटर जाँचता है कि घोषणाएँ काम कर सकती हैं: जिस एजेंट को फ़ाइलें लिखनी हैं पर कोई टूल घोषित नहीं, या जो पढ़ने-लिखने वाले वॉल्यूम के बिना fs.write घोषित करता है, वह डिप्लॉय पर कारण बताने वाले एक वाक्य के साथ अस्वीकार होता है।
कदम 8. कॉन्फ़िगरेशन और सीक्रेट पास करें
spec.env के मान एक लिटरल, "secret:<name>" (OpenBao से इंजेक्ट, "never logged", कभी लॉग नहीं होता) या "config:<key>" होते हैं। spec.security_context सिर्फ़ प्लेटफ़ॉर्म ऑपरेटरों के लिए है; इसे सेट करने वाले कंज़्यूमर अकाउंट को 403 Forbidden मिलता है।
कदम 9. पहले वैलिडेट करें, फिर डिप्लॉय करें
aegis agent deploy ./agent.yaml --validate-only
aegis agent deploy ./agent.yaml
--validate-only बिना डिप्लॉय किए पार्स और वैलिडेट करता है। aegis agent show <AGENT_ID> सहेजा गया मैनिफ़ेस्ट वापस दिखाता है।
इंसान की "हाँ" कहाँ जाती है
एजेंट मैनिफ़ेस्ट में कोई स्वीकृति फ़ील्ड नहीं है। किसी व्यक्ति की हाँ वर्कफ़्लो में होती है, kind: Human स्टेट में: prompt अनिवार्य है, timeout का डिफ़ॉल्ट 3600s है, और default_response वह जवाब है जो समय ख़त्म होने पर लिया जाता है; इसके बिना वर्कफ़्लो विफल होता है। Human Approvals कहता है कि गेट का input_equals_yes ट्रांज़िशन yes और input_equals_no no स्वीकार करता है, और जिस जवाब को कोई ट्रांज़िशन स्वीकार न करे वह अस्वीकार होकर फिर पूछा जाता है।
दस्तावेज़ क्या खुला छोड़ते हैं
- दोनों रेफ़रेंस गेट के शब्दों पर सहमत नहीं: Workflow Manifest Reference के अनुसार
input_equals_yes"yes", "approve", "approved" या "true" स्वीकार करता है; Human Approvals कहता हैyes,yया1। यह गाइड Human Approvals को मानती है। metadata.versionको उदाहरण में "semantic version" (सिमैंटिक वर्ज़न) और तालिका में "Manifest schema version" (मैनिफ़ेस्ट स्कीमा वर्ज़न) कहा गया है।firecrackerऔरprocessisolationके मान्य मानों में फ़ेज़ 2 के रूप में दिखते हैं; रेफ़रेंस नहीं बताता कि आज कोई मैनिफ़ेस्ट इनमें से किसी का नाम दे तो क्या होता है।
आगे
किसी नए सर्वर पर एक मैनिफ़ेस्ट को शुरू से आख़िर तक चलाने के लिए नए Ubuntu VPS पर AEGIS इंस्टॉल करें और अपना पहला स्वीकृत टास्क चलाएँ पढ़ें। AEGIS 100monkeys.ai पर दी गई कमांड से इंस्टॉल होता है:
curl -fsSL https://get.100monkeys.ai | bash