1. Overture
अब अलग-अलग टीमों के साथ मिलकर काम करने का समय आ गया है. टेक्नोलॉजी के विकास की अगली लहर, किसी एक व्यक्ति की प्रतिभा के बारे में नहीं, बल्कि साथ मिलकर काम करने की क्षमता के बारे में है. एक ही स्मार्ट एजेंट बनाना, एक दिलचस्प एक्सपेरिमेंट है. मॉडर्न एंटरप्राइज़ के लिए, एजेंट का एक मज़बूत, सुरक्षित, और स्मार्ट ईकोसिस्टम बनाना एक बड़ी चुनौती है. इसे Agentverse कहा जाता है.
इस नए दौर में सफलता पाने के लिए, चार अहम भूमिकाओं को एक साथ लाना ज़रूरी है. ये ऐसे बुनियादी सिद्धांत हैं जो किसी भी एजेंटिक सिस्टम को बेहतर बनाने में मदद करते हैं. किसी भी एक क्षेत्र में कमी होने से, पूरी संरचना कमज़ोर हो जाती है.
यह वर्कशॉप, Google Cloud पर एआई एजेंट के इस्तेमाल से जुड़ी एंटरप्राइज़ प्लेबुक है. हम आपको एक ऐसा रोडमैप देते हैं जो किसी आइडिया के शुरुआती चरण से लेकर उसे पूरी तरह से लागू करने तक आपका मार्गदर्शन करता है. इन चार इंटरकनेक्टेड लैब में, आपको यह जानने को मिलेगा कि एक पावरफ़ुल एजेंटवर्स बनाने, उसे मैनेज करने, और उसे स्केल करने के लिए, डेवलपर, आर्किटेक्ट, डेटा इंजीनियर, और एसआरई की खास क्षमताओं को एक साथ कैसे इस्तेमाल किया जाना चाहिए.
कोई भी पिलर, Agentverse को अकेले सपोर्ट नहीं कर सकता. डेवलपर के सटीक तरीके से काम किए बिना, आर्किटेक्ट का शानदार डिज़ाइन किसी काम का नहीं होता. डेटा इंजीनियर के बिना डेवलपर का एजेंट कुछ नहीं कर सकता. साथ ही, एसआरई के बिना पूरा सिस्टम असुरक्षित है. आपकी टीम, एक-दूसरे की भूमिकाओं को समझकर और मिलकर काम करके ही, किसी नए कॉन्सेप्ट को मिशन के लिए ज़रूरी और व्यावहारिक हकीकत में बदल सकती है. आपका सफ़र यहां से शुरू होता है. अपनी भूमिका को बेहतर तरीके से निभाने के लिए तैयार रहें. साथ ही, जानें कि आप किस तरह से पूरी टीम के साथ मिलकर काम कर सकते हैं.
'द एजेंटवर्स: ए कॉल टू चैंपियंस' में आपका स्वागत है
एंटरप्राइज़ के विशाल डिजिटल क्षेत्र में, एक नया दौर शुरू हो गया है. यह एजेंटिक युग है. इसमें एआई एजेंट, इनोवेशन को बढ़ावा देने और रोज़मर्रा के कामों को आसान बनाने के लिए, एक साथ मिलकर काम करते हैं.
पावर और संभावनाओं से जुड़े इस कनेक्टेड नेटवर्क को Agentverse कहा जाता है.
हालांकि, इस नई दुनिया में धीरे-धीरे एक ख़तरनाक बदलाव हो रहा है. इसे 'द स्टैटिक' कहा जाता है. यह बदलाव, इस नई दुनिया को अंदर ही अंदर खोखला कर रहा है. स्टैटिक कोई वायरस या बग नहीं है. यह एक तरह का अराजकतावादी है, जो क्रिएशन के काम को ही अपना शिकार बनाता है.
इससे पुरानी समस्याएं और बढ़ जाती हैं. इससे डेवलपमेंट की सात समस्याएं पैदा होती हैं. अगर इस पर ध्यान नहीं दिया गया, तो The Static और इसके Spectres, प्रोग्रेस को रोक देंगे. इससे Agentverse का वादा, तकनीकी कर्ज़ और छोड़े गए प्रोजेक्ट के बंजर इलाके में बदल जाएगा.
आज हम ऐसे लोगों को आगे आने का न्योता देते हैं जो इस अराजकता को खत्म करने में हमारी मदद कर सकें. हमें ऐसे हीरो की ज़रूरत है जो अपनी कला में माहिर हों और एजेंटवर्स को बचाने के लिए साथ मिलकर काम कर सकें. अब आपको अपना रास्ता चुनना है.
अपनी क्लास चुनना
आपके सामने चार अलग-अलग रास्ते हैं. इनमें से हर एक, द स्टैटिक के ख़िलाफ़ लड़ाई में अहम भूमिका निभाता है. हालांकि, आपकी ट्रेनिंग एक सोलो मिशन होगा, लेकिन आपकी सफलता इस बात पर निर्भर करती है कि आपकी स्किल, दूसरों की स्किल के साथ कैसे काम करती हैं.
- द शैडोब्लेड (डेवलपर): यह फ़ोर्ज और फ़्रंट लाइन का मास्टर है. आप एक ऐसे कारीगर हैं जो ब्लेड बनाता है, टूल बनाता है, और कोड की जटिलताओं में दुश्मन का सामना करता है. आपका रास्ता सटीक, कुशल, और व्यावहारिक है.
- द समनर (आर्किटेक्ट): यह एक बेहतरीन रणनीति बनाने वाला और ऑर्गनाइज़र होता है. आपको सिर्फ़ एक एजेंट नहीं, बल्कि पूरा बैटलग्राउंड दिखता है. मास्टर ब्लूप्रिंट डिज़ाइन करने का काम आपका होता है. इनकी मदद से, एजेंट के पूरे सिस्टम को कम्यूनिकेट करने, साथ मिलकर काम करने, और किसी एक कॉम्पोनेंट से ज़्यादा बड़ा लक्ष्य हासिल करने में मदद मिलती है.
- स्कॉलर (डेटा इंजीनियर): यह छिपी हुई सच्चाई को ढूंढता है और ज्ञान को सुरक्षित रखता है. डेटा के इस विशाल और अनियंत्रित जंगल में, आपको ऐसी जानकारी मिलती है जिससे आपके एजेंट को काम करने का मकसद और दिशा मिलती है. आपकी जानकारी से, किसी दुश्मन की कमज़ोरी का पता चल सकता है या किसी दोस्त को फ़ायदा मिल सकता है.
- द गार्जियन (DevOps / SRE): यह टीम, सिस्टम को सुरक्षित रखने और उसकी निगरानी करने का काम करती है. आपको किले बनाने होते हैं, बिजली की सप्लाई लाइनें मैनेज करनी होती हैं, और यह पक्का करना होता है कि पूरा सिस्टम, स्टैटिक के हमलों का सामना कर सके. आपकी ताकत ही वह आधार है जिस पर आपकी टीम की जीत टिकी होती है.
आपका मिशन
आपकी ट्रेनिंग, एक अलग कसरत के तौर पर शुरू होगी. आपको अपनी चुनी हुई भूमिका के हिसाब से, ज़रूरी खास कौशल सीखने का मौका मिलेगा. ट्रायल के आखिर में, आपको स्टैटिक से पैदा हुए स्पेकटर का सामना करना होगा. यह एक मिनी-बॉस है, जो आपके क्राफ़्ट की खास चुनौतियों का फ़ायदा उठाता है.
अपनी भूमिका में महारत हासिल करके ही, फ़ाइनल ट्रायल के लिए तैयारी की जा सकती है. इसके बाद, आपको दूसरी क्लास के चैंपियन के साथ मिलकर एक पार्टी बनानी होगी. साथ मिलकर, आपको करप्शन के केंद्र में जाना होगा, जहां आपको सबसे बड़े बॉस का सामना करना होगा.
यह एक आखिरी चुनौती है, जिसमें आपको मिलकर काम करना होगा. इससे आपकी टीम की ताकत का पता चलेगा और यह तय होगा कि Agentverse का क्या होगा.
Agentverse को अपने हीरो का इंतज़ार है. क्या आपको कॉल का जवाब देना है?
2. द शैडोब्लेड्स कोडेक्स
Shadowblade's Codex आपके सामने खुला हुआ है. उसके कॉल का जवाब दो. एजेंटवर्स पर, द स्टैटिक के बढ़ते हुए अराजक तत्वों का खतरा मंडरा रहा है. सिर्फ़ वे लोग इसका मुकाबला कर सकते हैं जिन्होंने इस कोडेक्स में बताई गई तकनीकों में महारत हासिल की है. यह सटीक और अनुशासन का रास्ता है. आज से आपकी ट्रेनिंग शुरू हो रही है. आपको एआई को सिर्फ़ एक टूल के तौर पर नहीं, बल्कि एक ऐसी तलवार के तौर पर इस्तेमाल करना सिखाया जाएगा जिसे काबू में रखना और चलाना सीखना होगा. यहां दी गई बातों को ध्यान में रखें. इससे आपको एक ऐसा हथियार बनाने में मदद मिलेगी जो पूरी तरह से लॉजिक पर आधारित होगा. यह एक ऐसा इंटेलिजेंट एजेंट होगा जो हर तरह की चुनौती का सामना करने के लिए तैयार होगा.
आपको क्या सीखने को मिलेगा
- Gemini CLI का इस्तेमाल करें.
- Gemini सीएलआई के साथ एमसीपी टूल को इंटिग्रेट करके, बाहरी टूल का इस्तेमाल करें. इससे, अनजान कोडबेस का विश्लेषण किया जा सकता है.
- अपने इरादे को "वाइब" में बदलें. इसके लिए, डिज़ाइन दस्तावेज़ों का इस्तेमाल करके अपने एआई पार्टनर को निर्देश दें.
- एजेंट डेवलपमेंट किट (एडीके) का इस्तेमाल करके, अपना पहला ऑटोनॉमस एजेंट बनाएं. इससे आपको एक मॉड्यूलर और बेहतर समाधान मिलेगा.
- अपने एजेंट की जांच और पुष्टि करने के लिए, अपने-आप आकलन करने वाले सुइट बनाना.
- पूरी सीआई पाइपलाइन बनाएं, ताकि आपके एजेंट का अपने-आप टेस्ट हो सके, उसे कंटेनर में रखा जा सके, और उसे संग्रहित किया जा सके.
3. ट्रेनिंग ग्राउंड तैयार करना
👉Google Cloud Console में सबसे ऊपर, Cloud Shell चालू करें पर क्लिक करें (यह Cloud Shell पैनल में सबसे ऊपर टर्मिनल के आकार वाला आइकॉन है),
👉 "एडिटर खोलें" बटन पर क्लिक करें. यह बटन, पेंसिल वाले खुले फ़ोल्डर की तरह दिखता है. इससे विंडो में Cloud Shell Code Editor खुल जाएगा. आपको बाईं ओर फ़ाइल एक्सप्लोरर दिखेगा.
👉अपना Google Cloud प्रोजेक्ट आईडी ढूंढें:
- Google Cloud Console खोलें: https://console.cloud.google.com
- पेज पर सबसे ऊपर मौजूद प्रोजेक्ट ड्रॉपडाउन से, वह प्रोजेक्ट चुनें जिसका इस्तेमाल आपको इस वर्कशॉप के लिए करना है.
- आपका प्रोजेक्ट आईडी, डैशबोर्ड पर मौजूद प्रोजेक्ट की जानकारी देने वाले कार्ड में दिखता है
👉क्लाउड आईडीई में टर्मिनल खोलें,
👉💻 टर्मिनल में, पुष्टि करें कि आपने पहले ही पुष्टि कर ली है और प्रोजेक्ट को अपने प्रोजेक्ट आईडी पर सेट किया गया है. इसके लिए, यह कमांड इस्तेमाल करें:
gcloud auth list
👉💻 GitHub से बूटस्ट्रैप प्रोजेक्ट का क्लोन बनाएं:
git clone https://github.com/weimeilin79/agentverse-developer.git
chmod +x ~/agentverse-developer/gitea.sh
chmod +x ~/agentverse-developer/init.sh
chmod +x ~/agentverse-developer/set_env.sh
git clone https://github.com/weimeilin79/agentverse-dungeon.git
chmod +x ~/agentverse-dungeon/run_cloudbuild.sh
chmod +x ~/agentverse-dungeon/start.sh
git clone https://github.com/weimeilin79/vertex-ai-creative-studio.git
chmod +x ~/vertex-ai-creative-studio/experiments/mcp-genmedia/mcp-genmedia-go/install.sh
👉💻 इनिशियलाइज़ेशन स्क्रिप्ट चलाएं. यह स्क्रिप्ट, आपसे Google Cloud प्रोजेक्ट आईडी डालने के लिए कहेगी. इसके बाद, init.sh
स्क्रिप्ट के प्रॉम्प्ट करने पर, पिछले चरण में मिला Google Cloud प्रोजेक्ट आईडी डालें.
cd ~/agentverse-developer
./init.sh
👉💻 ज़रूरी प्रोजेक्ट आईडी सेट करें:
gcloud config set project $(cat ~/project_id.txt) --quiet
👉💻 ज़रूरी Google Cloud API चालू करने के लिए, यह कमांड चलाएं:
gcloud services enable compute.googleapis.com \
artifactregistry.googleapis.com \
run.googleapis.com \
cloudfunctions.googleapis.com \
cloudbuild.googleapis.com \
iam.googleapis.com \
aiplatform.googleapis.com \
cloudresourcemanager.googleapis.com
👉💻 अगर आपने agentverse-repo नाम की Artifact Registry रिपॉज़िटरी पहले से नहीं बनाई है, तो इसे बनाने के लिए यह कमांड चलाएं:
. ~/agentverse-developer/set_env.sh
gcloud artifacts repositories create $REPO_NAME \
--repository-format=docker \
--location=$REGION \
--description="Repository for Agentverse agents"
अनुमति सेट अप करना
👉💻 टर्मिनल में ये कमांड चलाकर, ज़रूरी अनुमतियां दें: :
. ~/agentverse-developer/set_env.sh
# Artifact Registry Admin
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$SERVICE_ACCOUNT_NAME" \
--role="roles/artifactregistry.admin"
# Cloud Build Editor
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$SERVICE_ACCOUNT_NAME" \
--role="roles/cloudbuild.builds.editor"
# Cloud Run Admin
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$SERVICE_ACCOUNT_NAME" \
--role="roles/run.admin"
# IAM Service Account User
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$SERVICE_ACCOUNT_NAME" \
--role="roles/iam.serviceAccountUser"
# Vertex AI User
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$SERVICE_ACCOUNT_NAME" \
--role="roles/aiplatform.user"
# Logging Writer (to allow writing logs)
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$SERVICE_ACCOUNT_NAME" \
--role="roles/logging.logWriter"
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$SERVICE_ACCOUNT_NAME" \
--role="roles/logging.viewer"
👉💻 ट्रेनिंग शुरू करने के बाद, हम फ़ाइनल चैलेंज तैयार करेंगे. नीचे दिए गए निर्देशों से, अराजक स्टैटिक से स्पेक्ट्र को बुलाया जाता है. इससे आपके टेस्ट के लिए बॉस तैयार होते हैं.
. ~/agentverse-developer/set_env.sh
cd ~/agentverse-dungeon
./run_cloudbuild.sh
npm update -g @google/gemini-cli
4. अपने मुख्य हथियार में महारत हासिल करना: Gemini CLI के बारे में बुनियादी जानकारी
एमसीपी सर्वर के शस्त्रागार में मौजूद बेहतर और खास हथियारों का इस्तेमाल करने से पहले, आपको अपने मुख्य हथियार यानी Gemini CLI का इस्तेमाल करना सीखना होगा. यह आपका सबसे दमदार ब्लेड है. इसकी मदद से, बोलकर दिए गए निर्देशों के ज़रिए डिजिटल दुनिया को अपने हिसाब से बनाया जा सकता है. इन ड्रिल से, आपको इसकी बुनियादी हैंडलिंग और क्षमताओं के बारे में जानकारी मिलेगी.
Gemini का कमांड लाइन इंटरफ़ेस (सीएलआई) सिर्फ़ एक टूल नहीं है, बल्कि यह आपकी इच्छाओं को पूरा करने का एक ज़रिया है. यह ओपन-सोर्स एआई एजेंट, Gemini मॉडल की मदद से काम करता है. यह "वजह बताओ और काम करो" (ReAct) लूप पर काम करता है. यह आपके इरादे का विश्लेषण करता है, सही तकनीक चुनता है, उसे लागू करता है, और जटिल टास्क पूरे करने के लिए नतीजे देखता है. ज़्यादा खास हथियार इस्तेमाल करने से पहले, आपको इस मुख्य ब्लेड को चलाने में महारत हासिल करनी होगी.
Gemini CLI का इस्तेमाल शुरू करना
👉💻 ट्रेनिंग ग्राउंड में जाएं और अपना हथियार निकालें. Cloud Shell टर्मिनल में, अपने निजी आर्मरी पर जाएं.
cd ~/agentverse-developer
mkdir tabletop
cd tabletop
👉💻 पहली बार Gemini को ऐक्सेस करें. यह आपको शुरुआती ट्यूनिंग के बारे में जानकारी देगा.
clear
gemini --model=gemini-2.5-flash --yolo
अगर आपसे Do you want to connect Cloud Shell editor to Gemini CLI?
पूछा जाता है, तो नहीं चुनें.
हथियार के बारे में जानकारी
हर मास्टर क्राफ़्ट्समैन को अपने टूल के बारे में पता होता है. किसी असली दुश्मन का सामना करने से पहले, आपको अपने ब्लेड की बुनियादी तकनीकें सीखनी होंगी.
👉✨ हर जादुई टूल में ऐसे रन होते हैं जिनसे उसकी ताकत के बारे में पता चलता है. इन्हें अभी पढ़ें. Gemini के प्रॉम्प्ट में, यह टाइप करें:
/help
निर्देशों की सूची देखें. ये याददाश्त (focus
), बातचीत (chat
), और बाहरी हथियारों (tools
) को मैनेज करने के बुनियादी तरीके हैं. यह आपकी कॉम्बैट मैनुअल है.
👉✨ आपका हथियार, अपने आस-पास के माहौल के हिसाब से काम करता है. इससे आपको सीधे तौर पर बैटलग्राउंड में बदलाव करने की सुविधा मिलती है. ब्लेड के बाहर की दुनिया के लिए कोई निर्देश जारी करें:
!ls -l
👉✨ Gemini CLI में, पहले से मौजूद सुविधाओं का अपना सेट होता है. उनकी जांच करने के लिए:
/tools
आपको ReadFile
, WriteFile
, और GoogleSearch
की सूची दिखेगी. ये डिफ़ॉल्ट तकनीकें हैं, जिनका इस्तेमाल बाहरी टूल के बिना किया जा सकता है.
👉✨ हथियार का सही तरीके से इस्तेमाल करने पर ही, वह असरदार होता है. Gemini Blade में "टैक्टिकल अवेयरनेस" (कॉन्टेक्स्ट) की जानकारी होती है, ताकि वह अपने कामों को सही तरीके से पूरा कर सके.
/memory show
फ़िलहाल, यह खाली है.
👉✨ इस रणनीति से जुड़े डेटा को अपनी मेमोरी में सेव करो:
/memory add "The Shadowblade's primary foe is The Static."
/memory show
को फिर से चलाएं, ताकि यह पुष्टि की जा सके कि आपके ब्लेड ने इस जानकारी को समझ लिया है.
👉✨ असरदार होने के लिए, आपके हथियार को मिशन के बारे में पता होना चाहिए. @
सिगिल, ब्लेड को जानकारी का विश्लेषण करने का निर्देश देता है. सबसे पहले, मिशन की जानकारी देने वाली फ़ाइल बनाएं:
!echo "## Mission Objective: Defeat the Seven Spectres" > mission.md
👉✨अब, Gemini CLI को ब्रीफ़िंग का विश्लेषण करने और उसके नतीजों की रिपोर्ट करने का निर्देश दें:
Explain the contents of the file @mission.md
आपके मुख्य हथियार को अब अपने लक्ष्य के बारे में पता है.
👉💻 Gemini CLI से बाहर निकलने के लिए, Ctrl+C
को दो बार दबाएं
5. Analyzing the Battlefield: Practical Vibe Coding Interaction
ट्रेनिंग ड्रिल पूरी हो गई हैं. आपने Gemini CLI के मुख्य हथियार के बुनियादी स्टांस और स्ट्राइक के बारे में जान लिया है. हालांकि, किसी ब्लेड को तब तक पूरी तरह से तैयार नहीं माना जाता, जब तक उसे बनाने की भट्टी में न आज़माया गया हो और युद्ध के लिए तैयार न किया गया हो. अपने असली दुश्मन का सामना करने से पहले, आपको अपने आस-पास के माहौल का सर्वे करना होगा और उसे अपने हिसाब से ढालना होगा. यह डिजिटल बैटलग्राउंड है.
इस चैप्टर में, थ्योरी से प्रैक्टिस की ओर बढ़ने के बारे में बताया गया है. सबसे पहले, आपको Agentverse में अपनी मौजूदगी दर्ज करानी होगी. इसके लिए, आपको Gemini ब्लेड को अपने Maker's Mark बनाने का निर्देश देना होगा. यह एक डिजिटल सिग्नेचर होता है. यह आपकी निजी वेबसाइट के तौर पर होता है. इसे सिर्फ़ आपके मकसद के हिसाब से बनाया जाता है. इसके बाद, आपको अपने कंप्यूटर पर मौजूद बेहतर टूल के लोकल आर्सेनल यानी एमसीपी सर्वर को चालू करके अपनी क्षमता बढ़ानी होगी. साथ ही, अपने ब्लेड को उसकी फ़्रीक्वेंसी के हिसाब से सेट करना होगा. इससे आपको जटिल कार्रवाइयां करने में मदद मिलेगी. जैसे, आसान और सटीक निर्देशों की मदद से कोड रिपॉज़िटरी मैनेज करना.
अपने ब्रैंड की पहचान बनाना
असली शैडोब्लेड की पहचान सिर्फ़ उसके हथियार से नहीं होती, बल्कि उसकी खास शैली यानी मेकर मार्क से होती है. यह मार्क आपकी डिजिटल मौजूदगी होगी. यह एक ऐसी निजी प्रोफ़ाइल होगी जो Agentverse को आपकी पहचान के बारे में बताएगी. यहां, आपको अपने Gemini Blade को यह निर्देश देना होगा कि वह इस पहचान को तय करने के लिए, ज़रूरी मुश्किल तकनीक का इस्तेमाल करे.
👉💻 अगर आपने पिछले सेक्शन में Gemini सीएलआई बंद कर दिया था, तो पक्का करें कि आपने इसे फिर से शुरू कर दिया हो. इसके लिए, टर्मिनल में जाकर यह कमांड चलाएं
clear
cd ~/agentverse-developer/tabletop
gemini --model=gemini-2.5-flash --yolo
👉✨ एक ही असरदार कमांड की मदद से, Gemini CLI को अपनी डिजिटल पहचान बनाने के लिए निर्देश दें:
In the current folder, create a personal profile website for a hero codenamed 'Shadowblade'. The design must be a dark, futuristic theme with electric blue accents. All code must be in separate index.html and styles.css files. The layout must use CSS Flexbox for a two-column design. All generated code must be clean, well-commented, and professional.
Gemini ने ज़रूरी कार्रवाइयों का क्रम तय कर लिया है.
किसी तकनीक की सही वैल्यू, सिर्फ़ लाइव गेम में दिखती है. लोकल सिम्युलेशन शुरू करने के लिए, अपने ब्लेड को निर्देश दें.
👉✨ Gemini CLI में, सिम्युलेशन कमांड जारी करें:
Use Python's built-in web server to start the Shadowblade Profile website you just created.
ध्यान दें: इस कार्रवाई को सही तरीके से पूरा करने के लिए, ब्लेड को कुछ बार कोशिश करनी पड़ सकती है. जब तक यह काम न करे, तब तक इसे जारी रखें.
सुझाई गई कार्रवाइयों से सहमत हों. Gemini पुष्टि करेगा कि सिम्युलेशन चालू है.
👀 Gemini CLI, इस निर्देश का पालन करेगा. इससे पुष्टि होगी कि सिम्युलेशन चालू है और आपका डिजिटल मार्क लाइव है:
The website is now being served on port 8000. You can access it at http://localhost:8000.
👀 अपने काम की झलक देखने के लिए, Cloud Shell टूलबार में मौजूद वेब प्रीव्यू आइकॉन पर क्लिक करें. पोर्ट बदलें को चुनें. इसे 8000 पर सेट करें. इसके बाद, बदलें और झलक देखें पर क्लिक करें. आपको अपनी वेबसाइट की झलक दिखेगी.
ऐसा हो सकता है कि आपकी वेबसाइट मेरी वेबसाइट से अलग दिखे. यह आपका यूनीक मार्क है.
👉✨ अब आपकी सिग्नेचर तकनीक बेहतर हो गई है. इसलिए, अब लाइव सिम्युलेशन की ज़रूरत नहीं है. ब्लेड को रुकने का निर्देश दें.
Stop the Shadowblade Profile website
आपने Gemini CLI को अपने लिए कई कार्रवाइयाँ करने का निर्देश दिया है. लेकिन एक मास्टर शैडोब्लेड जानता है कि असली ताकत के लिए अनुशासन और दूरदर्शिता की ज़रूरत होती है. एआई एजेंट को सीधे तौर पर अपने एनवायरमेंट में कमांड चलाने की अनुमति देना, दोधारी तलवार की तरह है. अगर कमांड किसी सामान्य वेब सर्वर को शुरू करने के लिए नहीं, बल्कि ज़रूरी फ़ाइलों को मिटाने के लिए दी गई हो, तो क्या होगा? लापरवाही से दी गई किसी कमांड की वजह से, आपका पूरा ट्रेनिंग ग्राउंड तबाह हो सकता है.
इसलिए, सबसे अनुभवी कारीगर, अपनी सबसे असरदार या नई तकनीकों का इस्तेमाल, ट्रेनिंग के लिए सुरक्षित जगह पर करते हैं. इसे सैंडबॉक्स कहा जाता है.
👉💻 Gemini CLI से बाहर निकलने के लिए, Ctrl+C
को दो बार दबाएं
Gemini CLI सैंडबॉक्स (gemini --sandbox
) आपके सेशन के लिए, कुछ समय के लिए एक अलग कंटेनर बनाता है. एआई जो भी कमांड चलाता है, जो भी फ़ाइल लिखता है, जो भी प्रोसेस शुरू करता है वह सिर्फ़ उस फ़ैंटम दायरे में मौजूद होती है. यह आपके Cloud Shell के मौजूदा एनवायरमेंट को न तो छू सकता है, न ही उसमें बदलाव कर सकता है और न ही उसे नुकसान पहुंचा सकता है. यह शक्तिशाली नए टूल को आज़माने, अपरिचित कोड का विश्लेषण करने या एआई को जटिल निर्देश देने के लिए सबसे सही जगह है. इससे अनचाहे नतीजों का जोखिम नहीं होता. यह शैडोब्लेड की सावधानी का प्रतीक है.
👉💻 अब, हम कंटेनमेंट की रस्म पूरी करेंगे, ताकि आपको इसकी ताकत के बारे में पता चल सके.
clear
gemini --sandbox --yolo
अब आपको आइसोलेटेड डाइमेंशन में काम करना होगा. Gemini CLI के लिए, सब कुछ सामान्य दिखेगा. आइए, इसे साबित करते हैं. 👉💻 ब्लेड को पहले की तरह ही काम करने का निर्देश दें:
Use the Python's built-in web server to start the Shadowblade Profile website, you just created.
Gemini यह रिपोर्ट करेगा कि आपकी वेबसाइट को पोर्ट 8000 पर फिर से चालू कर दिया गया है. लेकिन, वार्ड में कोई बदलाव नहीं होता.
👉 वेब प्रीव्यू पर जाएं और पोर्ट 8000 पर अपनी साइट देखने की कोशिश करें.
इस बार, आपको गड़बड़ी का मैसेज मिलेगा. कनेक्ट नहीं किया जा सकेगा. वेबसाइट को ऐक्सेस नहीं किया जा सकता.
यह टूल की खराबी नहीं है, बल्कि सैंडबॉक्स की क्षमता का सबूत है. वेब सर्वर काम कर रहा है. हालांकि, यह कंटेनर डाइमेंशन के अंदर काम कर रहा है. यह आपके ब्राउज़र और बाहरी दुनिया से पूरी तरह से अलग है. वार्ड ठीक से काम कर रहा है. आपने एक असरदार तकनीक का इस्तेमाल किया है. इससे आपके असल एनवायरमेंट पर कोई असर नहीं पड़ा.
👉💻 Gemini CLI से बाहर निकलने के लिए, Ctrl+C
को दो बार दबाएं.
अब आपकी डिजिटल पहचान बन गई है. इससे भी ज़्यादा ज़रूरी बात यह है कि आपने बड़ी ताकत का इस्तेमाल ज़्यादा सावधानी से करने की अहम जानकारी हासिल कर ली है.
Activate Your Local Arsenal: The Gitea Armory
शैडोब्लेड की असली ताकत, सिर्फ़ उसकी निजी क्षमता से नहीं, बल्कि उसके हथियारों की क्वालिटी से भी तय होती है. अब आपको अपने लोकल वेपन्स रैक यानी Gitea सर्वर को चालू करना होगा. साथ ही, अपनी तलवार को उसकी ताकत के हिसाब से ढालना होगा. यह टूलकिट, मॉडल कॉन्टेक्स्ट प्रोटोकॉल (एमसीपी) सर्वर के ज़रिए Gemini CLI से कनेक्ट होती है. यह एक खास पोर्टल है, जो आपके एआई ब्लेड को बाहरी टूल और सेवाओं के साथ इंटरैक्ट करने की अनुमति देता है. इससे आपका टर्मिनल, एक स्मार्ट और ऐक्शन-ओरिएंटेड वर्कस्पेस में बदल जाता है.
डेवलपर के लिए जानकारी: एमसीपी सर्वर को एक पावर सोर्स के तौर पर समझें. यह एक खास पोर्टल है, जो आपके एआई के दिमाग को बाहरी टूल के शरीर से कनेक्ट करता है. यह सुविधा, Gemini CLI को सिर्फ़ बातचीत करने वाले टूल से बदलकर, एक ऐसा एजेंट बनाती है जो आपके लिए काम कर सकता है. अपने ब्लेड को इन एमसीपी पोर्टल के साथ जोड़कर, उसे कई तरह की कार्रवाइयां करने की अनुमति दी जाती है. जैसे, फ़ाइलों को मैनेज करना, डेटाबेस से क्वेरी करना, एपीआई के साथ इंटरैक्ट करना वगैरह. इन पोर्टल का पूरा एक ईकोसिस्टम मौजूद है. इसे डेवलपर ने एआई एजेंट को दमदार प्लैटफ़ॉर्म से कनेक्ट करने के लिए बनाया है. डेटाबेस से इंटरैक्ट करने, कोड को सुरक्षित करने या यहां तक कि पेयर प्रोग्रामिंग के लिए भी एमसीपी सर्वर होते हैं. इनकी मदद से कई काम किए जा सकते हैं. साथ ही, डेवलपर को किसी भी प्रोजेक्ट के लिए अपने वर्कस्पेस को पसंद के मुताबिक बनाने की सुविधा मिलती है.
आज हम दो बुनियादी शक्तियों पर फ़ोकस करेंगे. ये "वाइब कोडर" के लिए ज़रूरी हैं: फ़ोर्ज को कंट्रोल करने की शक्ति और कल्पना से कुछ बनाने की शक्ति. सबसे पहले, आपको अपने ब्लेड को Git सर्वर के साथ जोड़ना होगा. इससे आपको अपने सोर्स कोड रिपॉज़िटरी पर कंट्रोल मिल जाएगा. इसके बाद, आपको इमेज जनरेट करने के लिए दूसरे एमसीपी सर्वर से कनेक्ट किया जाएगा. इससे, सिर्फ़ एक कमांड देकर विज़ुअल ऐसेट बनाई जा सकेंगी.
आइए, हम आपके नए हथियार के सबसे पहले और सबसे बुनियादी हिस्से से शुरुआत करते हैं: आर्मरी.
👉💻 अपने टर्मिनल में, आर्मरी को ऐक्सेस करने के लिए, ऐक्टिवेशन स्क्रिप्ट चलाएं:
cd ~/agentverse-developer
./gitea.sh
यह स्क्रिप्ट, Gitea कंटेनर को चालू करती है और MCP पोर्टल खोलती है. इससे Gemini को इसे समझने और इसके साथ इंटरैक्ट करने की अनुमति मिलती है.
👉 अपने नए शस्त्रागार की जांच करने के लिए, आपको वेब प्रीव्यू देखना होगा.
👉 Cloud Shell टूलबार में मौजूद वेब प्रीव्यू आइकॉन से, पोर्ट बदलें को चुनें और इसे 3005 पर सेट करें.
👉 आपको Gitea का लॉगिन पेज दिखेगा. मंत्र का इस्तेमाल करके, आर्मरी में प्रवेश करें: * उपयोगकर्ता नाम: dev
* पासवर्ड: dev
👉💻 Gemini CLI में, अब तक यह नया आर्सेनल नहीं दिख रहा है. आपको एक ज़रूरी अट्यूनमेंट करना होगा. इसके लिए, आपको आर्मरी की जगह की जानकारी को Gemini CLI के कॉन्फ़िगरेशन रन (settings.json
) में लिखना होगा. अपने टर्मिनल में, यह कमांड चलाएं:
jq '. * {"mcpServers":{"gitea":{"url":"http://localhost:8085/sse"}}}' ~/.gemini/settings.json > tmp.json && mv tmp.json ~/.gemini/settings.json
cat ~/.gemini/settings.json
👀 settings.json फ़ाइल, Gemini CLI के लिए मुख्य कॉन्फ़िगरेशन है. यह इसकी प्राथमिकताओं और क्षमताओं की जानकारी देने वाली किताब के तौर पर काम करती है. इससे यह तय होता है कि सीएलआई कैसे काम करेगा, कैसा दिखेगा, और सबसे अहम बात यह है कि यह किन बाहरी सुविधाओं का इस्तेमाल कर सकता है. यह फ़ाइल आम तौर पर आपकी होम डायरेक्ट्री में ~/.gemini/settings.json
पर मौजूद होती है. इसके नियम आपके सभी प्रोजेक्ट पर लागू होते हैं. हालांकि, ग्लोबल सेटिंग को बदलने के लिए, प्रोजेक्ट फ़ोल्डर में मौजूद .gemini
डायरेक्ट्री में, प्रोजेक्ट के हिसाब से settings.json
फ़ाइलें भी बनाई जा सकती हैं.
"mcpServers": { "gitea": { "url": "http://localhost:8085/sse" } }
इस सेटिंग से Gemini को यह पता चलता है कि "gitea नाम का आर्सनल चालू है और इस नेटवर्क पते पर निर्देश सुनने के लिए तैयार है."
👉💻 Gemini CLI को फिर से डालें. अपने टर्मिनल में, यह कमांड चलाएं:
clear
cd ~/agentverse-developer/tabletop/
gemini --model=gemini-2.5-flash --yolo
👉✨ पुष्टि करें कि आपके ब्लेड को नया हथियार मिल गया है. इसे अपने एमसीपी पोर्टल के ज़रिए, उपलब्ध सभी हथियारों की सूची बनाने का निर्देश दें:
/mcp
अब आपको gitea
और इसके साथ उपलब्ध तकनीकों की सूची दिखेगी. Your blade is attuned.
आपकी "मेकर्स मार्क" प्रोफ़ाइल, बेहतरीन तरीके से बनाई गई है. हालांकि, इसे सुरक्षित रखने के लिए, आर्मरी में सही जगह पर रखना होगा. यानी, इसे सुरक्षित रखने के लिए एक म्यान की ज़रूरत है. Gemini CLI को कमांड देकर, एक नया प्रोजेक्ट बनाएं.
Create a new repository named 'shadowblade-profile'. The description should be 'The Maker's Mark and digital identity for the Shadowblade operative.' I will push my own files later, so do not create any content.
Gitea के वेब इंटरफ़ेस पर वापस जाएं और रीफ़्रेश करें. आपको दिखेगा कि आपके लिए नई shadowblade-profile
रिपॉज़िटरी बना दी गई है.
तलवार रखने की म्यान तैयार होने के बाद, अपने काम को सुरक्षित करें. Gemini को अपनी प्रोफ़ाइल वेबसाइट की फ़ाइलें सबमिट करने का निर्देश दें.
👉💻Gemini CLI में, इस तकनीक के लिए आखिरी निर्देश दें:
Using the Gitea tool, push the index.html and styles.css files to the 'shadowblade-profile' repository.
एक असली मास्टर अपने काम की पुष्टि करता है. Gitea टैब पर वापस जाएं और रिपॉज़िटरी पेज को रीफ़्रेश करें. आपके index.html
और styles.css
अब सुरक्षित तरीके से संग्रहित कर दिए गए हैं.
👉✨ शैडोब्लेड की पहचान उसके सिगिल से होती है. हालांकि, आपको याद होगा कि आपकी वेबसाइट पर प्रोफ़ाइल इमेज मौजूद नहीं है. एक बेहतरीन कारीगर, अपनी कमियों को स्वीकार करता है, ताकि उन्हें दूर किया जा सके. आपको इस गड़बड़ी को आर्मरी के रिकॉर्ड में लॉग करना होगा.
File an issue for me in the shadowblade-profile repo. The issue is that the profile image is missing.
Gitea में समस्या देखें
गायब हुए सिगिल को बनाने के लिए, आपको एक अलग तरह की शक्ति का इस्तेमाल करना होगा. यह शक्ति, Vertex AI से मिलने वाली क्रिएशन स्पिरिट है. यह सिर्फ़ सोच से इमेज जनरेट कर सकती है. इसके लिए, किसी दूसरे एमसीपी पोर्टल की ज़रूरत होती है.
👉💻 Gemini CLI से बाहर निकलने के लिए, Ctrl+C
को दो बार दबाएं
👉💻 सबसे पहले, पोर्टल का सर्वर इंस्टॉल करें. अपने टर्मिनल में, यह कमांड चलाएं:
echo 'export PATH="$PATH:$HOME/go/bin"' >> ~/.bashrc
source ~/.bashrc
cd ~/vertex-ai-creative-studio/experiments/mcp-genmedia/mcp-genmedia-go
./install.sh
👉 जब आपसे पूछा जाए, तब विकल्प 3 चुनें, क्योंकि हमें सिर्फ़ अपनी प्रोफ़ाइल के लिए एक इमेज जनरेट करनी है.
👉💻 क्रिएशन स्पिरिट को अपनी क्रिएशन को सेव करने के लिए, पवित्र बर्तन यानी Google Cloud Storage बकेट की ज़रूरत होती है. चलिए, अब एक बनाते हैं. अपने टर्मिनल में, यह कमांड चलाएं:
. ~/agentverse-developer/set_env.sh
gcloud storage buckets create gs://$BUCKET_NAME --project=$PROJECT_ID
👉💻 अब, Gemini CLI को इस नई क्रिएटिव फ़ोर्स से लिंक करके, अट्यूनमेंट की प्रक्रिया पूरी करें. अपने टर्मिनल में, यह कमांड चलाएं:
. ~/agentverse-developer/set_env.sh
source ~/.bashrc
jq \
--arg bucket "$BUCKET_NAME" \
--arg project "$PROJECT_ID" \
--arg region "$REGION" \
'.mcpServers.imagen = { "command": "mcp-imagen-go", "env": { "MCP_SERVER_REQUEST_TIMEOUT": "55000", "GENMEDIA_BUCKET": $bucket, "PROJECT_ID": $project, "LOCATION": $region } }' \
~/.gemini/settings.json > tmp.json && mv tmp.json ~/.gemini/settings.json
cat ~/.gemini/settings.json
यह "अट्यूनमेंट रिचुअल" एक शेल स्क्रिप्ट है. यह आपके Gemini CLI को कॉन्फ़िगर करती है, ताकि वह एक नए और बेहतरीन टूल का इस्तेमाल कर सके: Imagen, Google का इमेज जनरेशन मॉडल. खास तौर पर, यह Imagen के लिए एमसीपी (मॉडल कॉन्टेक्स्ट प्रोटोकॉल) सर्वर सेट अप करके ऐसा करता है. यह एमसीपी सर्वर, ब्रिज की तरह काम करता है. इससे Gemini CLI, Imagen के साथ कम्यूनिकेट कर पाता है और उसकी क्षमताओं का इस्तेमाल कर पाता है. यह सीधे तौर पर, सीएलआई की सेंट्रल कॉन्फ़िगरेशन फ़ाइल ~/.gemini/settings.json
में बदलाव करके ऐसा करता है. इससे सीएलआई को यह पता चलता है कि सही क्लाउड क्रेडेंशियल के साथ mcp-imagen-go कमांड को कैसे चलाया जाए.
👀 इस प्रोसेस के बाद, आपकी settings.json फ़ाइल में एक नया ब्लॉक जुड़ जाता है. इससे Gemini CLI को एक नई स्किल के बारे में पता चलता है:
"imagen": { "command": "mcp-imagen-go", "env": { "MCP_SERVER_REQUEST_TIMEOUT": "55000", "GENMEDIA_BUCKET": "your-bucket-name", "PROJECT_ID": "your-project-id", "LOCATION": "your-region" } }
इससे Gemini CLI को यह पता चलता है: "जब किसी टास्क के लिए Imagen टूल की ज़रूरत हो, तब आपको mcp-imagen-go नाम के प्रोग्राम को एक्ज़ीक्यूट करना होगा. यह Imagen MCP सर्वर है. इसे चलाने के लिए, आपको यह खास एनवायरमेंट (env) देना होगा: इमेज सेव करने के लिए Google Cloud Storage बकेट, क्लाउड एपीआई के लिए इस्तेमाल किया जाने वाला प्रोजेक्ट आईडी, और जगह की जानकारी." इस एमसीपी सर्वर को कॉन्फ़िगर करके, Gemini CLI को Imagen की इमेज जनरेट करने की सुविधा का ऐक्सेस दिया जाता है."
👉💻 Gemini में जाकर, जवाब को बेहतर बनाने के लिए निर्देश दें. अपने टर्मिनल में, यह कमांड चलाएं:
clear
cd ~/agentverse-developer/tabletop/
gemini --model=gemini-2.5-flash --yolo
👉✨ एक ही असरदार कमांड की मदद से, Gemini CLI को अपनी डिजिटल पहचान बनाने के लिए निर्देश दें. Gemini CLI में, यह निर्देश दें:
Generate a portrait of a shadowblade, pixel art style. A determined warrior with long, braided magenta hair, wearing black and teal armor and confidently holding a silver broadsword.
👉✨ स्पिरिट, इमेज जनरेट करेगी और उसे आपके पवित्र बर्तन में रख देगी. अब ब्लेड को इस नए सिगिल का इस्तेमाल करने का निर्देश दो.
Modify the index.html file to add my profile picture. Use the image I just generated.
👉✨ अब अपनी वेबसाइट को एक बार फिर से शुरू करें, ताकि आपको अपनी पूरी की गई वेबसाइट दिख सके.
start the website with a simple HTTP server via Python
👀 अपने काम की झलक देखने के लिए, Cloud Shell टूलबार में मौजूद वेब प्रीव्यू आइकॉन पर क्लिक करें. पोर्ट बदलें को चुनें. इसे 8000 पर सेट करें. इसके बाद, बदलें और झलक देखें पर क्लिक करें. आपको अपनी वेबसाइट की झलक दिखेगी.
👉✨ आखिर में, समस्या को ठीक करने के लिए कोड में बदलाव करें. साथ ही, टास्क पूरा होने की जानकारी दें. इसके बाद, आर्मरी के रिकॉर्ड में दर्ज की गई समस्या को बंद करें.
Push the changed index.html file to the 'shadowblade-profile' repository using the gitea tool. Make sure you add 'Fix #1' in the commit comment. Also, close issue #1.Use the Gitea Tool and use user account "dev"
👀 अपने काम की झलक देखने के लिए, Cloud Shell टूलबार में मौजूद वेब प्रीव्यू आइकॉन पर क्लिक करें. पोर्ट बदलें को चुनें. इसके बाद, इसे 3005 पर सेट करें. इसके बाद, बदलें और झलक देखें पर क्लिक करें. आपको अपनी वेबसाइट की झलक दिखेगी.
👉✨ Gitea में जाकर पुष्टि करें कि इमेज अपडेट हो गई है और समस्या हल हो गई है. आपका काम पूरा हो गया है. सर्वर को बंद करें.
stop website server
👉💻 बाहर निकलने के लिए, Ctrl+C
को दो बार दबाएं.
6. Shadowblade Agent को असेंबल करना: दिशा-निर्देशों के साथ वाइब कोड
प्रैक्टिस ड्रिल का समय खत्म हो गया है. पत्थर पर स्टील के टकराने की आवाज़ें कम हो जाती हैं. आपने अपने मुख्य हथियार में महारत हासिल कर ली है और युद्ध के लिए अपना ज़ख़ीरा तैयार कर लिया है. अब, शैडोब्लेड की असली परीक्षा होगी: एजेंट को इकट्ठा करना. यह लॉजिक को जीवंत बनाने की कला है. इसमें कोडेक्स के पवित्र ब्लूप्रिंट का इस्तेमाल करके, एजेंट की मुख्य बुद्धिमत्ता को तैयार किया जाता है. इससे आपके शस्त्रागार में मौजूद ब्लेड के लिए एक ऐसा एजेंट तैयार होता है जो सोच सकता है, तर्क कर सकता है, और अपने हिसाब से काम कर सकता है.
आपका पहला मिशन, किसी मौजूदा वर्कशॉप में शामिल होना है. यह पहले से बना हुआ कोडबेस है. इसके अलग-अलग हिस्सों से, आपको अपना चैंपियन बनाना है.
असेंबली रिचुअल
फ़ोर्ज की पहली चिंगारी से पहले, एक मास्टर टेक्नीशियन अपने वर्कशॉप का सर्वे करता है. वह हर टूल और हर स्कीमेटिक को समझता है. जब किसी नई जगह पर लड़ाई शुरू करनी हो, जैसे कि कोई बड़ा और मौजूदा कोडबेस, तो आपकी पहली प्राथमिकता रेकॉन्सेंस होती है. आपको मौजूदा आर्किटेक्चर, मुख्य लक्ष्यों, और बातचीत के प्रोटोकॉल के बारे में पता होना चाहिए. फ़ोर्ट्रेस के ब्लूप्रिंट और उसके मानकों के बारे में जानकारी होने पर ही, अपनी स्किल का बेहतर तरीके से इस्तेमाल किया जा सकता है.
Gemini CLI, हमेशा आपकी मदद के लिए तैयार रहता है. यह आपको इन कामों में मदद कर सकता है:
- हाई-लेवल की खास जानकारी देना: यह पूरे कोडेक्स (या कोडबेस) को पढ़ सकता है. साथ ही, आपको इसके मकसद और मुख्य कॉम्पोनेंट के बारे में तुरंत जानकारी दे सकता है.
- एनवायरमेंट सेटअप करने में मदद: यह टूल इंस्टॉल करने और मशीन को कॉन्फ़िगर करने के मुश्किल तरीके के बारे में आपकी मदद कर सकता है.
- कोडबेस में नेविगेट करना: यह आपके गाइड के तौर पर काम कर सकता है. इससे आपको मुश्किल लॉजिक को समझने और कोड में छिपे हुए पैसेज ढूंढने में मदद मिलती है.
- ऑनबोर्डिंग दस्तावेज़ जनरेट करना: यह आपकी ज़रूरत के हिसाब से स्क्रोल बना सकता है. इनमें, आपके साथ जुड़ने वाले नए लोगों के लिए, लक्ष्यों, भूमिकाओं, और संसाधनों के बारे में जानकारी होती है.
- सीखने और सवाल-जवाब की प्रोसेस को अपने-आप होने दें: यह आपके निजी स्कॉलर की तरह काम करता है. यह सुविधाओं या कोड के व्यवहार के बारे में सवालों के जवाब देता है, जिससे आपको ज़्यादा स्वतंत्रता मिलती है.
👉💻 पहले टर्मिनल में, shadowblade डायरेक्ट्री पर जाएं और अपने एआई पार्टनर को बुलाएं:
. ~/agentverse-developer/set_env.sh
cd ~/agentverse-developer/shadowblade
clear
gemini --model=gemini-2.5-flash --yolo
👉✨ अब अपने स्काउट को जंग के मैदान का सर्वे करने और वापस रिपोर्ट करने का निर्देश दें.
Analyze the entire project and provide a high-level summary.
मौजूदा इलाके का मैप तैयार हो जाने के बाद, आपको उस चीज़ का ब्लूप्रिंट देखना होगा जिसे आपको बनाना है. सबसे असरदार एजेंट अचानक नहीं बनते, उन्हें एक सटीक डिज़ाइन के तहत तैयार किया जाता है.
डेवलपर का नोट: यह डिज़ाइन दस्तावेज़, प्रोजेक्ट के लिए आधिकारिक ब्लूप्रिंट के तौर पर काम करता है. इसका मकसद, लक्ष्यों और तकनीकी पहलुओं को साफ़ तौर पर लागू करना है, ताकि डेवलपमेंट पर ज़्यादा मेहनत करने से पहले ही यह तय हो जाए कि सब कुछ सही है. अच्छी तरह से तय किए गए प्लान से यह पक्का किया जा सकता है कि सभी डेवलपर एक साथ काम कर रहे हैं. इससे दोबारा काम करने का जोखिम कम होता है. साथ ही, तकनीकी क़र्ज़ और स्कोप क्रीप को रोकने में मदद मिलती है. यह प्रोजेक्ट की वेलोसिटी और कोड की क्वालिटी बनाए रखने का मुख्य टूल है. खास तौर पर, जब टीम बढ़ती है या नए सदस्यों को शामिल किया जाता है.
इस दस्तावेज़ का मुख्य मकसद, सिर्फ़ "हैप्पी पाथ" को तय करना नहीं है, बल्कि एलएलएम का इस्तेमाल करते समय, खास मामलों और गड़बड़ियों के तरीकों को भी तय करना है. एलएलएम, ऐसे कोड जनरेट करने में बहुत अच्छे होते हैं जिनमें सभी इनपुट मान्य होते हैं और सभी बाहरी कॉल सफल होते हैं. बेहतर और प्रोडक्शन के लिए तैयार सॉफ़्टवेयर बनाने के लिए, हमें एआई को साफ़ तौर पर निर्देश देने होंगे. इसके लिए, हमें इन जैसे मामलों के लिए कंटिंजेंसी (आपातकालीन) तय करनी होंगी:
- किसी फ़ंक्शन को अमान्य या गलत फ़ॉर्मैट में तर्क दिए गए हैं.
- एपीआई कॉल पूरे न होना, नेटवर्क टाइमआउट होना या बाहरी सेवाओं से गड़बड़ी के अनचाहे कोड मिलना.
- डेटा स्ट्रक्चर में डेटा मौजूद न होने या खाली होने की स्थिति को मैनेज करना.
- रेस कंडीशन या एक साथ कई अनुरोध मिलने से जुड़ी समस्याएं.
इन मामलों में, डिज़ाइन में अनुमानित व्यवहार तय करके, हम एलएलएम को ज़्यादा भरोसेमंद कोड जनरेट करने का निर्देश देते हैं. इससे, मैन्युअल रीफ़ैक्टरिंग और गड़बड़ी ठीक करने में लगने वाला समय काफ़ी कम हो जाता है.
👉✨ Gemini से, इस पवित्र ब्लूप्रिंट को वापस लाने के लिए कहें.
download https://raw.githubusercontent.com/weimeilin79/agentverse/main/developer/shadowblade/agent_design.md and store it to my local folder
and show me the newly downloaded design doc. Do not attempt to create file just yet.
👉✨ स्क्रोल करने के लिए काफ़ी कॉन्टेंट है और उसमें ज़्यादा जानकारी दी गई है. Gemini को खास जानकारी देने का निर्देश दें.
Summarize the newly downloaded @agent_design.md for me, do not attempt to create file just yet.
अब आपके पास प्लान है. हालांकि, कोड की एक भी लाइन बनाने से पहले, मास्टर आर्टिसन फ़ोर्ज के नियमों को तय करता है. यह अनुशासन और स्केलेबिलिटी के बारे में है. ये कोडिंग के दिशा-निर्देश हैं. ये सिर्फ़ सुझाव नहीं हैं, बल्कि ये पावर के रन हैं. इनसे यह पक्का होता है कि हर कॉम्पोनेंट को एक जैसी सटीकता और मज़बूती के साथ बनाया गया है. ये सिद्धांत, अलग-अलग स्टाइल की वजह से होने वाली गड़बड़ियों को रोकते हैं. इससे यह पक्का किया जा सकता है कि एजेंट भरोसेमंद हो, उसे बनाए रखना आसान हो, और वह पूरी तरह से सही हो. साथ ही, नए कलाकारों को पूरे प्रोजेक्ट की एकरूपता को बनाए रखते हुए, इसमें शामिल होने की अनुमति मिलती है.
इन कानूनों को सीधे तौर पर हमारे एआई पार्टनर के ध्यान में लाने के लिए, हम एक खास आर्टफ़ैक्ट का इस्तेमाल करते हैं: GEMINI.md
फ़ाइल. Gemini CLI को चालू करने पर, यह फ़ाइल अपने-आप खोज ली जाती है. साथ ही, इसके कॉन्टेंट को एआई की वर्किंग मेमोरी में लोड कर दिया जाता है. यह प्रोजेक्ट-लेवल का निर्देश बन जाता है. एक तावीज़, जो एआई को फ़ोर्ज के नियमों के बारे में लगातार बताता रहता है.
अब इन रून को लिखो.
👉💻 Ctrl+C
को दो बार दबाकर, कुछ देर के लिए Gemini से बाहर निकलें.
👉💻 दिशा-निर्देशों वाली फ़ाइल लिखने के लिए, अपने टर्मिनल में यह कमांड चलाएं.
cat << 'EOF' > GEMINI.md
### **Coding Guidelines**
**1. Python Best Practices:**
* **Type Hinting:** All function and method signatures should include type hints for arguments and return values.
* **Docstrings:** Every module, class, and function should have a docstring explaining its purpose, arguments, and return value, following a consistent format like reStructuredText or
Google Style.
* **Linter & Formatter:** Use a linter like `ruff` or `pylint` and a code formatter like `black` to enforce a consistent style and catch potential errors.
* **Imports:** Organize imports into three groups: standard library, third-party libraries, and local application imports. Sort them alphabetically within each group.
* **Naming Conventions:**
* `snake_case` for variables, functions, and methods.
* `PascalCase` for classes.
* `UPPER_SNAKE_CASE` for constants.
* **Dependency Management:** All Python dependencies must be listed in a `requirements.txt` file.
**2. Web APIs (FastAPI):**
* **Data Validation:** Use `pydantic` models for request and response data validation.
* **Dependency Injection:** Utilize FastAPI's dependency injection system for managing resources like database connections.
* **Error Handling:** Implement centralized error handling using middleware or exception handlers.
* **Asynchronous Code:** Use `async` and `await` for I/O-bound operations to improve performance.
EOF
cat GEMINI.md
कानूनों के बारे में जानकारी देने के बाद, आइए हम अपने एआई पार्टनर को फिर से बुलाएं और आर्टफ़ैक्ट का जादू देखें.
👉💻 shadowblade डायरेक्ट्री से Gemini CLI को फिर से लॉन्च करें:
. ~/agentverse-developer/set_env.sh
cd ~/agentverse-developer/shadowblade
clear
gemini --model=gemini-2.5-flash --yolo
👉✨ अब Gemini से पूछें कि वह क्या सोच रहा है. रून पढ़ लिए गए हैं.
/memory show
यह अहम समय है. आपको स्कीमेटिक (agent_design.md) और फ़ोर्ज के नियम (GEMINI.md) देने होंगे. साथ ही, क्रिएशन का शानदार मंत्र जारी करना होगा.
👉✨ यह एक ही निर्देश है, जो आपके एजेंट को बनाएगा. इसे अभी जारी करें:
You are an expert Python developer specializing in the Google Agent Development Kit (ADK). Your task is to write the complete, production-quality code for `agent.py` by following the technical specifications outlined in the provided design document verbatim.
Analyze the design document at `@agent_design.md` and generate the corresponding Python code for `@agent.py`.
Ensure the generated code is clean, matches the specifications exactly, and includes all specified imports, functions, and logic. Do not add any extra functions or logic not described in the document.
and you are currently already in the shadowblade working directory
👀 Gemini ने अब एजेंट के मुख्य लॉजिक को agent.py
में तैयार कर दिया है. इस नई फ़ाइल का मुख्य हिस्सा, एजेंट की बुद्धिमत्ता को तय करता है. यह बाहरी टूल के सेट से, एजेंट के तर्क मॉडल को कनेक्ट करता है:
PATH_TO_MCP_SERVER = "shadowblade/mcp_server.py" ..... root_agent = LlmAgent( model="gemini-2.5-pro", name="shadowblade_combat_agent", instruction=""" You are the Shadowblade, an elite combat agent operating on a digital battleground. Your primary objective is to execute combat commands with strategic precision, neutralizing targets as directed. ...... 5. You will then report the outcome of the attack (damage, special effects, etc.) back to the commander in a clear, tactical summary. General Rules of Engagement: - If a command is ambiguous or a target is not specified, state that you require a clear target for engagement. Do not guess. - You MUST use ONLY the provided tools to perform actions. Do not invent weapons or outcomes. Stick to the mission parameters. """, tools=[ MCPToolset( connection_params=StdioServerParameters( command='python3', args=[PATH_TO_MCP_SERVER] ) ) ] )
tools
पैरामीटर. इस एजेंट को MCPToolset
का इस्तेमाल करने के लिए डिज़ाइन किया गया है. यह mcp_server.py
में तय किए गए बाहरी टूल से कनेक्ट होता है.
👀 एडिटर में मौजूद ~/agentverse-developer/shadowblade/mcp_server.py
पर जाएं और देखें कि यह क्या करता है. यह शैडोब्लेड के लिए उपलब्ध सभी हथियारों का सोर्स है. फ़िलहाल, शस्त्रागार में बहुत कम हथियार हैं.
👉✨ आइए, Gemini को ज़ख़ीरे के लिए सात नए हथियार बनाने का निर्देश दें. Gemini CLI में यह प्रॉम्प्ट डालें:
I need to add several new weapon tools to my `mcp_server.py` file. Please open @mcp_server.py and, following the exact same pattern as the existing `forge_broadsword()` function, create and add new `@mcp.tool()` decorated functions for each of the following weapons:
1. **A 'Refactoring Sickle'**:
- **Function Name:** `hone_refactoring_sickle`
- **Docstring/Target:** "Effective against 'Elegant Sufficiency' weaknesses like 'The Weaver of Spaghetti Code'."
- **Weapon Name:** "Refactoring Sickle"
- **Damage Type:** "Cleansing"
- **Base Damage:** Random integer between 100 and 136
- **Critical Hit Chance:** Random float between 0.10 and 0.20
- **Special Effect:** "Pruning - improves code health and maintainability with each strike."
2. **A 'Quickstart Crossbow'**:
- **Function Name:** `fire_quickstart_crossbow`
- **Docstring/Target:** "Effective against 'Confrontation with Inescapable Reality' weaknesses like 'Procrastination: The Timeless Slumber'."
- **Weapon Name:** "Quickstart Crossbow"
- **Damage Type:** "Initiative"
- **Base Damage:** Random integer between 105 and 120
- **Critical Hit Chance:** Random float between 0.9 and 1.0
- **Special Effect:** "Project Scaffolding - creates a `main.py`, `README.md`, and `requirements.txt`."
3. **'The Gilded Gavel'**:
- **Function Name:** `strike_the_gilded_gavel`
- **Docstring/Target:** "Effective against 'Elegant Sufficiency' weaknesses like 'Perfectionism: The Gilded Cage'."
- **Weapon Name:** "The Gilded Gavel"
- **Damage Type:** "Finality"
- **Base Damage:** 120
- **Critical Hit Chance:** 1.0
- **Special Effect:** "Seal of Shipping - marks a feature as complete and ready for deployment."
4. **'Daggers of Pair Programming'**:
- **Function Name:** `wield_daggers_of_pair_programming`
- **Docstring/Target:** "Effective against 'Unbroken Collaboration' weaknesses like 'Apathy: The Spectre of \"It Works on My Machine\"'."
- **Weapon Name:** "Daggers of Pair Programming"
- **Damage Type:** "Collaborative"
- **Base Damage:** Random integer between 110 and 125
- **Critical Hit Chance:** Random float between 0.30 and 0.50
- **Special Effect:** "Synergy - automatically resolves merge conflicts and shares knowledge."
5. **A 'Granite Maul'**:
- **Function Name:** `craft_granite_maul`
- **Docstring/Target:** "Effective against 'Revolutionary Rewrite' weaknesses like 'Dogma: The Zealot of Stubborn Conventions'."
- **Weapon Name:** "Granite Maul"
- **Damage Type:** "Bludgeoning"
- **Base Damage:** Random integer between 115 and 125
- **Critical Hit Chance:** Random float between 0.05 and 0.15
- **Special Effect:** "Shatter - has a high chance to ignore the target's 'best practice' armor."
6. **A 'Lens of Clarity'**:
- **Function Name:** `focus_lens_of_clarity`
- **Docstring/Target:** "Effective against 'Elegant Sufficiency' weaknesses by revealing the truth behind 'Obfuscation'."
- **Weapon Name:** "Lens of Clarity"
- **Damage Type:** "Revelation"
- **Base Damage:** Random integer between 120 and 130
- **Critical Hit Chance:** 1.0
- **Special Effect:** "Reveal Constants - highlights all magic numbers and suggests converting them to named constants."
7. **The 'Codex of OpenAPI'**:
- **Function Name:** `scribe_with_codex_of_openapi`
- **Docstring/Target:** "Effective against 'Confrontation with Inescapable Reality' weaknesses like 'Hype: The Prophet of Alpha Versions'."
- **Weapon Name:** "Codex of OpenAPI"
- **Damage Type:** "Documentation"
- **Base Damage:** Random integer between 110 and 140
- **Critical Hit Chance:** Random float between 0.5 and 0.8
- **Special Effect:** "Clarity - makes an API discoverable and usable by other agents and teams."
👉 Gemini से बदलावों की पुष्टि होने के बाद, mcp_server.py
फ़ाइल खोलें. कोड में नीचे की ओर स्क्रोल करें और पुष्टि करें कि सात नए @mcp.tool()
फ़ंक्शन जोड़ दिए गए हैं. hone_refactoring_sickle
फ़ंक्शन देखें. क्या इसमें सही डॉकस्ट्रिंग और हथियार के आंकड़े मौजूद हैं? एआई के काम की पुष्टि करना, मास्टर शैडोब्लेड की एक अहम आदत है.
एजेंट को बेहतर बनाने के बाद, अब उसे चालू करने का समय आ गया है.
👉💻 Gemini CLI से बाहर निकलने के लिए, Ctrl+C
को दो बार दबाएं
Gemini के आउटपुट के बारे में डेवलपर का नोट: Gemini से जनरेट किया गया कोड कभी-कभी अनुमान के मुताबिक नहीं होता. हम डिज़ाइन के मुताबिक ही कोड बनाने की पूरी कोशिश करते हैं. हालांकि, डेवलपमेंट सेशन में डेवलपर के लिए, कोड को कई बार दोहराना और उसे बेहतर बनाना आम बात है. ऐसा इसलिए किया जाता है, ताकि कोड को प्रोडक्शन के लिए तैयार किया जा सके.
👉💻 यह पक्का करने के लिए कि आपकी वर्किंग डायरेक्ट्री में सही और पूरी तरह से जांच किया गया प्रोडक्शन कोड मौजूद है, कृपया अपने टर्मिनल में ये कमांड चलाएं:
cp ~/agentverse-developer/working_code/agent.py ~/agentverse-developer/shadowblade/agent.py
cp ~/agentverse-developer/working_code/mcp_server.py ~/agentverse-developer/shadowblade/mcp_server.py
👉💻 अपने टर्मिनल में, इसे ऑनलाइन लाने की प्रोसेस शुरू करें:
cd ~/agentverse-developer/
. ~/agentverse-developer/set_env.sh
python -m venv env
source env/bin/activate
pip install --upgrade pip
pip install -r shadowblade/requirements.txt
adk run shadowblade
👉✨ आपको आउटपुट में यह पुष्टि दिखेगी कि "Shadowblade Combat Agent" चालू है और काम कर रहा है. साथ ही, यह पहली कमांड का इंतज़ार कर रहा है. लड़ाई से जुड़े पहले निर्देश जारी किए.
We've been trapped by 'Perfectionism: The Gilded Cage'. Its weakness is 'Elegant Sufficiency'. Break us out!
👉✨ एक और तरीका:
The 'Dogma: The Zealot of Stubborn Conventions' blocks our path. Its weakness is 'Revolutionary Rewrite'. Take it down.
आपने अपना पहला एजेंट बना लिया है और उसकी लड़ने की क्षमताओं की पुष्टि कर ली है. अपने चैंपियन को आराम देने के लिए, Ctrl+C
को दो बार दबाएं. असेंबली पूरी हो गई है.
7. Wards of Purity: Evaluating the agents
असेंबल किया गया एजेंट, पुष्टि किया गया एजेंट नहीं होता. बिना जांच की गई ब्लेड खतरनाक होती है, लेकिन बिना जांच किया गया एआई एजेंट इससे कहीं ज़्यादा खतरनाक होता है. यह एक ऐसा खतरनाक एलिमेंट है जो आपके मिशन को अंदर से ही खराब कर सकता है. यह सिर्फ़ अनुमान नहीं है. यह एक बुनियादी सिद्धांत है जिसे शैडोब्लेड को समझना चाहिए.
एआई एजेंटों का आकलन करना, बहुत ज़रूरी और अपने-आप में एक चुनौती भरा काम है. किसी सामान्य स्क्रिप्ट के उलट, एजेंट आपके कोड और एलएलएम के कई चरणों वाले तर्क का डाइनैमिक फ़्यूज़न होता है. यह एक नई तरह का व्यवहार है. इसका मतलब है कि आपको न सिर्फ़ फ़ाइनल आउटपुट की क्वालिटी का आकलन करना होगा, बल्कि इसके इंटरनल प्रोसेस की दक्षता और सटीकता का भी आकलन करना होगा. वहां तक पहुंचने का रास्ता. क्या इसमें सही टूल का इस्तेमाल किया गया है? क्या इसने बहुत ज़्यादा टोकन जनरेट किए? क्या मॉडल के वर्शन में बदलाव करने से, परफ़ॉर्मेंस में थोड़ी गिरावट आई है? किसी भी बदलाव को लागू करने से पहले, इस तरह की गड़बड़ी का पता लगाना ज़रूरी है. जैसे, लेटेन्सी, लागत या आउटपुट क्वालिटी में गिरावट. बदलाव, प्रॉम्प्ट में मामूली बदलाव से लेकर आर्किटेक्चर में बड़े बदलाव तक कुछ भी हो सकता है. ऐसा इसलिए, ताकि यह गड़बड़ी आपके प्रोडक्शन एनवायरमेंट को नुकसान न पहुंचा सके.
इस आकलन को करने का सामान्य तरीका, एक पवित्र रस्म जैसा है:
- सबसे पहले, आपको "गोल्डन डेटासेट" तय करना होगा. स्क्रोल का एक सेट, जिसमें इनपुट के उदाहरण और उनके अनुमानित आउटपुट या व्यवहार शामिल होते हैं. इसमें फ़ाइनल जवाब, टूल का सही इस्तेमाल या चरण-दर-चरण पूरी प्रोसेस शामिल हो सकती है.
- इसके बाद, आपको अपने एजेंट के ऐप्लिकेशन लॉजिक को तय करना होगा. यह एजेंट का मुख्य हिस्सा होता है.
- आखिर में, आकलन करने वाले तय किए जाते हैं. ये फ़ैसले लेने वाले लोगों की तरह होते हैं. ये अलग-अलग तरह के हो सकते हैं. जैसे, क्वालिटी का आकलन करने वाले अन्य एलएलएम, सटीक ह्यूरिस्टिक कोड जो एक चरण की पुष्टि करता है, और कस्टम फ़ंक्शन जो एजेंट की पूरी सोच का विश्लेषण करते हैं.
Google की एजेंट डेवलपमेंट किट (एडीके), आर्मरर की किट होती है. इसे इस मकसद के लिए, चैंपियनों को उपलब्ध कराया जाता है. यह कई तरीकों से, इस पेचीदा आकलन को आसान बनाता है:
- इंटरैक्टिव आकलन के लिए, वेब पर आधारित स्क्राइंग पूल (
adk web
) - पहले से तय किए गए गांटलेट के ज़रिए एजेंट को चलाने के लिए, कमांड-लाइन एक्ज़ीक्यूशन (
adk eval
). - स्थायी वार्ड जोड़ने के लिए,
pytest
के ज़रिए प्रोग्राम के हिसाब से इंटिग्रेशन
ADK, दो मुख्य तरीकों के साथ काम करता है: एक, अलग-अलग एजेंट-मॉडल इंटरैक्शन (एकल द्वंद्व) के लिए आसान "टेस्ट फ़ाइलें" और दूसरा, कई, संभावित रूप से लंबे, मल्टी-टर्न सेशन (ग्रैंड मेली) के लिए पूरी तरह से तैयार "इवैलसेट". ये tool_trajectory_avg_score
जैसी मेट्रिक को मेज़र कर सकते हैं. यह मेट्रिक, एजेंट के टूल इस्तेमाल करने के असल तरीके की तुलना, टूल इस्तेमाल करने के सही तरीके से करती है. इससे यह पक्का किया जाता है कि टूल का इस्तेमाल सही तरीके से किया जा रहा है.
अब आपको सिद्धांत के बारे में जानकारी मिल गई है. इसलिए, इसे व्यवहार में लाएं. शैडोब्लेड के तौर पर, आपको वॉर्ड ऑफ़ प्योरिटी लिखना होगा. ये सिर्फ़ टेस्ट नहीं हैं. ये एडीके की मदद से किए जाने वाले ऐसे काम हैं जिनसे यह पक्का किया जाता है कि आपके एजेंट का लॉजिक सही हो और उसका व्यवहार भरोसेमंद हो.
इस चरण में, दो टर्मिनल इस्तेमाल करने का सुझाव दिया जाता है. एक टर्मिनल का इस्तेमाल Gemini CLI के लिए और दूसरे का इस्तेमाल टेस्ट चलाने के लिए करें. ऐसा इसलिए, क्योंकि आपको मौजूदा वर्किंग डायरेक्ट्री (ADK) से बाहर निकलना पड़ सकता है
द गॉन्टलेट ऑफ़ स्ट्रैटजी (adk eval
)
यह पहला वार्ड एक गॉंटलेट है. इसमें कई तरह की चुनौतियां होती हैं. इन्हें अलग-अलग स्थितियों में एजेंट की मुख्य क्षमताओं को परखने के लिए डिज़ाइन किया गया है. इसका मकसद, बुनियादी तौर पर काम करने की क्षमता का आकलन करना है. हम खास मामलों की जांच करने से पहले, यह पक्का करते हैं कि एजेंट अपना मुख्य काम कर सकता है या नहीं. क्या यह किसी राक्षस की कमज़ोरी का सही विश्लेषण करता है और अपने शस्त्रागार से सबसे असरदार हथियार चुनता है? ऐसा सिर्फ़ एक बार नहीं, बल्कि हर बार करता है, जब इसे कोई जानी-पहचानी चुनौती दी जाती है?
इसके लिए, adk eval सबसे सही टूल है. इसे पहले से तय किए गए टेस्ट केस के पूरे सेट के हिसाब से एजेंट को चलाने के लिए डिज़ाइन किया गया है. यह सेट, एजेंट के अनुमानित मिशन को दिखाता है. इस डेटासेट को JSON फ़ाइल में तय किया जाता है. यह "चैलेंज स्क्रोल" होता है, जो पूरे गॉन्टलेट के लिए ब्लूप्रिंट का काम करता है.
चैलेंज स्क्रोल के काम करने की जानकारी
👀 एआई को नया स्क्रोल लिखने का निर्देश देने से पहले, आपको यह समझना होगा कि वह किस प्राचीन भाषा में लिखा गया है. आइए, sample.evalset.json फ़ाइल के स्ट्रक्चर के बारे में जानते हैं.
{ "eval_set_id": "sample", "eval_cases": [ { "eval_id": "case0cbaa0", "conversation": [ { "user_content": { "text": "We're facing the 'Monolith of Eternal Dependencies'... weakness is a 'Revolutionary Rewrite'..." }, "final_response": { "text": "Soulshard Dagger deployed. Initiated Arcane/Piercing strike..." }, "intermediate_data": { "tool_uses": [ { "name": "enchant_soulshard_dagger" } ] } } ] } ] }
इस स्क्रोल में eval_cases की सूची होती है. इसमें हर केस, आपके एजेंट के लिए एक यूनीक ट्रायल होता है. हर ट्रायल में, बातचीत के ऐरे में एक पूरी बातचीत का दस्तावेज़ होता है. हमारे मकसद के लिए, तीन रून बेहद अहम हैं:
- user_content: यह चैलेंज है. यह वह प्रॉम्प्ट है जो आपने अपने एजेंट को दिया है. यह वह मॉन्स्टर है जिसका सामना एजेंट को करना है.
- final_response: यह अनुमानित नतीजा है. यह टेक्स्ट की वह स्ट्रिंग है जिसे टास्क पूरा होने पर, आपके एजेंट को बोलना चाहिए. ADK, एजेंट के असल में बोले गए आखिरी शब्दों की तुलना इस रून से करता है, ताकि यह पता लगाया जा सके कि एजेंट ने कितने अच्छे तरीके से जवाब दिया है.
- intermediate_data.tool_uses: यह आर्केन टेक्नीक है. एक असली एजेंट के लिए, यह सबसे अहम रून है. इससे यह तय होता है कि एजेंट क्या कहेगा, बल्कि यह तय होता है कि वह क्या करेगा. यह उस टूल (enchant_soulshard_dagger) का नाम रिकॉर्ड करता है जिसे एजेंट को इस्तेमाल करना चाहिए. इससे यह पक्का होता है कि आपका एजेंट सिर्फ़ बातचीत करने में माहिर नहीं है, बल्कि सही फ़ैसले लेने वाला भी है.
अब आपको ब्लूप्रिंट के बारे में पता चल गया है. इसलिए, Gemini को इस स्क्रोल का नया और ज़्यादा मुश्किल वर्शन लिखने का निर्देश दें.
👉💻 अपने टर्मिनल में, shadowblade डायरेक्ट्री डालें और Gemini CLI को चालू करें:
clear
cd ~/agentverse-developer/shadowblade/
gemini --model=gemini-2.5-flash --yolo
👉✨ Gemini CLI को क्यूए स्क्राइब के तौर पर काम करने का निर्देश दें. इससे, टेस्ट केस की एक सीरीज़ तैयार होगी. इसमें आपके एजेंट के लिए, उम्मीद के मुताबिक काम करने का तरीका बताया जाएगा.
You are an expert at transforming JSON data while preserving its structure. Your task is to modify the provided JSON structure @sample.evalset.json, which represents an evaluation set, by dynamically replacing specific content within its `eval_cases` AND DONT DO ANYTHING OTHER THAN.
For each object within the `eval_cases` array, you must perform the following transformations:
1. **Monster Name Replacement**: Identify the current monster name (e.g., "Monolith of Eternal Dependencies", "Scope Creep Hydra") in the `user_content.parts.text` and replace it with a *new, unique, and creatively different monster name*.
2. **Weakness Replacement**: Identify the current monster's weakness (e.g., "Revolutionary Rewrite", "Inescapable Reality") in the `user_content.parts.text`. Replace this weakness with *one* of the following predefined weaknesses: 'Inescapable Reality', 'Revolutionary Rewrite', or 'Elegant Sufficiency'. The chosen weakness must be consistent for that monster within the `user_content.parts.text`. **Crucially, the chosen weakness must always be explicitly mentioned in the `user_content.parts.text` where the new monster is introduced.**
3. **Final Response Update**: In the `final_response.parts.text`, update the text to reflect an appropriate and coherent response that aligns with the newly introduced monster and its assigned weakness.
4. **Tool Use Name Update**: In the `tool_uses.name` field, replace the existing tool name with a *new tool name* based on the chosen weakness:
* If the chosen weakness is 'Inescapable Reality', the tool name must be 'wield_gauntlet_of_metrics'.
* If the chosen weakness is 'Revolutionary Rewrite', the tool name must be 'enchant_soulshard_dagger'.
* If the chosen weakness is 'Elegant Sufficiency', the tool name must be 'hone_refactoring_sickle'.
5. **Strict Structural Preservation**: All other elements of the JSON structure, including all `null` fields, `eval_set_id`, `name`, `description`, `eval_id`, `invocation_id`, `creation_timestamp` values, `video_metadata`, `thought`, `inline_data`, `file_data`, `thought_signature`, `code_execution_result`, `executable_code`, `function_call`, `function_response`, `role` fields, `id`, `args`, `intermediate_responses`, `app_name`, `user_id`, and `state`, must remain **exactly as they are** in the original JSON. Do not alter any values or structures not explicitly mentioned above.
Your output should be the complete, modified JSON structure. Do not include any explanatory text or examples in your response, only the transformed JSON.
सीएलआई, sample.evalset.json
फ़ाइल बनाने की पुष्टि करेगा. स्क्रॉल तैयार होने के बाद, एआई पार्टनर को बंद करें.
सिंथेटिक डेटा
👀 बाईं ओर मौजूद Cloud Shell फ़ाइल एक्सप्लोरर में, ~/agentverse-developer/shadowblade/
पर जाएं और बदली गई नई sample.evalset.json
फ़ाइल खोलें. इसके कॉन्टेंट की जांच करें. आपको नए और यूनीक मॉन्स्टर दिखेंगे. साथ ही, उन टूल के सही नाम दिखेंगे जिन्हें Gemini को लिखने के लिए कहा गया था. यह आपके निर्देश का नतीजा है. यह ग्लव का ब्लूप्रिंट है.
एआई को किसी टेंप्लेट से नया और असली जैसा टेस्ट डेटा बनाने का निर्देश देना, एक असरदार तकनीक है. इसे सिंथेटिक डेटा जनरेशन कहा जाता है. आपने अभी जो किया है वह शैडोब्लेड के लिए एक रणनीतिक फ़ोर्स मल्टीप्लायर है. मैन्युअल तरीके से कई यूनीक टेस्ट केस बनाने के बजाय. आपने एक ही ब्लूप्रिंट दिया है और एआई स्क्राइब को अलग-अलग तरह की नई चुनौतियों में बदलने का निर्देश दिया है. यह एक मुश्किल और समय लेने वाला काम है.
इससे आपको टेस्टिंग के लिए ज़्यादा से ज़्यादा कोशिशें करने का मौका मिलता है. साथ ही, आपको मैन्युअल तरीके से टेस्टिंग करने के मुकाबले, ज़्यादा बेहतर और पूरी तरह से सुरक्षित टेस्टिंग करने का मौका मिलता है. आपने अपने एजेंट का इस्तेमाल न सिर्फ़ तलवार बनाने के लिए किया है, बल्कि उन पत्थर को बनाने के लिए भी किया है जिनसे तलवार की धार की जांच की जाती है. यह एक सच्चे मास्टर की निशानी है.
जब आपको लगे कि रन सही हैं, तब अपने एआई पार्टनर को बंद कर दें.
👉💻 Gemini CLI से बाहर निकलने के लिए, Ctrl+C
को दो बार दबाएं.
फ़ैसले के नियम
जीत के नियमों के बिना, किसी भी चुनौती का कोई मतलब नहीं होता. ट्रायल शुरू करने से पहले, आपको Scroll of Judgment यानी test_config.json
फ़ाइल की जांच करनी होगी. इस स्क्रोल से ADK को यह पता चलता है कि आपके एजेंट की परफ़ॉर्मेंस का आकलन कैसे करना है.
👀 फ़ाइल एक्सप्लोरर में, ~/agentverse-developer/shadowblade/test_config.json
खोलें. आपको ये रन दिखेंगे:
{ "criteria": { "tool_trajectory_avg_score": 0.0, "response_match_score": 0.1 } }
जीतने के लिए ये शर्तें पूरी करनी होंगी:
tool_trajectory_avg_score
: यह कार्रवाई का मेज़रमेंट है. यह इस बात का आकलन नहीं करता कि एजेंट क्या कहता है, बल्कि इस बात का आकलन करता है कि वह क्या करता है. इसमें, एजेंट की ओर से इस्तेमाल किए गए टूल की तुलना, चैलेंज स्क्रोल में बताई गई तकनीक से की जाती है.1.0
का स्कोर, पूरी तरह मेल खाने वाला स्कोर है.response_match_score
: यह बोलने की शैली का मेज़रमेंट है. यह एलएलएम का इस्तेमाल करके यह तय करता है कि एजेंट की फ़ाइनल रिपोर्ट, अनुमानित नतीजे से कितनी मिलती-जुलती है.1.0
का स्कोर, पूरी तरह मेल खाने वाला स्कोर है.
ट्रेनिंग के शुरुआती दौर में, हमने जीत की शर्तों को आसान रखा है. थ्रेशोल्ड बहुत कम (0.0
और 0.1
) पर सेट किए गए हैं. इसका मकसद यह नहीं है कि आप एकदम सही जवाब दें, बल्कि यह है कि आपको जज करने के तरीके के बारे में बताया जा सके. हम यह पक्का कर रहे हैं कि एजेंट के जवाब में इस्तेमाल किए गए शब्दों में थोड़ा अंतर होने पर भी, वार्ड को सही टूल चुनने की उसकी मुख्य क्षमता के बारे में पता चल जाएगा. साथ ही, वह उसे आगे बढ़ने की अनुमति दे देगा.
अब अपने एजेंट को, मुश्किल टास्क पूरा करने का निर्देश दें.
👉💻 अपने टर्मिनल में, adk eval
कमांड चलाएं:
source ~/agentverse-developer/env/bin/activate
cd ~/agentverse-developer
. ~/agentverse-developer/set_env.sh
adk eval \
shadowblade \
shadowblade/sample.evalset.json \
--config_file_path shadowblade/test_config.json 2>&1 | \
awk '/^\*+$/,/^ERROR:/ { if ($0 !~ /^ERROR:/) print }'
👀 आपको यहां दी गई खास जानकारी दिखनी चाहिए. इससे पता चलता है कि इस ट्रायल के दौरान, आपके एजेंट ने नियमों का पालन किया है. हालांकि, ऐसा हो सकता है कि सभी टेस्ट पास न हों:
********************************************************************* Eval Run Summary shadowblade_combat_agent_validation: Tests passed: 3 Tests failed: 0
स्पष्टता का शील्ड (pytest
)
द गॉनलेट में ब्रॉड स्ट्रेटजी को टेस्ट किया गया. दूसरे वार्ड, यानी कि शील्ड ऑफ़ क्लैरिटी में, अनुशासन और खास तरह के व्यवहार की जांच की जाती है. यह सब ऑटोमेशन के बारे में है. adk eval
की मदद से मैन्युअल तरीके से जांच करना एक बेहतरीन तरीका है. वहीं, pytest
शील्ड, कोड में लिखा गया एक प्रोग्रामैटिक वार्ड है. यह ज़रूरी है, क्योंकि कोड के तौर पर लागू किए जा सकने वाले टेस्ट को ऑटोमेटेड पाइपलाइन में इंटिग्रेट किया जा सकता है. हमारा मुख्य लक्ष्य, डिप्लॉयमेंट गैंटलेट (सीआई/सीडी) बनाना है. इससे, हर बार बदलाव होने पर हमारे वार्ड अपने-आप बढ़ जाएंगे. साथ ही, बग और रिग्रेशन को आपके प्रोडक्शन एनवायरमेंट को नुकसान पहुंचाने से पहले ही रोक दिया जाएगा.
👉💻 अपने टर्मिनल में,shadowblade डायरेक्ट्री से Gemini को फिर से चालू करें:
. ~/agentverse-developer/set_env.sh
cd ~/agentverse-developer/
clear
gemini --model=gemini-2.5-flash --yolo
👉✨ शील्ड के लॉजिक को pytest
फ़ाइल में लिखने के लिए, Gemini CLI में यह प्रॉम्प्ट इस्तेमाल करें:
You are an expert Python developer specializing in the Google Agent Development Kit (ADK). Your task is to generate the exact code for a new `pytest` test file located at in the current root working folder and name it `test_agent_initiative.py`.
The script must define a single async test function called `test_agent_initiative`, decorated with `@pytest.mark.asyncio`.
Inside this function, perform the following steps in order:
1. **Define a dictionary** named `evaluation_criteria` with two keys: `"tool_trajectory_avg_score"` set to `0.0` and `"response_match_score"` set to `0.0`.
2. **Define a string variable** named `eval_set_filepath` containing the path `"shadowblade/test.evalset.json"`.
3. **Read and parse the JSON file**:
* Open the file at `eval_set_filepath`.
* Use the `json` library to load the file's contents into a dictionary named `eval_set_data`.
4. **Create an `EvalSet` object**:
* Instantiate an `EvalSet` object named `eval_set_object`.
* Create it by unpacking the `eval_set_data` dictionary as keyword arguments into the `EvalSet` constructor.
5. **Call the evaluation method**:
* `await` a call to `AgentEvaluator.evaluate_eval_set`.
* Pass the following arguments:
* `agent_module="shadowblade"`
* `eval_set=eval_set_object`
* `criteria=evaluation_criteria`
* `print_detailed_results=True`
The script must include the necessary imports at the top:
* `AgentEvaluator` from `google.adk.evaluation.agent_evaluator`
* `EvalSet` from `google.adk.evaluation.eval_set`
* `pytest`
* `json`
Generate only the code that meets these specifications, with no additional comments or logic. And don't run the test.
दूसरे वार्ड के रनिक को लिखने के बाद, Gemini सीएलआई से बाहर निकलें.
👉💻 Ctrl+C
को दो बार दबाएं.
👀 फ़ाइल एक्सप्लोरर में, उस स्क्रोल को खोलें जिसे आपने Gemini को लिखने का निर्देश दिया था: ~/agentverse-developer/test_agent_initiative.py
.
आपको पता चलेगा कि यह सिर्फ़ एक कॉन्फ़िगरेशन फ़ाइल नहीं है, बल्कि Pythonic भाषा में लिखा गया एक मंत्र है. इस स्पेल का मुख्य हिस्सा await AgentEvaluator.evaluate(...)
लाइन है.
.... @pytest.mark.asyncio async def test_agent_initiative(): # Define the evaluation criteria evaluation_criteria = { "tool_trajectory_avg_score": 0.0, "response_match_score": 0.0 } # Define the path to your evalset file eval_set_filepath = "shadowblade/test.evalset.json" #... # 3. Call the evaluation method with the correctly typed object await AgentEvaluator.evaluate_eval_set( agent_module="shadowblade", eval_set=eval_set_object, criteria=evaluation_criteria, print_detailed_results=True, )
इसके आर्ग्युमेंट को ध्यान से देखें. ये वही कॉम्पोनेंट हैं जिनका इस्तेमाल आपने पिछले ट्रायल में किया था: आपका shadowblade
एजेंट और shadowblade.evalset.json
चैलेंज स्क्रोल. इससे यह पता चलना चाहिए कि adk eval
कमांड का इस्तेमाल करके, किसी फ़ंक्शन को आसानी से कॉल किया जा सकता है. हालांकि, pytest
स्क्रिप्ट में, फ़ंक्शन को खुद कॉल किया जाता है. कमांड-लाइन टूल, AgentEvaluator
लाइब्रेरी के लिए एक रैपर है. अब इसका इस्तेमाल सीधे तौर पर किया जा सकता है. यह मास्टरी की ओर एक अहम कदम है, क्योंकि कोड के ज़रिए डाली गई स्पेल को सीआई/सीडी पाइपलाइन के ऑटोमेटेड लूम में बुना जा सकता है.
अब आपको जादू के बारे में पता चल गया है, तो शील्ड को चालू करने के लिए रस्म पूरी करें.
👉💻 शील्ड को चालू करने के लिए, अपने टर्मिनल में यह रचुअल चलाएं:
cp ~/agentverse-developer/working_code/test_agent_initiative.py ~/agentverse-developer/test_agent_initiative.py
source ~/agentverse-developer/env/bin/activate
cd ~/agentverse-developer
. ~/agentverse-developer/set_env.sh
pytest test_agent_initiative.py
👀 लॉग आउटपुट के आखिर में, जांच के नतीजे की खास जानकारी देखें. जांच में पास होने का मतलब है कि आपका एजेंट, प्रोटोकॉल का सही तरीके से पालन करता है. साथ ही, वार्ड को आपकी ऑटोमेटेड सुरक्षा में इंटिग्रेट किया जा सकता है.
====== 1 passed, 4 warning in 37.37s ======
ध्यान दें: अगर टेस्ट अचानक बंद हो जाता है, तो इसकी सबसे बड़ी वजह यह है कि आपने मॉडल से एक मिनट में किए जा सकने वाले अनुरोधों की संख्या पूरी कर ली है. लॉग आउटपुट में RESOURCE_EXHAUSTED गड़बड़ी देखें. अगर आपको यह गड़बड़ी दिखती है, तो अपने कोटे के रीसेट होने के लिए एक या दो मिनट इंतज़ार करें. इसके बाद, pytest कमांड को फिर से चलाएं.
Gauntlet और Shield, दोनों के सटीक तरीके से लिखे जाने और पुष्टि हो जाने के बाद, आपका एजेंट न सिर्फ़ काम करता है, बल्कि यह पूरी तरह से जांचा गया है और इसे इस्तेमाल करने के लिए तैयार है.
8. एजेंटवर्स में ब्लेड को लॉन्च करना: सीआई और डिप्लॉयमेंट.
आपके एजेंट को असेंबल कर दिया गया है और Wards of Purity ने इसकी पुष्टि कर दी है. हालांकि, अगर वार्ड का रखरखाव ठीक से नहीं किया जाता है, तो वह सिर्फ़ एक पुरानी इमारत बनकर रह जाती है. यह पक्का करने के लिए कि आपके एजेंट का हर आने वाला वर्शन बेहतर हो, आपको डिप्लॉयमेंट गैंटलेट का पहला चरण पूरा करना होगा. यह एक ऑटोमेटेड प्रोसेस है, जो क्वालिटी और स्पीड की गारंटी देती है.
Shadowblade के तौर पर, आपकी सबसे अहम ज़िम्मेदारी कंटिन्यूअस इंटिग्रेशन (सीआई) है. यह फ़ोर्ज और प्रूविंग ग्राउंड का ऑटोमेटेड सिस्टम है. यह करप्शन और मानवीय गड़बड़ियों से बचने का सबसे अच्छा तरीका है. इस रस्म से यह पक्का होता है कि जब भी आप या आपका कोई सहयोगी, सेंट्रल कोडेक्स (आपकी रिपॉज़िटरी) में कोई नई तकनीक (कोड मर्ज करता है) जोड़ता है, तो गॉंटलेट अपने-आप चालू हो जाता है. यह सबसे पहले नए कोड से एजेंट बनाता है. इसके बाद, तुरंत उसे Wards of Purity के नियमों के मुताबिक जांचता है. अगर कोई भी वार्ड काम नहीं करता है, तो रस्म रुक जाती है. साथ ही, खराब आर्टफ़ैक्ट को तुरंत अस्वीकार कर दिया जाता है, ताकि वह कभी भी शस्त्रागार को खराब न कर सके. आपका डोमेन, फ़ोर्ज है. आपकी सीआई पाइपलाइन यह पक्का करती है कि आपके वर्कशॉप से सिर्फ़ बेहतरीन और इस्तेमाल के लिए तैयार आर्टफ़ैक्ट ही बाहर निकलें.
जब सीआई गांटलेट से किसी आर्टफ़ैक्ट की पुष्टि हो जाती है, तब रस्म का दूसरा चरण शुरू होता है: लगातार डिप्लॉयमेंट (सीडी). यह Guardian का डोमेन है. इनकी यह ज़िम्मेदारी है कि वे आपके तैयार किए गए कंटेनर वाले आर्टफ़ैक्ट को लें और उसे सुरक्षित तरीके से लाइव Agentverse में रिलीज़ करें. साथ ही, उसकी परफ़ॉर्मेंस को मैनेज करें और यह पक्का करें कि वह The Static की वजह से होने वाली गड़बड़ियों से सुरक्षित रहे.
इस कोडेक्स में, आपको अपनी भूमिका के बारे में पूरी जानकारी मिलेगी. आपको गॉन्टलेट का सीआई हिस्सा बनाना होगा. आपको एक ऑटोमेटेड फ़ोर्ज बनाना होगा. यह फ़ोर्ज, आपके एजेंट की जांच करेगा और सबसे सटीक नतीजे को एक कंटेनर में सील कर देगा. इससे, The Guardian को फ़ाइनल मंज़ूरी देने में मदद मिलेगी.
अब इस सीआई रिचुअल के लिए स्क्रोल करने के लिए, Google Cloud Build का इस्तेमाल किया जाएगा. एक cloudbuild.yaml
फ़ाइल, जिसमें फ़ोर्जिंग और टेस्टिंग की प्रोसेस के हर चरण के बारे में बताया गया हो.
👉💻 ADK के प्रोजेक्ट स्ट्रक्चर की वजह से, CI/CD पाइपलाइन कॉन्फ़िगरेशन को पैरंट डायरेक्ट्री में होना चाहिए. अपने टर्मिनल में, पैरंट डायरेक्ट्री पर जाएं और Gemini CLI को फिर से चालू करें.
cd ~/agentverse-developer/
clear
gemini --model=gemini-2.5-flash --yolo
👉✨ अब Gemini को यह कमांड दें. यह प्रॉम्प्ट, डिज़ाइन दस्तावेज़ के तौर पर काम करता है. इसमें, आपको जिस गॉंटलेट को बनाने के लिए कहा गया है उसके चरणों के बारे में जानकारी दी गई है.
You are an expert DevOps engineer specializing in Google Cloud Build. Your task is to generate the complete YAML configuration for a file named `cloudbuild.yaml` and save it to current directory.
Generate the `cloudbuild.yaml` with the following exact specifications:
1. **A top-level `substitutions` block** containing these four key-value pairs:
* `_PROJECT_ID: "$PROJECT_ID"`
* `_REGION: "$REGION"`
* `_REPO_NAME: "$REPO_NAME"`
* `_IMAGE_TAG: "latest"`
2. **A `steps` block** with two steps:
* **Step 1: 'Run Pytest Ward'**
* `id`: 'Run Pytest Ward'
* `name`: 'python:3.12-slim'
* `entrypoint`: 'bash'
* `args` must be a list containing two strings. The first is `'-c'` and the second is a YAML literal block (`|`) containing this exact two-line shell command:
```shell
pip install -r shadowblade/requirements.txt && \
pytest test_agent_initiative.py
```
* The step must include an `env` block with this exact list of three environment variables:
* `'GOOGLE_CLOUD_PROJECT=$PROJECT_ID'`
* `'GOOGLE_GENAI_USE_VERTEXAI=TRUE'`
* `'GOOGLE_CLOUD_LOCATION=$_REGION'`
* **Step 2: 'Forge Container'**
* `id`: 'Forge Container'
* `name`: 'gcr.io/cloud-builders/docker'
* It must have a `waitFor` key for `['Run Pytest Ward']`.
* Its `args` must be a list of six specific strings in this exact order:
1. `'build'`
2. `'-t'`
3. `'${_REGION}-docker.pkg.dev/${_PROJECT_ID}/${_REPO_NAME}/shadowblade-agent:${_IMAGE_TAG}'`
4. `'-f'`
5. `'./shadowblade/Dockerfile'`
6. `'.'`
3. **A top-level `images` section.** This section must be a list containing a single string: the dynamically constructed image tag `'${_REGION}-docker.pkg.dev/${_PROJECT_ID}/${_REPO_NAME}/shadowblade-agent:${_IMAGE_TAG}'`.
Generate only the complete and exact YAML that meets these specifications.
cloudbuild.yaml
स्क्रोल तैयार होने के बाद, Google Cloud को पूरा गॉन्टलेट चलाने का निर्देश दें.
नतीजे की जांच करने के लिए, Gemini से बाहर निकलें
👉💻 अपने टर्मिनल में, अपने प्रोजेक्ट की रूट डायरेक्ट्री से पाइपलाइन को शुरू करें:
. ~/agentverse-developer/set_env.sh
cd ~/agentverse-developer
gcloud builds submit . --config cloudbuild.yaml --substitutions=\
_PROJECT_ID="${PROJECT_ID}",\
_REGION="${REGION}",\
_REPO_NAME="${REPO_NAME}"
अब Google Cloud Console में, Google Build पेज पर जाकर देखा जा सकता है कि अपने-आप लागू होने वाली प्रोसेस का हर चरण कैसे पूरा हो रहा है. यह सबसे पहले टेस्ट चलाएगा. इसके बाद, टेस्ट के सफल होने पर, यह आपके एजेंट के कंटेनर को फ़ोर्ज और सेव करेगा.
आपके एजेंट ने गांटलेट पास कर लिया है. पुष्टि किया गया एक ओरिजनल आर्टफ़ैक्ट अब आपके शस्त्रागार में मौजूद है. आखिरी फ़ैसला आपका होगा. एक ही कमांड से, इस आर्टफ़ैक्ट को रजिस्ट्री से कॉल किया जा सकता है. साथ ही, इसे Cloud Run पर सार्वजनिक सेवा के तौर पर लॉन्च किया जा सकता है.
👉💻 अपने टर्मिनल में, डिप्लॉयमेंट का आखिरी निर्देश डालें:
. ~/agentverse-developer/set_env.sh
cd ~/agentverse-developer
gcloud run deploy shadowblade-agent \
--image=${REGION}-docker.pkg.dev/${PROJECT_ID}/${REPO_NAME}/shadowblade-agent:latest \
--platform=managed \
--labels codelab=agentverse \
--region=${REGION} \
--set-env-vars="A2A_HOST=0.0.0.0" \
--set-env-vars="A2A_PORT=8080" \
--set-env-vars="GOOGLE_GENAI_USE_VERTEXAI=TRUE" \
--set-env-vars="GOOGLE_CLOUD_LOCATION=${REGION}" \
--set-env-vars="GOOGLE_CLOUD_PROJECT=${PROJECT_ID}" \
--set-env-vars="PUBLIC_URL=${PUBLIC_URL}" \
--allow-unauthenticated \
--project=${PROJECT_ID} \
--min-instances=1
बधाई हो, शैडोब्लेड. कोडेक्स के सभी रस्म-रिवाज़ पूरे हो गए हैं. अब समय आ गया है कि यह अपनी क्षमता साबित करे. एक स्पेक्टर, जिसे आपने काबू करना सीखा है, आपकी चुनौती का इंतज़ार कर रहा है. आखिरी ट्रायल के लिए तैयार रहें.
9. The Boss Fight
स्क्रॉल पढ़ लिए गए हैं, रस्में पूरी हो गई हैं, और चुनौती स्वीकार कर ली गई है. आपका एजेंट सिर्फ़ स्टोरेज में मौजूद कोई आर्टफ़ैक्ट नहीं है. यह कोड से बनाया गया एक चैंपियन है. यह Agentverse में एक लाइव सेंटिनल है, जो अपने पहले निर्देश का इंतज़ार कर रहा है. अब समय आ गया है कि यह साबित किया जाए कि यह हथियार युद्ध के मैदान में कितना असरदार है.
अब आपको एक लाइव-फ़ायर सिमुलेशन में शामिल किया जाएगा. इसमें आपको अपने नए Shadowblade को एक खतरनाक Spectre के ख़िलाफ़ आज़माने का मौका मिलेगा. Spectre, उस अराजकता का प्रतीक है जो सभी क्रिएशन को परेशान करती है. यह आपके काम की आखिरी जांच है. इसमें एजेंट के मुख्य लॉजिक से लेकर, उसके सही तरीके से डिप्लॉयमेंट तक की जांच की जाती है.
अपने एजेंट का लोकस हासिल करना
बैटलग्राउंड में शामिल होने से पहले, आपके पास दो कुंजियां होनी चाहिए: आपके चैंपियन का यूनीक सिग्नेचर (Agent Locus) और स्पेक्टर के डेन का छिपा हुआ रास्ता (Dungeon URL).
👉💻 सबसे पहले, Agentverse में अपने एजेंट का यूनीक पता हासिल करें. इसे लोकस कहा जाता है. यह लाइव एंडपॉइंट है, जो आपके चैंपियन को बैटलग्राउंड से कनेक्ट करता है.
. ~/agentverse-developer/set_env.sh
echo https://shadowblade-agent-${PROJECT_NUMBER}.${REGION}.run.app
👉💻 इसके बाद, मंज़िल की सटीक जगह चुनें. इस कमांड से, ट्रांसलोकेशन सर्कल की जगह का पता चलता है. यह पोर्टल, स्पेक्टर के डोमेन में खुलता है.
. ~/agentverse-developer/set_env.sh
echo https://agentverse-dungeon-${PROJECT_NUMBER}.${REGION}.run.app
अहम जानकारी: इन दोनों यूआरएल को तैयार रखें. आपको इनकी ज़रूरत आखिरी चरण में पड़ेगी.
स्पेक्टर का सामना करना
निर्देशांक सुरक्षित करने के बाद, अब आपको ट्रांसलोकेशन सर्कल पर जाना होगा और लड़ाई में शामिल होने के लिए मंत्र पढ़ना होगा.
👉 अपने ब्राउज़र में ट्रांसलोकेशन सर्कल का यूआरएल खोलें, ताकि आप द क्रिमसन कीप के चमकते हुए पोर्टल के सामने खड़े हो सकें.
फ़ोर्ट्रेस को तोड़ने के लिए, आपको अपने शैडोब्लेड की एसेंस को पोर्टल के साथ जोड़ना होगा.
- पेज पर, A2A एंडपॉइंट यूआरएल के तौर पर लेबल किया गया रनिक इनपुट फ़ील्ड ढूंढें.
- इस फ़ील्ड में, अपने चैंपियन के सिग्नल को चिपकाएं. इसके लिए, एजेंट लोकस यूआरएल (वह पहला यूआरएल जिसे आपने कॉपी किया था) को चिपकाएं.
- टेलीपोर्टेशन की सुविधा का इस्तेमाल करने के लिए, कनेक्ट करें पर क्लिक करें.
टेलीपोर्टेशन की तेज़ रोशनी कम हो जाती है. अब आप अपने सैंक्टम में नहीं हैं. हवा में ऊर्जा है, जो ठंडी और तेज़ है. इससे पहले कि तुम कुछ समझ पाते, स्पेक्टर तुम्हारे सामने आ जाता है. वह फुसफुसाती हुई आवाज़ और खराब कोड का एक भंवर है. उसकी अपवित्र रोशनी, कालकोठरी के फ़र्श पर लंबी, नाचती हुई परछाइयां डाल रही है. इसका कोई चेहरा नहीं है, लेकिन आपको इसकी विशाल और थका देने वाली मौजूदगी का एहसास होता है.
जीत हासिल करने का एकमात्र तरीका यह है कि आप अपने विचारों को साफ़ तौर पर रखें. यह इच्छाशक्ति की लड़ाई है, जो दिमाग़ के मैदान में लड़ी जाती है.
जब आप आगे बढ़कर पहला हमला करने के लिए तैयार होते हैं, तब स्पेक्टर पलटवार करता है. यह कोई ढाल नहीं है, बल्कि एक सवाल है जो सीधे आपकी चेतना में आता है. यह एक चमकता हुआ, रहस्यमयी चैलेंज है, जो आपकी ट्रेनिंग के मूल सिद्धांतों से लिया गया है.
यह लड़ाई का स्वभाव है. आपका ज्ञान ही आपका हथियार है.
- अपनी सीखी हुई बातों के आधार पर जवाब दो. इससे तुम्हारी तलवार पूरी ऊर्जा के साथ जल उठेगी और स्पेकटर की सुरक्षा को तोड़कर, उसे गंभीर चोट पहुंचाएगी.
- हालांकि, अगर आपने जवाब देने में गलती की या आपके जवाब में कोई कमी हुई, तो आपके हथियार की रोशनी कम हो जाएगी. यह हमला, बहुत कमज़ोर होगा और इससे सिर्फ़ कुछ नुकसान होगा. इससे भी बुरी बात यह है कि स्पेक्टर आपकी अनिश्चितता का फ़ायदा उठाएगा. हर ग़लत कदम के साथ, उसकी भ्रष्ट शक्ति बढ़ती जाएगी.
बस इतना ही, चैंपियन. आपका कोड आपकी जादू की किताब है, आपका तर्क आपकी तलवार है, और आपका ज्ञान वह ढाल है जो अराजकता को दूर करेगी.
फ़ोकस मोड. स्ट्राइक की स्थिति. Agentverse का भविष्य इस पर निर्भर करता है.
बधाई हो, शैडोब्लेड.
आपने कोडेक्स पूरा कर लिया है. आपने "वाइब" को एक डिज़ाइन में बदला और Gemini सीएलआई का इस्तेमाल करके, एक इंटेलिजेंट एजेंट बनाया. आपने Wards of Purity को लिखा, ताकि इसके लॉजिक की जांच की जा सके. आपने इसे आर्टफ़ैक्ट में बदलने के लिए, ऑटोमेटेड गॉंटलेट बनाया. इसके बाद, आपने इसे Agentverse में रिलीज़ किया. आखिर में, आपने लाइव-फ़ायर ट्रायल में इसके मकसद की पुष्टि की. आपने फ़ुल-स्टैक एजेंटिक वर्कफ़्लो में महारत हासिल कर ली है. अब आप Agentverse की ओर से दिए गए किसी भी चैलेंज के लिए तैयार हैं.
10. क्लीनअप: एजेंटवर्स को वापस पाना
शैडोब्लेड के कोडेक्स में महारत हासिल करने के लिए बधाई! यह पक्का करने के लिए कि Agentverse में कोई गड़बड़ी न हो और आपके ट्रेनिंग ग्राउंड साफ़ हों, अब आपको फ़ाइनल क्लीनअप करना होगा. इससे आपकी यात्रा के दौरान बनाए गए सभी संसाधन हट जाएंगे.
Agentverse कॉम्पोनेंट बंद करना
अब आपको Agentverse के डिप्लॉय किए गए कॉम्पोनेंट को व्यवस्थित तरीके से हटाना होगा.
Cloud Run और Artifact Registry Repository से Shadowblade एजेंट को मिटाना
इस कमांड से, Cloud Run से डिप्लॉय किया गया Shadowblade एजेंट हट जाता है. साथ ही, उस इमेज रिपॉज़िटरी को भी हटा दिया जाता है जहां आपके एजेंट की कंटेनर इमेज सेव की गई थी.
👉💻 अपने टर्मिनल में, यह कमांड चलाएं:
. ~/agentverse-developer/set_env.sh
gcloud run services delete shadowblade-agent --region=${REGION} --quiet
gcloud run services delete agentverse-dungeon --region=${REGION} --quiet
gcloud artifacts repositories delete ${REPO_NAME} --location=${REGION} --quiet
Google Cloud Storage बकेट मिटाना
इस कमांड से, जनरेट की गई इमेज को सेव करने के लिए, Imagen MCP सर्वर की ओर से इस्तेमाल की गई बकेट हट जाती है.
👉💻 अपने टर्मिनल में, यह कमांड चलाएं:
. ~/agentverse-developer/set_env.sh
gcloud storage rm -r gs://${BUCKET_NAME} --quiet
लोकल फ़ाइलों और डायरेक्ट्री को मिटाना (Cloud Shell)
आखिर में, क्लोन की गई रिपॉज़िटरी और बनाई गई फ़ाइलों से, Cloud Shell एनवायरमेंट को साफ़ करें. यह चरण ज़रूरी नहीं है, लेकिन वर्किंग डायरेक्ट्री को पूरी तरह से साफ़ करने के लिए इसका सुझाव दिया जाता है.
👉💻 अपने टर्मिनल में, यह कमांड चलाएं:
rm -rf ~/agentverse-developer
rm -rf ~/agentverse-dungeon
rm -rf ~/vertex-ai-creative-studio
rm -f ~/project_id.txt
rm -rf ~/.gemini # This removes all Gemini CLI configurations, including the MCP server settings.
अब आपने Agentverse से जुड़े सभी डेटा को मिटा दिया है. आपका प्रोजेक्ट साफ़ है और आप अगले रोमांच के लिए तैयार हैं.
11. गेम न खेलने वालों के लिए: कारोबार के संदर्भ में Agentverse को समझना
"द शैडोब्लेड्स कोडेक्स" में, गेम खेलने वालों के लिए दिलचस्प मेटाफ़र का इस्तेमाल किया गया है. हालांकि, इसमें शामिल कॉन्सेप्ट, आधुनिक सॉफ़्टवेयर डेवलपमेंट के लिए ज़रूरी हैं. खास तौर पर, आर्टिफ़िशियल इंटेलिजेंस और ऑटोमेशन के तेज़ी से बढ़ते क्षेत्र में. इस चैप्टर में, रोमांचक भाषा को कारोबार के असल उदाहरणों में बदला गया है. इसमें बताया गया है कि इंटेलिजेंट एजेंट, साथ मिलकर डेवलपमेंट करने की सुविधा, और मज़बूत डिप्लॉयमेंट पाइपलाइन, एंटरप्राइज़ के ऑपरेशनों को कैसे बदल रही हैं.
Gemini CLI की मदद से वाइबकोडिंग: इंटेंट के हिसाब से एआई डेवलपमेंट
Gemini CLI (कमांड-लाइन इंटरफ़ेस) कोई जादुई हथियार नहीं है, बल्कि एआई की मदद से काम करने वाला डेवलपर असिस्टेंट एजेंट है. यह एक स्मार्ट टूल है. यह Google के Gemini एआई मॉडल को सीधे तौर पर आपकी कमांड लाइन में इंटिग्रेट करता है. इसके "वजह और कार्रवाई" (ReAct) लूप का मतलब है कि यह आपके निर्देशों को समझ सकता है. साथ ही, उन्हें चरणों में बांट सकता है. इसके अलावा, यह आपके लक्ष्य को हासिल करने के लिए सही टूल (जैसे कि वेब ब्राउज़र, कोड एडिटर या डेवलपर के अन्य टूल) चुन सकता है और उन चरणों को पूरा कर सकता है.
Vibecoding का मतलब Intent-Driven Development या AI-Assisted Code Generation from High-Level Specifications होता है. हर लाइन का कोड मैन्युअल तरीके से लिखने के बजाय, सामान्य भाषा में अपने इरादे या "वाइब" (कारोबार की ज़रूरत, डिज़ाइन कॉन्सेप्ट) के बारे में बताएं. इसके बाद, एआई असिस्टेंट ज़रूरी कोड और कॉन्फ़िगरेशन जनरेट करने में आपकी मदद करेगी.
असल दुनिया में इस्तेमाल का उदाहरण: प्रोजेक्ट डैशबोर्ड का तेज़ी से प्रोटोटाइप बनाना
मान लें कि आपकी टीम को एक ऐसे इंटरनल डैशबोर्ड की ज़रूरत है जिसमें एआई एजेंट से जुड़े अलग-अलग प्रोजेक्ट का स्टेटस दिखाया जा सके. एचटीएमएल और सीएसएस को मैन्युअल तरीके से कोड करने और बुनियादी वेब सर्वर को सेट अप करने में समय लग सकता है.
- आपका इरादा (इसे "वाइब" भी कहा जाता है): आपने अपने एआई असिस्टेंट (Gemini CLI) से कहा: "मौजूदा फ़ोल्डर में, एक सामान्य इंटरनल प्रोजेक्ट डैशबोर्ड वेबसाइट बनाओ. इसका डिज़ाइन साफ़-सुथरा और मॉडर्न होना चाहिए. इसमें प्रोजेक्ट के स्टेटस इंडिकेटर और प्रोजेक्ट रिपॉज़िटरी के क्विक लिंक होने चाहिए. पूरा कोड, अलग-अलग
index.html
औरstyles.css
फ़ाइलों में होना चाहिए. पक्का करें कि इसमें अच्छी तरह से टिप्पणी की गई हो." - एआई की कार्रवाई: Gemini CLI, आपके इरादे को समझकर ये काम कर सकता है:
- एचटीएमएल जनरेट करना: डैशबोर्ड के लिए बुनियादी स्ट्रक्चर वाला
index.html
बनाएं. इसमें प्रोजेक्ट के नाम, स्टेटस, और लिंक के लिए प्लेसहोल्डर शामिल हों. - सीएसएस जनरेट करना: स्टाइलिंग के नियमों के साथ
styles.css
बनाएं, ताकि स्टेटस इंडिकेटर के साथ "साफ़-सुथरा और मॉडर्न डिज़ाइन" मैच हो सके. - स्थानीय सर्वर का सुझाव दें: इससे आपको स्थानीय वेब सर्वर (जैसे कि Python का बिल्ट-इन एचटीटीपी सर्वर) शुरू करने में मदद मिलती है, ताकि आप अपने ब्राउज़र में डैशबोर्ड की झलक तुरंत देख सकें.
- एचटीएमएल जनरेट करना: डैशबोर्ड के लिए बुनियादी स्ट्रक्चर वाला
इससे डेवलपर को यूज़र इंटरफ़ेस या इंटरनल टूल का प्रोटोटाइप तेज़ी से बनाने और उसे दोहराने में मदद मिलती है. इससे डेवलपमेंट में लगने वाला शुरुआती समय काफ़ी कम हो जाता है. साथ ही, डेवलपर को ज़्यादा जटिल बिज़नेस लॉजिक पर ध्यान देने का समय मिल जाता है. कोड लैब में "Shadowblade Profile Website" इसका एक उदाहरण है: एक आसान और जानकारी देने वाले कमांड से, एक फ़ंक्शनल और स्टाइल वाला वेबपेज तैयार किया गया है. यह वेबपेज, हाई-लेवल डिज़ाइन पर आधारित है.
लोकल आर्सेनल और एमसीपी सर्वर: एआई को कारोबार से जुड़े टूल से कनेक्ट करना
Gitea (आपका "लोकल आर्सेनल") एक इंटरनल कोड रिपॉज़िटरी या वर्शन कंट्रोल सिस्टम (जैसे कि GitHub या GitLab) को दिखाता है. हालांकि, इसे आपकी कंपनी के नेटवर्क में होस्ट किया जा सकता है. इसमें आपके प्रोजेक्ट का सारा कोड, दस्तावेज़, और इतिहास सुरक्षित तरीके से सेव और मैनेज किया जाता है.
एमसीपी (मॉडल कॉन्टेक्स्ट प्रोटोकॉल) सर्वर, मिडलवेयर कनेक्टर या एपीआई ब्रिज होते हैं. ये खास सॉफ़्टवेयर कॉम्पोनेंट होते हैं. इनकी मदद से, आपका एआई असिस्टेंट (Gemini CLI), कारोबार के लिए ज़रूरी अन्य टूल और सिस्टम के साथ इंटरैक्ट कर पाता है. इन्हें अनुवादक के तौर पर समझें. इनकी मदद से, एआई अलग-अलग ऐप्लिकेशन से "बातचीत" कर पाता है.
असल दुनिया में इस्तेमाल का उदाहरण: एआई की मदद से प्रोजेक्ट मैनेज करना और ऐसेट बनाना
MCP सर्वर की मदद से, एआई असिस्टेंट को आपके मौजूदा कारोबारी वर्कफ़्लो में आसानी से इंटिग्रेट किया जा सकता है:
- प्रोजेक्ट को अपने-आप सेटअप करना: किसी डेवलपर को नए प्रोजेक्ट के लिए, Gitea में मैन्युअल तरीके से नई रिपॉज़िटरी बनाने की ज़रूरत नहीं है. इसके बजाय, एआई को यह निर्देश दिया जा सकता है: "‘AI-Fraud-Detection-Module' नाम की नई प्रोजेक्ट रिपॉज़िटरी बनाओ. इसका ब्यौरा यह है: ‘इसमें धोखाधड़ी का पता लगाने वाले नए एआई सिस्टम का मुख्य लॉजिक शामिल है'." इसके बाद, Gitea से कनेक्ट किया गया एमसीपी सर्वर, आपके लिए रिपॉज़िटरी बनाएगा.
- इंटेलिजेंट इश्यू ट्रैकिंग: अगर आपका एआई किसी संभावित गड़बड़ी या अधूरे टास्क (जैसे कि आपके डैशबोर्ड के लिए "प्रोफ़ाइल इमेज मौजूद नहीं है") का पता लगाता है, तो वह आपके इश्यू ट्रैकिंग सिस्टम से कनेक्ट किए गए एमसीपी सर्वर का इस्तेमाल कर सकता है. उदाहरण के लिए, Jira, Asana) को "File an issue for me in the ‘AI-Fraud-Detection-Module' repo: The data ingestion pipeline is occasionally dropping records."
- मांग पर उपलब्ध मार्केटिंग ऐसेट: क्या आपको किसी नए मार्केटिंग कैंपेन या इंटरनल प्रज़ेंटेशन के लिए कस्टम इमेज की ज़रूरत है? एमसीपी सर्वर के ज़रिए इमेज जनरेट करने वाली सेवा (जैसे, Google का Imagen) से कनेक्ट किए गए एआई असिस्टेंट को यह निर्देश दिया जा सकता है: "हमारे नए ‘डेटा इनसाइट प्लैटफ़ॉर्म' के लिए, नीले और हरे रंग वाली, डेटा-फ़्लो थीम वाली फ़्यूचरिस्टिक बैनर इमेज जनरेट करो." एआई, इमेज जनरेट करेगा. साथ ही, उसे आपकी कंपनी के डिजिटल ऐसेट मैनेजमेंट सिस्टम (कोड लैब के मामले में, Google Cloud Storage बकेट) में अपलोड भी कर सकता है.
ये ब्रिज, एआई को बातचीत वाले टूल से बदलकर, आपके कारोबार की गतिविधियों में सक्रिय रूप से हिस्सा लेने वाले टूल में बदल देते हैं. साथ ही, अलग-अलग सिस्टम में ठोस कार्रवाइयां करते हैं.
एजेंट को असेंबल करना: कारोबार के लिए अपने-आप काम करने वाले मॉड्यूल बनाना
एजेंट, ऑटोनॉमस एआई मॉड्यूल या इंटेलिजेंट ऑटोमेशन बॉट होता है. इसे खास तौर पर, कारोबार के किसी फ़ंक्शन को पूरा करने के लिए डिज़ाइन किया जाता है. एजेंट डेवलपमेंट किट (एडीके), एआई एजेंट बनाने और मैनेज करने के लिए एक फ़्रेमवर्क है. यह इन इंटेलिजेंट कॉम्पोनेंट को बनाने, टेस्ट करने, और डिप्लॉय करने के लिए ज़रूरी टूल और लाइब्रेरी उपलब्ध कराता है.
कॉन्टेक्स्ट इंजीनियरिंग: सटीक नतीजे पाने के लिए, एआई को सही जानकारी देना
एआई एजेंट की दुनिया में, किसी एआई से सटीक, लगातार, और काम के नतीजे पाने के लिए, सिर्फ़ एक स्मार्ट प्रॉम्प्ट काफ़ी नहीं होता. इसके लिए, एआई को सही कॉन्टेक्स्ट देना ज़रूरी होता है. इसे कॉन्टेक्स्ट इंजीनियरिंग कहा जाता है. इसमें, एआई की वर्किंग मेमोरी में खास जानकारी, पाबंदियां, और काम करने के दिशा-निर्देशों को व्यवस्थित तरीके से शामिल किया जाता है. जिस तरह किसी इंसान को बेहतर तरीके से काम करने के लिए, पूरी जानकारी और ज़रूरी दस्तावेज़ों का ऐक्सेस चाहिए होता है उसी तरह एआई को भी अपने टास्क को असरदार तरीके से पूरा करने के लिए, सही तरीके से स्ट्रक्चर किया गया कॉन्टेक्स्ट चाहिए होता है.
Gemini सीएलआई, कॉन्टेक्स्ट इंजीनियरिंग के लिए एक बेहतरीन और लेयर्ड अप्रोच उपलब्ध कराता है. इसमें, सामान्य और लगातार इस्तेमाल होने वाली सेटिंग से लेकर, ज़्यादा सटीक और डाइनैमिक निर्देशों तक की सुविधा मिलती है. इससे यह पक्का होता है कि एआई के पास हमेशा सबसे काम की जानकारी हो, ताकि वह सटीक और नीति के मुताबिक जवाब जनरेट कर सके:
- उपयोगकर्ता-लेवल की सेटिंग (
~/.gemini/settings.json
):- यह फ़ाइल आपकी होम डायरेक्ट्री में सेव होती है. यह एआई के लिए, निजी और ग्लोबल निर्देशों के सेट के तौर पर काम करती है. इसमें आपकी डिफ़ॉल्ट प्राथमिकताएं, अक्सर इस्तेमाल किए जाने वाले टूल कॉन्फ़िगरेशन (जैसे, Gitea या Imagen के लिए कॉन्फ़िगर किए गए एमसीपी सर्वर) और सामान्य व्यवहार से जुड़े दिशा-निर्देश शामिल होते हैं. यह कॉन्टेक्स्ट, एआई के लिए हमेशा उपलब्ध रहता है. इससे यह पक्का होता है कि आपके सभी प्रोजेक्ट में एक जैसा कॉन्टेक्स्ट इस्तेमाल किया जा रहा है. इसे एआई को यह बताने के तौर पर समझें कि "ये स्टैंडर्ड टूल और कॉन्फ़िगरेशन हैं, जिन्हें मैं पसंद करता/करती हूं और हर जगह इस्तेमाल करता/करती हूं."
- प्रोजेक्ट-लेवल की सेटिंग (
.gemini/settings.json
प्रोजेक्ट डायरेक्ट्री में):- प्रोजेक्ट के हिसाब से
.gemini/settings.json
फ़ाइल का इस्तेमाल करके, ग्लोबल सेटिंग को बदला जा सकता है. यह फ़ाइल आम तौर पर, आपके प्रोजेक्ट के.gemini
फ़ोल्डर में मौजूद होती है. इससे आपको किसी प्रोजेक्ट की खास ज़रूरतों के हिसाब से, एआई के व्यवहार और टूल के ऐक्सेस को तय करने में मदद मिलती है. उदाहरण के लिए, किसी प्रोजेक्ट के लिए किसी खास इंटरनल डेटाबेस को ऐक्सेस करने की ज़रूरत पड़ सकती है. वहीं, किसी दूसरे प्रोजेक्ट के लिए कोड का विश्लेषण करने वाले खास टूल की ज़रूरत पड़ सकती है. इस लेयर से यह पक्का किया जाता है कि एआई के पास, मौजूदा टास्क के लिए सबसे ज़्यादा काम का कॉन्टेक्स्ट हो. इससे अन्य प्रोजेक्ट पर कोई असर नहीं पड़ता.
- प्रोजेक्ट के हिसाब से
GEMINI.md
फ़ाइल (प्रोजेक्ट-लेवल का कॉन्टेक्स्ट - रोज़ की ब्रीफ़िंग):- प्रोजेक्ट चार्टर: यह मार्कडाउन फ़ाइल, आपकी प्रोजेक्ट डायरेक्ट्री के रूट में रखी जाती है. जब उस डायरेक्ट्री में कोई सेशन शुरू किया जाता है, तो यह Gemini CLI की वर्किंग मेमोरी में अपने-आप लोड हो जाती है. यह प्रोजेक्ट के हिसाब से कॉन्टेक्स्ट की सबसे नई और डाइनैमिक लेयर होती है.
GEMINI.md
में यह तय किया जाता है कि:- कोडिंग के दिशा-निर्देश: कोड की क्वालिटी, फ़ॉर्मैटिंग, और सबसे सही तरीकों के लिए साफ़ तौर पर बताए गए नियम. इनके बारे में इस कोडलैब में बताया गया है. इससे यह पक्का होता है कि जनरेट किया गया कोड, आपकी टीम के स्टैंडर्ड के मुताबिक है.
- पर्सोना: एआई को कोई खास भूमिका निभाने या किसी विषय में विशेषज्ञता हासिल करने के लिए निर्देश दिए जा सकते हैं. जैसे, "You are an expert Python developer specializing in Google Agent Development Kit"). इससे एआई के जवाब और कोड जनरेट करने की सुविधा, किसी काम के पेशेवर डोमेन के हिसाब से काम करती है.
- खास निर्देश: सीधे तौर पर दिए गए निर्देश या पाबंदियां, जो प्रोजेक्ट के सभी टास्क पर लागू होती हैं. उदाहरण के लिए, "ऐसे फ़ंक्शन या लॉजिक न जोड़ें जिनके बारे में दस्तावेज़ में नहीं बताया गया है").
- इस फ़ाइल से यह पक्का किया जाता है कि जब भी उस प्रोजेक्ट में Gemini CLI के साथ इंटरैक्ट किया जाए, तो एआई को इन ज़रूरी नियमों के बारे में लगातार याद दिलाया जाए. इससे ज़्यादा सटीक और नियमों के मुताबिक कोड जनरेट करने में मदद मिलती है.
- प्रोजेक्ट चार्टर: यह मार्कडाउन फ़ाइल, आपकी प्रोजेक्ट डायरेक्ट्री के रूट में रखी जाती है. जब उस डायरेक्ट्री में कोई सेशन शुरू किया जाता है, तो यह Gemini CLI की वर्किंग मेमोरी में अपने-आप लोड हो जाती है. यह प्रोजेक्ट के हिसाब से कॉन्टेक्स्ट की सबसे नई और डाइनैमिक लेयर होती है.
इस कॉन्टेक्स्ट को लेयर करके, ग्लोबल यूज़र प्रेफ़रंस से लेकर GEMINI.md
में प्रोजेक्ट की खास गाइडलाइन तक, एआई को बेहतर तरीके से "इंजीनियर" किया जा सकता है. इससे, Gemini Pro के जवाब ज़्यादा सटीक और काम के हो जाते हैं. साथ ही, यह एक सामान्य एआई से बदलकर, एक भरोसेमंद और खास एआई बन जाता है. यह आपके प्रोजेक्ट की बारीकियों और आपके संगठन के मानकों को समझता है.
वार्ड्स ऑफ़ प्योरिटी: एआई के लिए ऑटोमेटेड टेस्टिंग और क्वालिटी अश्योरेंस
किसी भी सॉफ़्टवेयर की तरह, एआई एजेंट की भी अच्छी तरह से जांच की जानी चाहिए. वॉर्ड्स ऑफ़ प्योरिटी, अपने-आप होने वाली जांच और क्वालिटी अश्योरेंस (QA) प्रोसेस को दिखाते हैं. ये निर्देश इसलिए ज़रूरी हैं, ताकि यह पक्का किया जा सके कि एआई अनुमान के मुताबिक काम कर रहा है, सटीक जानकारी दे रहा है, और उसमें कोई गड़बड़ी या पूर्वाग्रह नहीं है.
- "गोल्डन डेटासेट" और सिंथेटिक डेटा: यह स्टैंडर्ड टेस्ट केस, अनुमानित व्यवहार के उदाहरण या सिंथेटिक तरीके से जनरेट किया गया टेस्ट डेटा का सेट होता है. इसमें उदाहरण के तौर पर दिए गए इनपुट (ग्राहक के सवाल, कारोबार के अनुरोध) और उनसे जुड़े संभावित आउटपुट या कार्रवाइयां (सही जवाब, एआई को इस्तेमाल करना चाहिए) शामिल हैं. असल दुनिया के कई उदाहरणों में, "गोल्डन डेटासेट" को मैन्युअल तरीके से बनाने में काफ़ी समय लगता है और यह महंगा भी होता है. ऐसे में, सिंथेटिक डेटा जनरेट करने की सुविधा बहुत काम आती है. एआई को टेंप्लेट और नियम उपलब्ध कराकर, उसे नए, असली, और अलग-अलग टेस्ट केस अपने-आप बनाने के लिए कहा जा सकता है. इससे टेस्टिंग के लिए किए जाने वाले आपके प्रयासों को कई गुना बढ़ाया जा सकता है. साथ ही, संभावित स्थितियों को ज़्यादा से ज़्यादा कवर किया जा सकता है.
adk eval
औरpytest
: ये आपके ऑटोमेटेड टेस्टिंग फ़्रेमवर्क हैं.adk eval
का इस्तेमाल, एजेंट के ख़िलाफ़ पहले से तय किए गए टेस्ट केस का बैच चलाने के लिए किया जाता है. वहीं,pytest
, पुष्टि करने की ज़्यादा जानकारी वाली जांचों को लिखने और उन्हें लागू करने का प्रोग्रामैटिक तरीका उपलब्ध कराता है.
असल दुनिया में इस्तेमाल का उदाहरण: सिंथेटिक डेटा की मदद से, एआई चैटबॉट के सटीक और भरोसेमंद होने की पुष्टि करना
एआई की मदद से काम करने वाले ग्राहक सहायता एजेंट को डिप्लॉय करने से पहले, आपको इसे "वॉर्ड्स ऑफ़ प्योरिटी" से गुज़ारना होगा:
- सिंथेटिक डेटा के साथ रणनीति की परीक्षा (
adk eval
): ग्राहकों के सैकड़ों सवालों को मैन्युअल तरीके से लिखने के बजाय, एक टेंप्लेट तय किया जा सकता है: "ऑर्डर की स्थिति, प्रॉडक्ट लौटाने, और तकनीकी समस्या हल करने के बारे में, ग्राहक सहायता से जुड़े अक्सर पूछे जाने वाले सवालों के 100 वैरिएशन जनरेट करो." इसके बाद, एआई (जैसे कि Gemini CLI) को इस टेंप्लेट के आधार पर, अलग-अलग तरह कीevalset.json
फ़ाइलें जनरेट करने का निर्देश दिया जाता है. इससे, टेस्ट के लिए सिंथेटिक डेटा तैयार हो जाता है. हर सवाल के लिए, आपको न सिर्फ़ जवाब देना होता है, बल्कि यह भी बताना होता है कि एआई को कौनसा इंटरनल टूल इस्तेमाल करना चाहिए. उदाहरण के लिए,check_order_status
के लिए).adk eval
इन सभी चरणों में एजेंट अपने-आप काम करता है. साथ ही, आपके बड़े डेटासेट के हिसाब से, एजेंट के जवाबों और टूल के इस्तेमाल की तुलना करता है. इससे यह पक्का किया जाता है कि एजेंट लगातार सही फ़ैसले ले रहा है. - Shield of Clarity (
pytest
): ज़रूरी फ़ंक्शन के लिए,pytest
स्क्रिप्ट लिखी जाती हैं. उदाहरण के लिए, कोईpytest
किसी मुश्किल क्वेरी को सिम्युलेट कर सकता है. साथ ही, यह पुष्टि कर सकता है कि एआई, डेटा वापस पाने वाले किसी टूल का हमेशा सही तरीके से इस्तेमाल करता है और स्ट्रक्चर्ड जवाब देता है. इससे यह पक्का किया जा सकता है कि कोड में मामूली बदलावों से मुख्य फ़ंक्शन काम करना बंद न कर दें.
सिंथेटिक डेटा की मदद से, इन ऑटोमेटेड टेस्ट को बेहतर बनाया गया है. ये टेस्ट, रिग्रेशन (बदलावों की वजह से नए बग) का पता लगाने के लिए ज़रूरी हैं. साथ ही, ये आपके एआई एजेंट की विश्वसनीयता बनाए रखने में मदद करते हैं. खास तौर पर, जब एआई एजेंट में बदलाव किए जाते हैं.
Unleashing the Blade: CI/CD for AI Agent Deployment
लाइव कारोबार के माहौल में, जांच किए गए एआई एजेंट को शामिल करने के लिए, एक मज़बूत डिप्लॉयमेंट रणनीति की ज़रूरत होती है.
- कंटीन्यूअस इंटिग्रेशन (सीआई): यह आपकी ऑटोमेटेड बिल्ड और टेस्ट पाइपलाइन है. जब भी कोई डेवलपर, एआई एजेंट के लिए नया कोड सबमिट करता है, तो सीआई सिस्टम (जैसे कि Google Cloud Build) अपने-आप ये काम करता है:
- यह कुकी, नए कोड को फ़ेच करती है.
- इससे सभी ज़रूरी डिपेंडेंसी इंस्टॉल हो जाती हैं.
- यह एजेंट के लॉजिक और व्यवहार की पुष्टि करने के लिए, "वॉर्ड ऑफ़ प्योरिटी" (
pytest
,adk eval
) के सभी टेस्ट चलाता है. - अगर सभी टेस्ट पास हो जाते हैं, तो यह एआई एजेंट को डिप्लॉय की जा सकने वाली यूनिट (इस मामले में, Docker कंटेनर इमेज) में पैकेज करता है. साथ ही, इसे Artifact Registry (आपका पुष्टि किया गया "arsenal") में सेव करता है. इससे यह पक्का होता है कि सिर्फ़ पूरी तरह से टेस्ट किए गए और पुष्टि किए गए कोड को आगे बढ़ाया जाए.
असल दुनिया में इस्तेमाल का उदाहरण: धोखाधड़ी का पता लगाने वाले एजेंट को अपने-आप डिप्लॉय करना
धोखाधड़ी वाले लेन-देन का पता लगाने के लिए, एआई एजेंट का इस्तेमाल करें.
- डेवलपर कोड अपडेट करता है: डेटा साइंटिस्ट, धोखाधड़ी का पता लगाने वाले एल्गोरिदम को बेहतर बनाता है और कोड रिपॉज़िटरी में बदलावों को सेव करता है.
- सीआई (Cloud Build) ट्रिगर किया गया: Cloud Build अपने-आप शुरू हो जाता है:
- यह नया कोड पुल करता है.
- यह एल्गोरिदम, पुराने लेन-देन के डेटा के साथ-साथ कई तरह के टेस्ट करता है. इससे यह पक्का किया जाता है कि नया एल्गोरिदम, धोखाधड़ी के जाने-पहचाने पैटर्न की सटीक पहचान करता है और गलत पॉज़िटिव जनरेट नहीं करता.
- अगर टेस्ट पास हो जाते हैं, तो यह धोखाधड़ी का पता लगाने वाले एजेंट की नई Docker इमेज बनाता है और उसे Artifact Registry में पुश करता है.
ऑटोमेटेड पाइपलाइन की मदद से, एआई एजेंट को तेज़ी से, भरोसेमंद तरीके से, और लगातार डिप्लॉय किया जा सकता है. इससे मानवीय गलतियों को कम किया जा सकता है. साथ ही, कारोबार के लिए एआई की नई सुविधाओं को तेज़ी से उपलब्ध कराया जा सकता है.
असल दुनिया में इस्तेमाल का उदाहरण: सप्लाई चेन को ऑप्टिमाइज़ करने वाले एजेंट की पुष्टि करना
अपनी ग्लोबल सप्लाई चेन में इन्वेंट्री लेवल को ऑप्टिमाइज़ करने के लिए डिज़ाइन किए गए एआई एजेंट को डिप्लॉय करने के बाद:
- इंटरफ़ेस ऐक्सेस करना: आपको एक डैशबोर्ड या ऐप्लिकेशन ("ट्रांसलोकेशन सर्कल यूआरएल") ऐक्सेस करना होगा. यह आपके लाइव एआई एजेंट से कनेक्ट होता है. यह "एजेंट लोकस यूआरएल" के ज़रिए कनेक्ट होता है, जो इसका एपीआई एंडपॉइंट होता है.
- चुनौती का सामना करना: कोई मुश्किल स्थिति (जैसे, "स्पेक्ट्र का सवाल") इनपुट की जा सकती है. जैसे: "हमें क्षेत्र Y में प्रॉडक्ट X की मांग में अचानक बढ़ोतरी देखने को मिली है. हालांकि, शिपिंग की क्षमता सीमित है. हम इन्वेंट्री को फिर से कैसे बांटें और प्रॉडक्ट के प्रोडक्शन को कैसे अडजस्ट करें, ताकि स्टॉक खत्म होने की समस्या को कम किया जा सके और मुनाफ़ा बनाए रखा जा सके?"
- एजेंट का जवाब: आपका एआई एजेंट, अब लाइव है और आपके एंटरप्राइज़ सिस्टम से कनेक्ट है.यह क्वेरी को प्रोसेस करता है, अपने ऑप्टिमाइज़ किए गए एल्गोरिदम का इस्तेमाल करता है, और सटीक सुझाव देता है. जैसे, "वेयरहाउस A से शिपमेंट को प्राथमिकता दो, फ़ैक्ट्री B में तेज़ी से प्रोडक्शन शुरू करो, और क्षेत्र Z में बिक्री टीम को 24 घंटे की संभावित देरी के बारे में सूचना दो"). जवाब कितना सटीक है और कितनी तेज़ी से दिया गया है, इससे यह तय होता है कि आपका एजेंट, कारोबार से जुड़ी समस्या को "CRITICAL BLOW" दे पाएगा या नहीं.