इस दस्तावेज़ में, इंटिग्रेटेड डेवलपमेंट एनवायरमेंट (आईडीई) में, Gemini Code Assist के एजेंट मोड को पेयर प्रोग्रामर के तौर पर कॉन्फ़िगर करने और इस्तेमाल करने का तरीका बताया गया है.
एजेंट मोड की मदद से, ये काम किए जा सकते हैं. इनके अलावा, और भी काम किए जा सकते हैं:
- अपने कोड के बारे में सवाल पूछें.
- जनरेट किए गए कॉन्टेंट को बेहतर बनाने के लिए, कॉन्टेक्स्ट और पहले से मौजूद टूल का इस्तेमाल करें.
- एजेंट की क्षमताओं को बढ़ाने के लिए, एमसीपी सर्वर कॉन्फ़िगर करें.
- कई चरणों वाले मुश्किल टास्क के समाधान पाएँ.
- डिज़ाइन दस्तावेज़ों, समस्याओं, और
TODO
टिप्पणियों से कोड जनरेट करें. - एजेंट के व्यवहार को कंट्रोल करें. इसके लिए, प्लान पर टिप्पणी करें, उनमें बदलाव करें, और उन्हें मंज़ूरी दें. साथ ही, प्लान लागू करते समय टूल के इस्तेमाल को मंज़ूरी दें.
सीमाएं
ऐसा हो सकता है कि Gemini Code Assist की स्टैंडर्ड चैट की कुछ सुविधाएँ, एजेंट मोड में उपलब्ध न हों या स्टैंडर्ड चैट की तुलना में अलग तरीके से काम करें.
एजेंट मोड में, कविता सुनाने की सुविधा उपलब्ध नहीं है. एजेंट मोड में, Gemini सोर्स के बारे में जानकारी नहीं देता. साथ ही, सोर्स से मिलते-जुलते कोड के सुझावों को बंद नहीं किया जा सकता.
शुरू करने से पहले
VS Code
- अपने आईडीई में Gemini Code Assist का वह एडिशन सेट अप करें जिसका आपको इस्तेमाल करना है:
IntelliJ
अपने आईडीई में, Gemini Code Assist का वह एडिशन सेट अप करें जिसका आपको इस्तेमाल करना है:
एजेंट मोड का इस्तेमाल करना
एजेंट मोड में, Gemini से मुश्किल टास्क पूरे करने और बड़े लक्ष्यों को हासिल करने के लिए कहा जा सकता है.
एजेंट मोड का ज़्यादा से ज़्यादा फ़ायदा पाने के लिए, प्रॉम्प्ट देने के सबसे सही तरीके अपनाएं. साथ ही, ज़्यादा से ज़्यादा जानकारी दें.
एजेंट मोड पर स्विच करने के लिए:
VS Code
- Gemini Code Assist चैट खोलने के लिए, अपने आईडीई के ऐक्टिविटी बार में, spark Gemini Code Assist पर क्लिक करें.
- एजेंट मोड में जाने के लिए, एजेंट टॉगल पर क्लिक करें. एजेंट मोड पर टॉगल करने पर, टॉगल हाइलाइट हो जाता है. वहीं, सामान्य चैट में यह स्लेटी रंग का होता है.
- Gemini Code Assist की चैट में, अपना प्रॉम्प्ट डालें.
Gemini, आपके प्रॉम्प्ट का जवाब देता है या किसी टूल का इस्तेमाल करने की अनुमति मांगता है.
एजेंट को रोकने के लिए,
बंद करें पर क्लिक करें.Gemini Code Assist की स्टैंडर्ड चैट का इस्तेमाल करने के लिए,
नई चैट पर क्लिक करके नई चैट बनाएं.Gemini Code Assist का एजेंट मोड, Gemini सीएलआई की मदद से काम करता है.
IntelliJ
- टूल विंडो बार में, spark Gemini पर क्लिक करें. अगर आपसे कहा जाए, तो साइन इन करें.
- एजेंट टैब चुनें.
- उस टास्क के बारे में बताएं जिसे एजेंट को पूरा करना है.
जब एजेंट किसी टास्क को पूरा करने के लिए एक चरण से दूसरे चरण पर जाता है, तो आपके पास हर बदलाव की समीक्षा करने और उसे स्वीकार करने का विकल्प होता है.
ज़रूरी नहीं: बदलावों को अपने-आप मंज़ूरी देने के लिए, सेटिंग एजेंट के विकल्प को चुनें. इसके बाद, बदलावों को अपने-आप मंज़ूरी दें के बगल में मौजूद चेकबॉक्स पर क्लिक करें.
एजेंट मोड के लिए टूल कॉन्फ़िगर करना
टूल, सेवाओं की एक बड़ी कैटगरी है. एजेंट इनका इस्तेमाल, आपके प्रॉम्प्ट के जवाब में कॉन्टेक्स्ट और कार्रवाइयों के लिए कर सकता है. उदाहरण के लिए, कुछ टूल पहले से मौजूद होते हैं. जैसे, grep और फ़ाइल पढ़ने या लिखने की सुविधा, लोकल या रिमोट मॉडल कॉन्टेक्स्ट प्रोटोकॉल (एमसीपी) सर्वर और उनके एक्ज़ीक्यूटेबल फ़ंक्शन या खास सेवा लागू करने की सुविधा.
पहले से मौजूद टूल के इस्तेमाल को कंट्रोल करना
एजेंट मोड के पास, आपके डिवाइस में पहले से मौजूद टूल का ऐक्सेस होता है. जैसे, फ़ाइल खोजने, फ़ाइल पढ़ने, फ़ाइल लिखने, टर्मिनल कमांड वगैरह.
VS Code
coreTools
और excludeTools
की सेटिंग का इस्तेमाल करके, यह कंट्रोल किया जा सकता है कि एजेंट मोड में Gemini किन टूल को ऐक्सेस कर सकता है.
coreTools
- इस विकल्प की मदद से, उन टूल की सूची बनाई जा सकती है जिन्हें मॉडल के लिए उपलब्ध कराना है. इसके अलावा, उन टूल के लिए निर्देश से जुड़ी पाबंदियां भी तय की जा सकती हैं जिनमें यह सुविधा काम करती है. उदाहरण के लिए—Gemini की सेटिंग वाले JSON में यह जोड़ने पर, सिर्फ़
ls -l
शेल कमांड को लागू किया जा सकेगा:"coreTools": ["ShellTool(ls -l)"]
. excludeTools
- इस सेटिंग की मदद से, उन टूल की सूची तय की जा सकती है जिन्हें मॉडल के लिए उपलब्ध नहीं कराना है. इसके अलावा, उन टूल के लिए निर्देश से जुड़ी पाबंदियां भी तय की जा सकती हैं जिनमें यह सुविधा काम करती है. उदाहरण के लिए—Gemini की सेटिंग के JSON में इसे जोड़ने पर,
rm -rf
कमांड का इस्तेमाल नहीं किया जा सकेगा:"excludeTools": ["ShellTool(rm -rf)"]
.
excludeTools
और coreTools
, दोनों में शामिल टूल को बाहर रखा जाता है.
एजेंट मोड में उपलब्ध बिल्ट-इन टूल को कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं:
~/.gemini/settings.json
में मौजूद Gemini की सेटिंग वाला JSON खोलें. यहाँ~
आपकी होम डायरेक्ट्री है.एजेंट के लिए, मंज़ूरी पा चुके टूल की सूची में शामिल टूल के इस्तेमाल को सीमित करने के लिए, Gemini की सेटिंग वाले JSON में यह लाइन जोड़ें:
"coreTools": ["TOOL_NAME_1,TOOL_NAME_2"]
TOOL_NAME_1
औरTOOL_NAME_2
की जगह, उन बिल्ट-इन टूल के नाम डालें जिनका ऐक्सेस आपको एजेंट को देना है.आपके पास जितने चाहें उतने बिल्ट-इन टूल की सूची बनाने का विकल्प होता है. डिफ़ॉल्ट रूप से, एजेंट के लिए सभी बिल्ट-इन टूल उपलब्ध होते हैं.
अगर आपको एजेंट के लिए टूल इस्तेमाल करने की सुविधा को सिर्फ़ टूल से जुड़े कुछ खास निर्देशों तक सीमित रखना है, तो Gemini की सेटिंग वाले JSON में यह लाइन जोड़ें:
"coreTools": ["TOOL_NAME(COMMAND)"]
इनकी जगह ये डालें:
TOOL_NAME
: पहले से मौजूद टूल का नामCOMMAND
: बिल्ट-इन टूल कमांड का नाम, जिसका इस्तेमाल एजेंट कर सकता है.
किसी टूल को एजेंट के इस्तेमाल से बाहर रखने के लिए, Gemini की सेटिंग वाले JSON में यह लाइन जोड़ें:
"excludeTools": ["TOOL_NAME_1,TOOL_NAME_2"]
TOOL_NAME_1
औरTOOL_NAME_2
की जगह, उन बिल्ट-इन टूल के नाम डालें जिन्हें एजेंट के इस्तेमाल से बाहर रखना है.किसी टूल कमांड को एजेंट के इस्तेमाल से बाहर रखने के लिए, Gemini की सेटिंग वाले JSON में यह लाइन जोड़ें:
"excludeTools": ["TOOL_NAME(COMMAND)"]
इनकी जगह ये डालें:
TOOL_NAME
: पहले से मौजूद टूल का नामCOMMAND
: बिल्ट-इन टूल कमांड का वह नाम जिसे आपको एजेंट के इस्तेमाल से बाहर रखना है.
coreTools
और excludeTools
कॉन्फ़िगरेशन सेटिंग के बारे में ज़्यादा जानने के लिए, Gemini CLI कॉन्फ़िगरेशन का दस्तावेज़ देखें.
IntelliJ
यह सुविधा, IntelliJ या अन्य JetBrains IDE के लिए Gemini Code Assist में काम नहीं करती.
MCP सर्वर कॉन्फ़िगर करना
VS Code
एजेंट मोड में एमसीपी सर्वर का इस्तेमाल करने के लिए, Gemini की सेटिंग वाली JSON फ़ाइल में हर सर्वर के लिए कॉन्फ़िगरेशन जोड़ें. इसके लिए, हर सर्वर के दस्तावेज़ देखें.
- जिन MCP सर्वर को जोड़ा जा रहा है उनके लिए ज़रूरी डिपेंडेंसी इंस्टॉल करें.
- Gemini की सेटिंग वाली JSON फ़ाइल खोलें. यह फ़ाइल
~/.gemini/settings.json
पर मौजूद होती है. यहाँ~
आपकी होम डायरेक्ट्री है. Gemini की सेटिंग वाले JSON फ़ाइल में, हर लोकल या रिमोट MCP सर्वर को कॉन्फ़िगर करें. इसके लिए, हर सर्वर के निर्देशों का पालन करें.
Gemini की सेटिंग वाली JSON फ़ाइल के इस उदाहरण में, दो रिमोट Cloudflare MCP सर्वर, एक रिमोट GitLab MCP सर्वर, और एक लोकल GitHub MCP सर्वर को VS Code में Gemini Code Assist के साथ इस्तेमाल करने के लिए कॉन्फ़िगर किया गया है.
{ "mcpServers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345" } }, "gitlab": { "command": "npx", "args": ["mcp-remote", "https://your-gitlab-instance.com/api/v4/mcp"] }, "cloudflare-observability": { "command": "npx", "args": ["mcp-remote", "https://observability.mcp.cloudflare.com/sse"] }, "cloudflare-bindings": { "command": "npx", "args": ["mcp-remote", "https://bindings.mcp.cloudflare.com/sse"] } } }
कमांड पैलेट खोलें और Developer: Reload Window चुनें.
कॉन्फ़िगर किए गए एमसीपी सर्वर, एजेंट मोड में एजेंट के लिए उपलब्ध होते हैं.
IntelliJ
एमसीपी सर्वर को एजेंट मोड में इस्तेमाल करने के लिए, हर सर्वर के कॉन्फ़िगरेशन को mcp.json
फ़ाइल में जोड़ें. इसके बाद, mcp.json
फ़ाइल को अपने आईडीई की कॉन्फ़िगरेशन डायरेक्ट्री में रखें.
- जिन MCP सर्वर को जोड़ा जा रहा है उनके लिए ज़रूरी डिपेंडेंसी इंस्टॉल करें.
- अपने आईडीई की कॉन्फ़िगरेशन डायरेक्ट्री में
mcp.json
नाम की फ़ाइल बनाएं. हर सर्वर के निर्देशों के मुताबिक,
mcp.json
फ़ाइल में हर लोकल या रिमोट एमसीपी सर्वर को कॉन्फ़िगर करें.यहां दिए गए उदाहरण
mcp.json
फ़ाइल में, दो रिमोट Cloudflare MCP सर्वर, एक रिमोट GitLab MCP सर्वर, और एक लोकल GitHub MCP सर्वर को कॉन्फ़िगर किया गया है. इनका इस्तेमाल IntelliJ में Gemini Code Assist के साथ किया जा सकता है.{ "mcpServers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345" } }, "gitlab": { "command": "npx", "args": ["mcp-remote", "https://your-gitlab-instance.com/api/v4/mcp"] }, "cloudflare-observability": { "command": "npx", "args": ["mcp-remote", "https://observability.mcp.cloudflare.com/sse"] }, "cloudflare-bindings": { "command": "npx", "args": ["mcp-remote", "https://bindings.mcp.cloudflare.com/sse"] } } }
कॉन्फ़िगर किए गए एमसीपी सर्वर, एजेंट मोड में एजेंट के लिए उपलब्ध होते हैं.
MCP सर्वर की पुष्टि करना
कुछ एमसीपी सर्वर के लिए पुष्टि करना ज़रूरी होता है. ज़रूरी उपयोगकर्ता टोकन बनाने के लिए, सर्वर के दस्तावेज़ पढ़ें. इसके बाद, उन्हें सही तरीके से तय करें. आम तौर पर, लोकल सर्वर के लिए पुष्टि करने वाले टोकन, सर्वर के हिसाब से सही एनवायरमेंट वैरिएबल का इस्तेमाल करके तय किए जाते हैं. साथ ही, रिमोट सर्वर के लिए पुष्टि करने वाले टोकन, एचटीटीपी Authorization
हेडर का इस्तेमाल करके तय किए जाते हैं.
VS Code
पुष्टि करने की सुविधा की ज़रूरत वाले एमसीपी सर्वर को, Gemini की सेटिंग वाले JSON में जोड़ा जा सकता है.
यहां दिए गए उदाहरण में, GitHub के लोकल और रिमोट MCP सर्वर के लिए निजी ऐक्सेस टोकन तय करने का तरीका बताया गया है:
{
"mcpServers": {
"github-remote": {
"httpUrl": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer ACCESS_TOKEN"
}
},
"github-local": {
"command": "/Users/username/code/github-mcp-server/cmd/github-mcp-server/github-mcp-server",
"args": ["stdio"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ACCESS_TOKEN"
}
}
}
}
यहाँ ACCESS_TOKEN
, उपयोगकर्ता का ऐक्सेस टोकन है.
IntelliJ
जिन एमसीपी सर्वर के लिए पुष्टि करना ज़रूरी है उन्हें अपनी mcp.json
फ़ाइल में जोड़ा जा सकता है.
यहां दिए गए उदाहरण में, GitHub के लोकल सर्वर के लिए निजी ऐक्सेस टोकन जोड़ा गया है:
{
"mcpServers": {
"github-local": {
"command": "/Users/username/code/github-mcp-server/cmd/github-mcp-server/github-mcp-server",
"args": ["stdio"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ACCESS_TOKEN"
}
}
}
}
यहाँ ACCESS_TOKEN
, उपयोगकर्ता का ऐक्सेस टोकन है.
कॉन्टेक्स्ट फ़ाइल बनाना
कॉन्टेक्स्ट की मदद से, एजेंट किसी प्रॉम्प्ट के लिए बेहतर जवाब जनरेट कर सकता है. कॉन्टेक्स्ट, आपके आईडीई में मौजूद फ़ाइलों, आपके लोकल सिस्टम फ़ोल्डर में मौजूद फ़ाइलों, टूल के जवाबों, और आपके प्रॉम्प्ट की जानकारी से लिया जा सकता है. ज़्यादा जानकारी के लिए, एजेंट मोड का कॉन्टेक्स्ट देखें.
VS Code
GEMINI.md
नाम की फ़ाइल बनाएं. इसे उस जगह पर बनाएं जहां आपको कॉन्टेक्स्ट लागू करना है. यहां दी गई टेबल में, अलग-अलग स्कोप के लिए कॉन्टेक्स्ट फ़ाइलों की जगहें बताई गई हैं:दायरा जगह आपके सभी प्रोजेक्ट ~/.gemini/GEMINI.md
कोई खास प्रोजेक्ट आपकी वर्किंग डायरेक्ट्री या कोई भी पैरंट डायरेक्ट्री, आपके प्रोजेक्ट रूट ( .git
फ़ोल्डर से पहचाना जाता है) या आपकी होम डायरेक्ट्री तक.किसी प्रोजेक्ट का कोई कॉम्पोनेंट, मॉड्यूल या सब-सेक्शन आपकी वर्किंग डायरेक्ट्री की सबडायरेक्ट्री. एजेंट के मेमोरी सिस्टम को कई जगहों से कॉन्टेक्स्ट फ़ाइलें लोड करके बनाया जाता है. ज़्यादा खास फ़ाइलों से मिले कॉन्टेक्स्ट, जैसे कि खास कॉम्पोनेंट या मॉड्यूल के लिए फ़ाइलें, ज़्यादा सामान्य कॉन्टेक्स्ट फ़ाइलों से मिले कॉन्टेंट को बदल देती हैं या उसमें कुछ और जानकारी जोड़ देती हैं. जैसे,
~/.gemini/GEMINI.md
पर मौजूद ग्लोबल कॉन्टेक्स्ट फ़ाइल.मार्कडाउन में कोई भी नियम, स्टाइल गाइड की जानकारी या कॉन्टेक्स्ट लिखें. इसके बाद, फ़ाइल को सेव करें. ज़्यादा जानकारी के लिए, GitHub पर उदाहरण के तौर पर दी गई कॉन्टेक्स्ट फ़ाइल देखें.
एजेंट, आपकी कॉन्टेक्स्ट फ़ाइल में मौजूद जानकारी को आपके भेजे गए प्रॉम्प्ट के साथ शामिल करता है.
IntelliJ
अपने प्रोजेक्ट के रूट में
GEMINI.md
याAGENT.md
नाम की कोई फ़ाइल बनाएं.मार्कडाउन में कोई भी नियम, स्टाइल गाइड की जानकारी या कॉन्टेक्स्ट लिखें. इसके बाद, फ़ाइल को सेव करें.
एजेंट, आपकी कॉन्टेक्स्ट फ़ाइल में मौजूद जानकारी को आपके भेजे गए प्रॉम्प्ट के साथ शामिल करता है. @
FILENAME
सिंटैक्स का इस्तेमाल करके, मैन्युअल तरीके से कोई फ़ाइल शामिल करके भी संदर्भ जोड़ा जा सकता है. यहां FILENAME
उस फ़ाइल का नाम है जिसमें आपको संदर्भ से जुड़ी जानकारी शामिल करनी है.
निर्देशों का इस्तेमाल करना
स्लैश /
कमांड की मदद से, टर्मिनल विंडो में मौजूद कमांड की तरह ही कमांड को तेज़ी से चलाया जा सकता है.
VS Code
एजेंट मोड में, Gemini सीएलआई की इन कमांड का इस्तेमाल किया जा सकता है:
/tools
: इससे, उन टूल की सूची दिखती है जो एजेंट मोड वाले सेशन में उपलब्ध हैं./mcp
: इसमें कॉन्फ़िगर किए गए मॉडल कॉन्टेक्स्ट प्रोटोकॉल (एमसीपी) सर्वर, उनके कनेक्शन की स्थिति, सर्वर की जानकारी, और उपलब्ध टूल की सूची होती है.
Gemini CLI के निर्देशों के बारे में ज़्यादा जानने के लिए, Gemini CLI के निर्देश लेख पढ़ें. ध्यान दें कि एजेंट मोड में, Gemini CLI की सभी कमांड उपलब्ध नहीं होती हैं.
IntelliJ
यह सुविधा, IntelliJ या अन्य JetBrains IDE के लिए Gemini Code Assist में काम नहीं करती.
एजेंट की कार्रवाइयों को हमेशा अनुमति दें
आपके पास एजेंट की सभी कार्रवाइयों को अपने-आप अनुमति देने का विकल्प होता है.
एजेंट की सभी कार्रवाइयों को अपने-आप अनुमति देने के लिए:
VS Code
सभी एजेंट ऐक्शन को अपने-आप अनुमति देने के लिए, यलो मोड का इस्तेमाल करें. YOLO मोड का इस्तेमाल सिर्फ़ भरोसेमंद वर्कस्पेस में किया जा सकता है.
यलो मोड को कॉन्फ़िगर करने के लिए:
VS Code की उपयोगकर्ता सेटिंग वाली JSON फ़ाइल खोलें:
- कमांड पैलेट (
ctrl
/command
+Shift
+P
) खोलें. - प्राथमिकताएं: उपयोगकर्ता सेटिंग (JSON) खोलें को चुनें.
- कमांड पैलेट (
VS Code की उपयोगकर्ता सेटिंग वाली JSON फ़ाइल में यह जोड़ें:
//other settings... "geminicodeassist.agentYoloMode": true, //other settings...
कमांड पैलेट खोलें और Developer: Reload Window चुनें.
एजेंट मोड, yolo मोड का इस्तेमाल करता है. साथ ही, जब इसे कोई प्रॉम्प्ट भेजा जाता है, तो यह कार्रवाई करने से पहले अनुमति नहीं मांगता. पाबंदी वाले वर्कस्पेस का इस्तेमाल करते समय, एजेंट इस सेटिंग के बावजूद कार्रवाई करने से पहले प्रॉम्प्ट करेगा.
IntelliJ
बदलावों को अपने-आप स्वीकार करने के लिए, Gemini Chat एजेंट टैब में जाकर, सेटिंग एजेंट के विकल्प को चुनें. इसके बाद, बदलावों को अपने-आप स्वीकार करें के बगल में मौजूद चेकबॉक्स पर क्लिक करें.
एजेंट मोड में, सभी अनुरोध अपने-आप स्वीकार हो जाते हैं. साथ ही, जब इसे कोई प्रॉम्प्ट भेजा जाता है, तो यह कार्रवाई करने से पहले अनुमति नहीं मांगता.
अन्य प्रॉम्प्ट
अपनी जानकारी के साथ इन प्रॉम्प्ट को आज़माएँ:
- "यह रिपॉज़िटरी क्या करती है? मुझे आर्किटेक्चर के बारे में बताओ."
- "यह [class/function] क्या करता है?"
- "इस कोडबेस में कोई सुविधा जोड़ो - "[link-or-path-to-codebase]"."
- "फ़ंक्शन [A] और [B] को फिर से फ़ैक्टर करें, ताकि वे सामान्य तरीके [C] का इस्तेमाल कर सकें."
- "GitHub से जुड़ी समस्या [link-to-github-issue] को ठीक करो."
- "[लक्ष्य] को पूरा करने के लिए एक ऐसा ऐप्लिकेशन बनाओ जिसका यूज़र इंटरफ़ेस (यूआई) ऐसा हो कि उपयोगकर्ता [एनवायरमेंट] में [टास्क] कर सके."
- "इस रिपॉज़िटरी में मौजूद लाइब्रेरी के वर्शन को [X] से [Y] पर माइग्रेट करो."
- "इस Go कोड की परफ़ॉर्मेंस को ऑप्टिमाइज़ करो, ताकि यह तेज़ी से काम करे."
- "इस सुविधा को बनाने के लिए, [name-of-API] का इस्तेमाल करें."
- "[x], [Y], और [Z] को पूरा करने के लिए, कोई एल्गोरिदम लागू करो."