במאמר הזה מוסבר איך להגדיר את Gemini Code Assist במצב סוכן ולהשתמש בו כמתכנת שותף בסביבת הפיתוח המשולבת (IDE).
במצב סוכן אפשר לבצע את הפעולות הבאות ועוד:
- לשאול שאלות על הקוד.
- אפשר להשתמש בהקשר ובכלים המובנים כדי לשפר את התוכן שנוצר.
- הגדרת שרתי MCP כדי להרחיב את היכולות של הסוכן.
- קבלת פתרונות למשימות מורכבות עם כמה שלבים.
- ליצור קוד ממסמכי עיצוב, מבעיות ומ
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, לוחצים על
New chat כדי ליצור צ'אט חדש.מצב הסוכן של Gemini Code Assist מבוסס על Gemini CLI.
IntelliJ
- לוחצים על spark Gemini בסרגל של חלון הכלים. אם מוצגת בקשה להיכנס לחשבון, מזינים את פרטי הכניסה.
- בוחרים בכרטיסייה סוכן.
- מתארים את המשימה שרוצים שהסוכן יבצע.
במהלך ביצוע השלבים להשלמת המשימה על ידי הסוכן, תוכלו לבדוק ולאשר את השינויים.
אופציונלי: כדי לאשר שינויים באופן אוטומטי, בוחרים באפשרות הגדרות אפשרויות של סוכן ומסמנים את התיבה לצד אישור אוטומטי של שינויים.
הגדרת כלים למצב סוכן
כלים הם קטגוריה רחבה של שירותים שנציג יכול להשתמש בהם כדי להבין את ההקשר ולבצע פעולות בתשובה להנחיה. דוגמאות לכלים כאלה הם כלים מובנים כמו grep וקריאה או כתיבה של קבצים, שרתים מקומיים או מרוחקים של Model Context Protocol (MCP) והפונקציות הניתנות להפעלה שלהם, או הטמעות של שירותים בהתאמה אישית.
שליטה בשימוש בכלי מובנה
למצב סוכן יש גישה לכלים המובנים שלכם, כמו חיפוש קבצים, קריאת קבצים, כתיבת קבצים, פקודות טרמינל ועוד.
VS Code
אתם יכולים להשתמש בהגדרות coreTools
ו-excludeTools
כדי לקבוע לאילו כלים תהיה ל-Gemini גישה במצב סוכן.
coreTools
- מאפשרת לציין רשימה של כלים שרוצים שהמודל יוכל להשתמש בהם. אפשר גם לציין הגבלות ספציפיות לפקודות עבור כלים שתומכים בכך. לדוגמה – הוספת הקוד הבא ל-JSON של הגדרות Gemini תאפשר רק את הפעלת הפקודה
ls -l
של Shell:"coreTools": ["ShellTool(ls -l)"]
. excludeTools
- מאפשרת לציין רשימה של כלים שלא רוצים שהמודל יוכל להשתמש בהם. אפשר גם לציין הגבלות ספציפיות לפקודות עבור כלים שתומכים בכך. לדוגמה – הוספת הקוד הבא ל-JSON של הגדרות Gemini תחסום את השימוש בפקודה
rm -rf
:"excludeTools": ["ShellTool(rm -rf)"]
.
כלי שמופיע גם ב-excludeTools
וגם ב-coreTools
מוחרג.
כדי להגדיר את הכלים המובנים שזמינים במצב סוכן:
- פותחים את קובץ ה-JSON של הגדרות Gemini שנמצא בתיקייה
~/.gemini/settings.json
, כאשר~
היא ספריית הבית. כדי להגביל את השימוש בכלי הסוכן לרשימה של כלים מאושרים, מוסיפים את השורה הבאה ל-JSON של הגדרות Gemini:
"coreTools": ["TOOL_NAME_1,TOOL_NAME_2"]
מחליפים את
TOOL_NAME_1
ואתTOOL_NAME_2
בשמות של הכלים המובנים שרוצים שהסוכן יוכל לגשת אליהם.אפשר לפרט כמה כלים מובנים שרוצים. כברירת מחדל, כל הכלים המובנים זמינים לסוכן.
כדי להגביל את השימוש בכלי הסוכן לפקודות כלי ספציפיות, מוסיפים את השורה הבאה לקובץ ה-JSON של הגדרות Gemini:
"coreTools": ["TOOL_NAME(COMMAND)"]
מחליפים את מה שכתוב בשדות הבאים:
-
TOOL_NAME
: השם של הכלי המובנה -
COMMAND
: השם של הפקודה של הכלי המובנה שרוצים שהסוכן יוכל להשתמש בו.
-
כדי להחריג כלי משימוש על ידי סוכן, מוסיפים את השורה הבאה ל-JSON של הגדרות Gemini:
"excludeTools": ["TOOL_NAME_1,TOOL_NAME_2"]
מחליפים את
TOOL_NAME_1
ואתTOOL_NAME_2
בשמות של הכלים המובנים שרוצים להחריג משימוש על ידי נציגים.כדי להחריג פקודה של כלי משימוש על ידי הסוכן, מוסיפים את השורה הבאה ל-JSON של הגדרות Gemini:
"excludeTools": ["TOOL_NAME(COMMAND)"]
מחליפים את מה שכתוב בשדות הבאים:
-
TOOL_NAME
: השם של הכלי המובנה -
COMMAND
: השם של הפקודה המובנית של הכלי שרוצים להחריג משימוש על ידי הסוכן.
-
מידע נוסף על הגדרות התצורה coreTools
ו-excludeTools
זמין במסמכי התיעוד של Gemini CLI.
IntelliJ
התכונה הזו לא נתמכת ב-Gemini Code Assist ל-IntelliJ או בסביבות פיתוח משולבות (IDE) אחרות של JetBrains.
הגדרת שרתי MCP
VS Code
כדי לקבוע אילו שרתים יהיו זמינים במצב סוכן, מוסיפים אותם ל-JSON של הגדרות Gemini בהתאם לתיעוד השרת.
- מתקינים את כל יחסי התלות שנדרשים על ידי שרת ה-MCP.
- פותחים את קובץ ה-JSON של הגדרות Gemini שנמצא בתיקייה
~/.gemini/settings.json
, כאשר~
היא ספריית הבית. מוסיפים שרתי MCP מקומיים או מרוחקים לקובץ ה-JSON של הגדרות Gemini בהתאם להוראות השרת.
בדוגמה הבאה מתווספים שני שרתי Cloudflare MCP מרוחקים, והשרתים של GitHub ו-GitLab מותקנים במחשב המקומי.
{ "mcpServers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345" } }, "gitlab": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-gitlab"] }, "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 (מפתח: טעינה מחדש של החלון).
השרתים של MCP שהגדרתם זמינים לסוכן לשימוש במצב סוכן.
IntelliJ
כדי לקבוע אילו שרתים יהיו זמינים במצב סוכן, מוסיפים אותם לקובץ mcp.json
וממקמים אותו בספריית ההגדרות של ה-IDE.
- מתקינים את כל יחסי התלות שנדרשים על ידי שרת ה-MCP.
- יוצרים קובץ
mcp.json
בתיקיית ההגדרות של סביבת הפיתוח המשולבת. מוסיפים שרתי MCP מקומיים או מרוחקים לקובץ ה-JSON של הגדרות Gemini בהתאם להוראות השרת.
בדוגמה הבאה מתווסף שרת Cloudflare MCP מרוחק, והשרתים של GitHub ו-GitLab מותקנים במחשב המקומי.
{ "mcpServers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345" } }, "gitlab": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-gitlab"] }, "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 שהגדרתם זמינים לסוכן לשימוש במצב סוכן.
אימות שרת MCP
חלק משרתי ה-MCP דורשים אימות. פועלים לפי התיעוד של השרת כדי ליצור את אסימוני המשתמש הנדרשים, ואז מציינים אותם בצורה המתאימה. שרתים מקומיים עשויים לקבל משתני סביבה, ושרתים מרוחקים עשויים לקבל פרטי כניסה בכותרות.
VS Code
בשרתי MCP שנדרש בהם אימות, אפשר להוסיף אותם לקובץ ה-JSON של הגדרות Gemini.
בדוגמה הבאה מוצג איך מציינים אסימון גישה אישי לשרתי ה-MCP המקומיים והמרוחקים של GitHub:
{
"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 שנדרש אימות כדי להשתמש בהם, אפשר להוסיף אותם לקובץ 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
.כותבים את הכללים, את המידע על סגנון או את ההקשר שרוצים שהסוכן ישתמש בהם ב-Markdown ושומרים את הקובץ. מידע נוסף זמין במאמר על קובץ ההקשר לדוגמה ב-GitHub.
הסוכן כולל את המידע בקובץ ההקשר יחד עם ההנחיות שאתם שולחים לו.
IntelliJ
יוצרים קובץ בשם
GEMINI.md
אוAGENT.md
בשורש של הפרויקט.כותבים את הכללים, את המידע על סגנון או את ההקשר שרוצים שהסוכן ישתמש בהם ב-Markdown ושומרים את הקובץ.
הסוכן כולל את המידע בקובץ ההקשר יחד עם ההנחיות שאתם שולחים לו. אפשר גם להוסיף הקשר על ידי צירוף קובץ באופן ידני באמצעות התחביר @
FILENAME
, כאשר FILENAME
הוא שם הקובץ עם המידע ההקשרי שרוצים לכלול.
שימוש בפקודות
פקודות דרך שורת הפקודות /
מאפשרות להריץ במהירות פקודות שדומות לפקודות בחלון מסוף.
VS Code
אפשר להשתמש בפקודות הבאות של Gemini CLI במצב סוכן:
-
/tools
: הצגת רשימה של הכלים שזמינים בסשן שלכם במצב סוכן. -
/mcp
: מציג רשימה של שרתי Model Context Protocol (MCP) שהוגדרו, סטטוס החיבור שלהם, פרטי השרתים והכלים הזמינים.
מידע נוסף על הפקודות של Gemini CLI זמין במאמר Gemini CLI Commands. חשוב לזכור שלא כל הפקודות של Gemini CLI זמינות במצב סוכן.
IntelliJ
התכונה הזו לא נתמכת ב-Gemini Code Assist ל-IntelliJ או בסביבות פיתוח משולבות (IDE) אחרות של JetBrains.
תמיד לאפשר פעולות של סוכנים
אתם יכולים לאשר באופן אוטומטי את כל הפעולות של הסוכן.
כדי לאפשר באופן אוטומטי את כל הפעולות של הסוכן:
VS Code
אפשר להשתמש במצב YOLO כדי לאפשר אוטומטית את כל הפעולות של הסוכן. אפשר להשתמש במצב YOLO רק בסביבת עבודה מהימנה.
כדי להגדיר את מצב YOLO:
פותחים את קובץ ה-JSON של הגדרות המשתמש ב-VS Code:
- פותחים את לוח הפקודות (
ctrl
/command
+Shift
+P
). - בוחרים באפשרות העדפות: פתיחת הגדרות משתמש (JSON).
- פותחים את לוח הפקודות (
מוסיפים את השורה הבאה לקובץ JSON של הגדרות המשתמש ב-VS Code:
//other settings... "geminicodeassist.agentYoloMode": true, //other settings...
פותחים את לוח הפקודות ובוחרים באפשרות Developer: Reload Window (מפתח: טעינה מחדש של החלון).
מצב הסוכן משתמש במצב yolo, ולא יבקש הרשאה לפני ביצוע פעולות כששולחים לו הנחיה. כשמשתמשים בסביבת עבודה מוגבלת, הסוכן יבקש אישור לפני ביצוע פעולות, ללא קשר להגדרה הזו.
IntelliJ
כדי לאשר שינויים באופן אוטומטי, בכרטיסייה של סוכן Gemini Chat, בוחרים באפשרות הגדרות אפשרויות הסוכן ואז לוחצים על תיבת הסימון לצד אישור אוטומטי של שינויים.
במצב סוכן, כל הבקשות מאושרות באופן אוטומטי, ולא תתבקשו לתת הרשאה לפני שיינקטו פעולות כשאתם שולחים הנחיה.
הנחיות נוספות
אפשר לנסות את ההנחיות הבאות עם מידע משלכם:
- "What does this repository do? תסביר לי את הארכיטקטורה".
- "What does this [class/function] do?" (מה [שם המחלקה/הפונקציה] עושה?)
- "תוסיף תכונה לבסיס הקוד הזה – [קישור או נתיב לבסיס הקוד]".
- "בצע רפקטורינג בפונקציות [A] ו-[B] כדי להשתמש בשיטה המשותפת [C]".
- "Fix the GitHub issue [link-to-github-issue]." (תקן את הבעיה ב-GitHub [קישור לבעיה ב-GitHub]).
- "תבנה אפליקציה שתעשה [מטרה] עם ממשק משתמש שיאפשר למשתמש לעשות [משימה] ב[סביבה]."
- "Migrate library versions in this repository from [X] to [Y]." (העברת גרסאות של ספריות במאגר הזה מ-X ל-Y).
- "Optimize performance of this Go code so that it runs faster."
- "תשתמש ב-[name-of-API] כדי לפתח את התכונה הזו".
- "Implement an algorithm to do [x], [Y], and [Z]."