במאמר הזה מוסבר איך להגדיר את Gemini Code Assist במצב סוכן ולהשתמש בו כמתכנת שותף בסביבת פיתוח משולבת (IDE).
במצב Agent, אפשר לבצע את הפעולות הבאות ועוד:
- לשאול שאלות לגבי הקוד.
- אפשר להשתמש בהקשר ובכלים המובנים כדי לשפר את התוכן שנוצר.
- הגדרת שרתי MCP כדי להרחיב את היכולות של הסוכן.
- קבלת פתרונות למשימות מורכבות עם כמה שלבים.
- ליצור קוד ממסמכי עיצוב, מבעיות ומ
TODOתגובות. - אתם יכולים לשלוט בהתנהגות של הסוכן על ידי הוספת הערות לתוכניות, עריכה שלהן ואישור שלהן, וגם על ידי אישור השימוש בכלים במהלך ההרצה.
מגבלות
יכול להיות שחלק מהתכונות של הצ'אט הרגיל של Gemini Code Assist לא יהיו זמינות במצב סוכן, או שיפעלו בצורה שונה מהצורה שבה הן פועלות בצ'אט הרגיל.
הקראה אינה זמינה במצב Agent. במצב Agent, Gemini לא מצטט מקורות ואי אפשר להשבית הצעות לקוד שתואמות למקורות המצוטטים.
לפני שמתחילים
הפעלת Agent Mode
במצב Agent, אתם יכולים לבקש מ-Gemini להשלים משימות מורכבות ומטרות ברמה גבוהה.
כדי להפיק את המרב מ-Agent Mode, מומלץ לפעול לפי השיטות המומלצות לכתיבת הנחיות ולספק כמה שיותר פרטים.
כדי לעבור למצב Agent:
VS Code
- כדי לפתוח את הצ'אט של Gemini Code Assist, בסרגל הפעילות של סביבת הפיתוח המשולבת, לוחצים על spark Gemini Code Assist.
- לוחצים על המתג Agent כדי לעבור למצב Agent. המתג מודגש כשעוברים למצב Agent, ואפור כשנמצאים בצ'אט רגיל.
- בצ'אט של Gemini Code Assist, מזינים את ההנחיה.
Gemini נותן לכם תשובה להנחיה או מבקש הרשאה להשתמש בכלי.
כדי לעצור את הסוכן, לוחצים על עצירה.
כדי להשתמש בצ'אט הרגיל של Gemini Code Assist, לוחצים על New chat (צ'אט חדש) כדי ליצור צ'אט חדש.
IntelliJ
- בסרגל של חלון הכלי, לוחצים על spark Gemini. אם מוצגת בקשה להיכנס לחשבון, מזינים את פרטי הכניסה.
- בוחרים בכרטיסייה סוכן.
- מתארים את המשימה שרוצים שהסוכן יבצע.
במהלך השלבים לביצוע המשימה, תהיה לכם אפשרות לבדוק ולאשר את השינויים.
אופציונלי: כדי לאשר שינויים באופן אוטומטי, בוחרים באפשרות הגדרות אפשרויות של סוכן ומסמנים את התיבה לצד אישור אוטומטי של שינויים.
להקפיד על המקומות והזמנים שבהם מאשרים שינויים באופן אוטומטי.
הגדרת כלים למצב Agent
כלים הם קטגוריה רחבה של שירותים שנציג יכול להשתמש בהם כדי להבין את ההקשר ולבצע פעולות בתשובה להנחיה. דוגמאות לכלים כאלה הם כלים מובנים כמו grep וקריאה או כתיבה של קבצים, שרתים מקומיים או מרוחקים של Model Context Protocol (MCP) והפונקציות הניתנות להפעלה שלהם, או הטמעות של שירותים בהתאמה אישית.
שליטה בשימוש בכלי מובנה
במצב Agent יש גישה לכלים המובנים כמו חיפוש קבצים, קריאת קבצים, כתיבת קבצים, פקודות טרמינל ועוד.
VS Code
אתם יכולים להשתמש בהגדרות coreTools ו-excludeTools כדי לקבוע לאילו כלים תהיה ל-Gemini גישה במצב Agent.
coreTools- מאפשרת לציין רשימה של כלים שרוצים שהמודל יוכל להשתמש בהם. אפשר גם לציין הגבלות ספציפיות לפקודות עבור כלים שתומכים בכך. לדוגמה – הוספת השורה הבאה ל-JSON של הגדרות Gemini תאפשר רק את הפעלת הפקודה
ls -lשל Shell:"coreTools": ["ShellTool(ls -l)"]. excludeTools- מאפשרת לכם לציין רשימה של כלים שלא תרצו שהמודל יוכל להשתמש בהם. אפשר גם לציין הגבלות ספציפיות לפקודות עבור כלים שתומכים בכך. לדוגמה, הוספת הקוד הבא ל-JSON של הגדרות Gemini תחסום את השימוש בפקודה
rm -rf:"excludeTools": ["ShellTool(rm -rf)"].
כלי שמופיע גם בexcludeTools וגם בcoreTools מוחרג.
כדי להגדיר את הכלים המובנים שזמינים במצב Agent:
- פותחים את קובץ ה-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
בהוראות הבאות מוסבר איך להפוך שרתי MCP לזמינים לשימוש במצב Agent בסביבת הפיתוח המשולבת (IDE). אחרי שמעמידים לרשות Gemini Code Assist שרת MCP, הוא מחליט באופן אוטומטי מתי ואיך להשתמש בכלים של השרת שכלולים בשרת ה-MCP הזה.
VS Code
כדי להשתמש בשרתי MCP במצב Agent, צריך להוסיף את ההגדרה של כל שרת לקובץ ה-JSON של הגדרות Gemini, בהתאם לתיעוד של כל שרת.
- מתקינים את כל יחסי התלות שנדרשים על ידי שרתי ה-MCP שמוסיפים.
- פותחים את קובץ ה-JSON של הגדרות Gemini, שנמצא במיקום
~/.gemini/settings.json, כאשר~היא ספריית הבית. מגדירים כל שרת MCP מקומי או מרוחק בקובץ ה-JSON של הגדרות Gemini, בהתאם להוראות של כל שרת.
בקובץ התצורה הבא בפורמט JSON של הגדרות Gemini, מוגדרים שני שרתי Cloudflare MCP מרוחקים, שרת GitLab MCP מרוחק ושרת GitHub MCP מקומי לשימוש עם Gemini Code Assist ב-VS Code.
{ "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 (מפתח: טעינה מחדש של החלון).
הסוכן יכול להשתמש בשרתי ה-MCP שהגדרתם במצב Agent.
IntelliJ
כדי להפוך את שרתי ה-MCP לזמינים לשימוש במצב Agent, מוסיפים את ההגדרה של כל שרת בקובץ mcp.json וממקמים את קובץ ה-mcp.json בספריית ההגדרות של סביבת פיתוח משולבת.
- מתקינים את כל יחסי התלות שנדרשים על ידי שרתי ה-MCP שמוסיפים.
- יוצרים קובץ בשם
mcp.jsonבתיקיית ההגדרות של סביבת הפיתוח המשולבת. מגדירים כל שרת MCP מקומי או מרוחק בקובץ
mcp.json, בהתאם להוראות של כל שרת.בדוגמה הבאה של קובץ
mcp.json, מוגדרים שני שרתי MCP מרוחקים של Cloudflare, שרת MCP מרוחק של GitLab ושרת MCP מקומי של GitHub לשימוש ב-Gemini Code Assist ב-IntelliJ.{ "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 שהגדרתם במצב Agent.
אימות שרת MCP
חלק משרתי ה-MCP דורשים אימות. פועלים לפי התיעוד של השרת כדי ליצור את אסימוני המשתמש הנדרשים, ואז מציינים אותם בצורה המתאימה. בדרך כלל, מציינים אסימוני אימות לשרתים מקומיים באמצעות משתנה הסביבה המתאים לשרת, ומציינים אסימוני אימות לשרתים מרוחקים באמצעות כותרת HTTP Authorization.
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ברמה הבסיסית (root) של הפרויקט.כותבים את הכללים, את המידע על מדריך הסגנון או את ההקשר שרוצים שהסוכן ישתמש בהם ב-Markdown ושומרים את הקובץ.
הסוכן כולל את המידע בקובץ ההקשר יחד עם ההנחיות שאתם שולחים לו. אפשר גם להוסיף הקשר על ידי הוספה ידנית של קובץ באמצעות התחביר @FILENAME, כאשר FILENAME הוא שם הקובץ עם המידע ההקשרי שרוצים לכלול.
שימוש בפקודות
פקודות דרך שורת הפקודות / מאפשרות להריץ במהירות פקודות שדומות לפקודות בחלון מסוף.
VS Code
אפשר להשתמש בפקודות ה-Gemini CLI המובנות הבאות במצב Agent:
-
/tools: הצגת רשימה של הכלים שזמינים בסשן שלכם במצב Agent. -
/mcp: מציג רשימה של שרתי Model Context Protocol (MCP) שהוגדרו, סטטוס החיבור שלהם, פרטי השרת והכלים הזמינים.
-
/deploy: פריסת אפליקציית אינטרנט ב-Cloud Run. הפקודה המותאמת אישית הזו מבוססת על Gemini CLI ומשתמשת בשרת Model Context Protocol (MCP) של Cloud Run כדי ליצור את האפליקציה, להכניס אותה לקונטיינר, להעלות אותה, להגדיר אותה ולהחזיר כתובת URL ציבורית בשבילה. כדי להשתמש בפקודה הזו, צריך להפעיל את Cloud Run בפרויקט Google Cloudולהתקין את השרת של Cloud Run MCP כתוסף של Gemini.
מידע נוסף על הפקודות ב-Gemini CLI זמין במאמרים הפקודות ב-Gemini CLI ופקודות בהתאמה אישית ב-Gemini. חשוב לזכור שלא כל הפקודות של Gemini CLI זמינות במצב Agent.
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 (מפתח: טעינה מחדש של החלון).
מצב Agent משתמש במצב yolo, ולא יבקש אישור לפני ביצוע פעולות כששולחים לו הנחיה. כשמשתמשים בסביבת עבודה מוגבלת, הסוכן יציג הנחיה לפני ביצוע פעולות, ללא קשר להגדרה הזו.
IntelliJ
כדי לאשר שינויים באופן אוטומטי, בכרטיסייה של סוכן Gemini Chat, בוחרים באפשרות הגדרות אפשרויות הסוכן ואז מסמנים את התיבה לצד אישור אוטומטי של שינויים.
במצב Agent, כל הבקשות מאושרות באופן אוטומטי, ולא נדרשת הרשאה לפני ביצוע פעולות כששולחים לו הנחיה.
הנחיות נוספות
אפשר לנסות את ההנחיות הבאות עם המידע שלכם:
- "What does this repository do? תסביר לי את הארכיטקטורה".
- "What does this [class/function] do?" (מה עושה [class/function] הזה?)
- "Add a feature to this codebase - "[link-or-path-to-codebase]"."
- "תבצע רפקטורינג לפונקציות [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]."
אופציונלי: שימוש במפתח API
Gemini Code Assist כולל מכסות יומיות שונות לתכונות מבוססות-סוכן, בהתאם לרמה שלכם.אם הגעתם למכסה היומית שלכם לשימוש במצב הסוכן של Gemini Code Assist, תוכלו להמשיך להשתמש בשירות על ידי הזנת מפתח API. אפשר להשתמש במפתח Gemini API או במפתח Vertex AI API.
כדי להוסיף את מפתח ה-API:
עוברים להגדרות של סביבת הפיתוח המשולבת.
פותחים את הקובץ
settings.json.מוסיפים את השורה הבאה, ומחליפים את
YOUR_KEYבמפתח ה-API שלכם:"geminicodeassist.geminiApiKey": "YOUR_KEY"
המאמרים הבאים
- כדאי לקרוא את הסקירה הכללית על Gemini Code Assist.
- דוגמאות לשרתי MCP
- שרתי MCP נוספים ב-GitHub
- שליחת משוב מ-IDE