एजेंट मोड

इस दस्तावेज़ में, Gemini Code Assist में एजेंट मोड के बारे में बताया गया है.

एजेंट मोड, VS Code और IntelliJ इंटिग्रेटेड डेवलपमेंट एनवायरमेंट (आईडीई) में उपलब्ध है. एजेंट मोड का इस्तेमाल शुरू करने के लिए, पेयर प्रोग्रामर के तौर पर एजेंटिक चैट का इस्तेमाल करना लेख पढ़ें.

VS Code में एजेंट मोड, Gemini CLI की मदद से काम करता है.

IntelliJ में एजेंट मोड, Gemini सीएलआई का इस्तेमाल नहीं करता है.

एजेंट मोड की मदद से, ये काम किए जा सकते हैं. इनके अलावा, और भी काम किए जा सकते हैं:

  • अपने कोड के बारे में सवाल पूछें.
  • जनरेट किए गए कॉन्टेंट को बेहतर बनाने के लिए, कॉन्टेक्स्ट और पहले से मौजूद टूल का इस्तेमाल करें.
  • एजेंट की क्षमताओं को बढ़ाने के लिए, एमसीपी सर्वर कॉन्फ़िगर करें.
  • कई चरणों वाले मुश्किल टास्क के समाधान पाएँ.
  • डिज़ाइन दस्तावेज़ों, समस्याओं, और TODO टिप्पणियों से कोड जनरेट करें.
  • एजेंट के व्यवहार को कंट्रोल करें. इसके लिए, प्लान पर टिप्पणी करें, उनमें बदलाव करें, और उन्हें मंज़ूरी दें. साथ ही, प्लान लागू करते समय टूल के इस्तेमाल को मंज़ूरी दें.

एजेंट मोड कैसे काम करता है

एजेंट मोड में, आपके प्रॉम्प्ट को Gemini API को भेजा जाता है. साथ ही, उपलब्ध टूल की सूची भी भेजी जाती है. Gemini API, प्रॉम्प्ट को प्रोसेस करता है और जवाब देता है. जवाब में सीधे तौर पर जवाब दिया जा सकता है या उपलब्ध टूल का इस्तेमाल करने का अनुरोध किया जा सकता है.

जब किसी टूल का अनुरोध किया जाता है, तो एजेंट उस टूल का इस्तेमाल करने के लिए तैयार होता है. साथ ही, वह यह देखता है कि टूल का इस्तेमाल करने की अनुमति है या नहीं. इसके लिए, वह साफ़ तौर पर दी गई अनुमति की जांच करता है:

  • अगर टूल के ऐसे अनुरोध किए जाते हैं जिनसे फ़ाइल सिस्टम में बदलाव होता है या किसी संसाधन पर बदलाव करने वाली कार्रवाइयाँ की जाती हैं, तो Gemini आपसे उस कार्रवाई की अनुमति माँगेगा. ऐसा तब तक होगा, जब तक आपने Gemini को टूल या टूल को हमेशा अनुमति देने के लिए कॉन्फ़िगर न किया हो.
  • सिर्फ़ पढ़ने की अनुमति वाले टूल, टास्क पूरा करने से पहले अनुमति नहीं मांग सकते.

जब किसी टूल के इस्तेमाल की अनुमति मांगी जाती है, तो आपके पास कार्रवाई को स्वीकार या अस्वीकार करने का विकल्प होता है. एजेंट, आपको किसी टूल या सर्वर को हमेशा के लिए अनुमति देने या इसी तरह की अन्य कार्रवाइयों की अनुमति देने के विकल्प भी दे सकता है. ज़्यादा जानकारी के लिए, एजेंट ऐक्शन को हमेशा अनुमति दें लेख पढ़ें.

टूल का इस्तेमाल करने की अनुमति मिलने या खुद से अनुमति देने के बाद, एजेंट ज़रूरी कार्रवाई करने के लिए टूल का इस्तेमाल करता है. इसके बाद, कार्रवाई के नतीजे Gemini API को वापस भेज दिए जाते हैं. Gemini, टूल ऐक्शन के नतीजे को प्रोसेस करता है और एक और जवाब जनरेट करता है. कार्रवाई और उसकी जांच तब तक बार-बार की जाती है, जब तक टास्क पूरा नहीं हो जाता.

मुश्किल टास्क के लिए, Gemini आपको एक प्लान दिखा सकता है. इस प्लान को मंज़ूरी देने के बाद ही, Gemini उस टास्क को पूरा करेगा. इस प्रोसेस को शुरू करने से पहले, प्लान में बदलाव किया जा सकता है और चैट में सवाल पूछे जा सकते हैं. प्लान से संतुष्ट होने के बाद, इसे स्वीकार किया जा सकता है. प्लान को मंज़ूरी देने के बाद, एजेंट पहले टास्क पर काम करना शुरू कर देता है. प्लान को लागू करते समय, वह आपसे ज़रूरी जानकारी या अनुमतियां मांगेगा.

एजेंट मोड का कॉन्टेक्स्ट

कॉन्टेक्स्ट की मदद से, एजेंट किसी प्रॉम्प्ट के लिए बेहतर जवाब जनरेट कर सकता है. कॉन्टेक्स्ट, आपके आईडीई में मौजूद फ़ाइलों, आपके लोकल सिस्टम फ़ोल्डर में मौजूद फ़ाइलों, टूल के जवाबों, और आपके प्रॉम्प्ट की जानकारी से लिया जा सकता है.

आपके आईडीई और सेटिंग के आधार पर, एजेंट के लिए अलग-अलग कॉन्टेक्स्ट उपलब्ध हो सकते हैं.

यहां दिए गए टैब में, अलग-अलग आईडीई के लिए कॉन्टेक्स्ट इकट्ठा करने के तरीके के बारे में बताया गया है.

VS Code

आम तौर पर, एजेंट मोड में Gemini Code Assist को कॉन्टेक्स्ट पाने के ये तरीके उपलब्ध होते हैं:

  • आपके आईडीई वर्कस्पेस में मौजूद जानकारी.
  • grep, टर्मिनल, फ़ाइल पढ़ने या फ़ाइल लिखने जैसे बिल्ट-इन टूल से मिले जवाब.
  • Google Search के जवाब.
  • किसी प्रॉम्प्ट में दिए गए यूआरएल या किसी टूल से मिला कॉन्टेंट.
  • मार्कडाउन में बनाई गई कॉन्टेक्स्ट फ़ाइलें.

एजेंट की मेमोरी

VS Code में Gemini Code Assist का एजेंट मोड, Gemini सीएलआई की मेमोरी डिस्कवरी सेवा का इस्तेमाल करता है. इससे, एजेंट के लिए कॉन्टेक्स्ट देने वाली GEMINI.mdफ़ाइलें खोजी और लोड की जा सकती हैं. मेमोरी डिस्कवरी सेवा, इन फ़ाइलों को क्रम से खोजती है. यह मौजूदा वर्किंग डायरेक्ट्री से शुरू होती है और प्रोजेक्ट रूट और आपकी होम डायरेक्ट्री तक जाती है. यह सबडायरेक्ट्री में भी खोज करता है.

कॉन्टेक्स्ट फ़ाइलें बनाई जा सकती हैं. ये ग्लोबल, प्रोजेक्ट-लेवल, और कॉम्पोनेंट-लेवल की होती हैं. इन सभी को मिलाकर, मॉडल को सबसे काम की जानकारी दी जाती है.

लोड की गई सभी GEMINI.md फ़ाइलों का कॉन्टेंट एक साथ देखने के लिए, /memory show कमांड का इस्तेमाल करें. साथ ही, उन्हें फिर से लोड करने के लिए /memory refresh कमांड का इस्तेमाल करें.

IntelliJ

आम तौर पर, एजेंट मोड में Gemini Code Assist को कॉन्टेक्स्ट पाने के ये तरीके उपलब्ध होते हैं:

  • आपके आईडीई प्रोजेक्ट में मौजूद जानकारी. इसमें आपकी फ़ाइलें, इंडेक्स किए गए सिंबल, और आपके प्रोजेक्ट में सिंबल का इस्तेमाल शामिल है.
  • grep, फ़ाइल पढ़ने या फ़ाइल लिखने जैसे पहले से मौजूद टूल से मिले जवाब.
  • IntelliJ वर्शन कंट्रोल.
  • कॉन्फ़िगर किए गए एमसीपी सर्वर और टूल
  • मार्कडाउन में बनाई गई कॉन्टेक्स्ट फ़ाइलें.

एजेंट मोड में चैट प्रॉम्प्ट वाले एरिया में, कॉन्टेक्स्ट ड्रॉअर में एजेंट के लिए उपलब्ध कॉन्टेक्स्ट देखा जा सकता है.

एजेंट मोड का कॉन्टेक्स्ट ड्रॉअर.

टूल

टूल, सेवाओं की एक बड़ी कैटगरी है. एजेंट इनका इस्तेमाल, आपके प्रॉम्प्ट के जवाब में कॉन्टेक्स्ट और कार्रवाइयों के लिए कर सकता है. टूल की मदद से एजेंट, एपीआई एंडपॉइंट या अन्य एजेंट को फ़ंक्शन कॉल करके, अप-टू-डेट जानकारी ऐक्सेस कर सकते हैं. टूल सिर्फ़ एक फ़ंक्शन उपलब्ध करा सकते हैं या वे एक से ज़्यादा मिलते-जुलते फ़ंक्शन उपलब्ध करा सकते हैं.

उदाहरण के लिए, कुछ टूल पहले से मौजूद होते हैं. जैसे, grep और फ़ाइल को पढ़ना या लिखना. इसके अलावा, लोकल या रिमोट मॉडल कॉन्टेक्स्ट प्रोटोकॉल (एमसीपी) सर्वर और उनके एक्ज़ीक्यूटेबल फ़ंक्शन, और RESTful API कॉल.

पहले से मौजूद टूल

एजेंट मोड में, Gemini के पास आपके डिवाइस पर पहले से मौजूद सिस्टम टूल का ऐक्सेस होता है. एजेंट मोड में Gemini के लिए उपलब्ध बिल्ट-इन टूल की सूची देखने के लिए, अपना IDE चुनें.

VS Code

Gemini सीएलआई में पहले से मौजूद सभी टूल, Gemini Code Assist के एजेंट मोड में उपलब्ध हैं.

IntelliJ

read_file
इस फ़ंक्शन का इस्तेमाल करके, किसी फ़ाइल के पूरे पाथ का इस्तेमाल करके, उसके टेक्स्ट कॉन्टेंट को वापस पाया जा सकता है.
write_file
यह फ़ंक्शन, दिए गए टेक्स्ट को किसी फ़ाइल में लिखता है. अगर फ़ाइल मौजूद नहीं है, तो यह उसे बना देता है.
analyze_current_file
यह एडिटर में खुली फ़ाइल की जांच करके, गड़बड़ियों और चेतावनियों का पता लगाता है.
find_files
किसी फ़ाइल के नाम या पाथ के हिस्से के हिसाब से, फ़ाइलों का ऐब्सलूट पाथ ढूंढता है
grep
प्रोजेक्ट में मौजूद उन सभी फ़ाइलों को ढूंढता है जिनमें दिया गया टेक्स्ट पैटर्न या रेगुलर एक्सप्रेशन शामिल होता है.
list_files
यह दिए गए ऐब्सलूट पाथ में मौजूद सभी फ़ाइलों और डायरेक्ट्री की सूची दिखाता है.
resolve_symbol
किसी खास सिंबल के रेफ़रंस को उसके ओरिजनल एलान में बदलता है.
find_usages
यह प्रोजेक्ट में, दिए गए सिंबल के एलान के सभी रेफ़रंस खोजता है.
git
यह Git कमांड-लाइन इंटरफ़ेस (सीएलआई) कमांड को चलाता है और उसका नतीजा दिखाता है.
list_vcs_roots
यह फ़ंक्शन, मौजूदा प्रोजेक्ट में सभी वर्शन कंट्रोल सिस्टम (वीसीएस) रूट दिखाता है. जैसे, Git रिपॉज़िटरी.

सीमाएं

ऐसा हो सकता है कि Gemini Code Assist की स्टैंडर्ड चैट की कुछ सुविधाएँ, एजेंट मोड में उपलब्ध न हों या स्टैंडर्ड चैट की तुलना में अलग तरीके से काम करें.

एजेंट मोड में, बोलकर सुनाने की सुविधा उपलब्ध नहीं है. एजेंट मोड में, Gemini सोर्स के बारे में जानकारी नहीं देता. साथ ही, सोर्स से मिलते-जुलते कोड के सुझावों को बंद नहीं किया जा सकता.

आगे क्या करना है