שימוש בצ'אט עם סוכן בתור מתכנת שותף

במאמר הזה מוסבר איך להגדיר את Gemini Code Assist במצב סוכן ולהשתמש בו כמתכנת שותף בסביבת פיתוח משולבת (IDE).

מצב סוכן זמין בסביבת הפיתוח המשולבת (IDE) של VS Code.

במצב סוכן, אפשר לבצע את הפעולות הבאות ועוד:

  • לשאול שאלות על הקוד.
  • אפשר להשתמש בהקשר ובכלים המובנים כדי לשפר את התוכן שנוצר.
  • הגדרת שרתי MCP כדי להרחיב את היכולות של הסוכן.
  • קבלת פתרונות למשימות מורכבות עם כמה שלבים.
  • ליצור קוד ממסמכי עיצוב, מבעיות ומTODOתגובות.
  • אתם יכולים לשלוט בהתנהגות של הסוכן על ידי הוספת הערות, עריכה ואישור של תוכניות ושימוש בכלים במהלך ההפעלה.

מגבלות

ההגבלות הבאות חלות כשמשתמשים במצב סוכן:

  • הסוכן לא יכול להתקשר אל הכלים של Gemini Code Assist. כדי להשתמש בכלים האלה, צריך לצאת ממצב סוכן.
  • הסוכן לא יכול להשתמש בהתאמה אישית של קוד. כדי להשתמש בהתאמה אישית של קוד, צריך לצאת ממצב סוכן.
  • אין תמיכה בפרויקטים עם כמה שורשי עץ במצב סוכן. אם משתמשים במצב סוכן בפרויקט עם כמה ספריות שורש, לסוכן יש גישה רק לספריית השורש הראשונה שהוא נתקל בה.
  • אין תמיכה ביומנים של Gemini ל-Google Cloud במצב סוכן.

לפני שמתחילים

  1. מגדירים את מהדורת Gemini Code Assist שרוצים להשתמש בה בסביבת הפיתוח המשולבת (IDE):
  2. מגדירים את ערוץ ההפצה של Gemini Code Assist לגרסת Insiders:
    1. פותחים את לוח הפקודות (‎Cmd + Shift + P) ואז בוחרים באפשרות Open User Settings JSON.
    2. מוסיפים את השורה הבאה ל-JSON של הגדרות המשתמש:
      "geminicodeassist.updateChannel": "Insiders",

שימוש במצב סוכן

במצב סוכן, אתם יכולים לבקש מ-Gemini להשלים משימות מורכבות ומטרות ברמה גבוהה.

כדי להפיק את המרב ממצב הסוכן, מומלץ לפעול לפי השיטות המומלצות לכתיבת הנחיות ולספק כמה שיותר פרטים.

כדי לעבור למצב נציג:

VS Code

  1. כדי לפתוח את הצ'אט של Gemini Code Assist, בסרגל הפעילות של סביבת הפיתוח המשולבת (IDE), לוחצים על spark Gemini Code Assist.
  2. לוחצים על המתג סוכן כדי להיכנס למצב סוכן. המתג מודגש כשעוברים למצב נציג, ואפור כשנמצאים בצ'אט רגיל.
  3. בצ'אט של Gemini Code Assist, מזינים את ההנחיה.

‫Gemini נותן לכם תשובה להנחיה או מבקש הרשאה להשתמש בכלי.

כדי לעצור את הסוכן, לוחצים על עצירה.

כדי להשתמש בצ'אט הרגיל של Gemini Code Assist, לוחצים על New chat (צ'אט חדש) כדי ליצור צ'אט חדש.

מצב הסוכן של Gemini Code Assist מבוסס על Gemini CLI.

IntelliJ

התכונה הזו לא נתמכת ב-Gemini Code Assist ל-IntelliJ או בסביבות פיתוח משולבות (IDE) אחרות של JetBrains.

הגדרת כלים למצב סוכן

כלים הם קטגוריה רחבה של שירותים שנציג יכול להשתמש בהם כדי להבין את ההקשר ולבצע פעולות בתשובה להנחיה. דוגמאות לכלים כאלה הם כלים מובנים כמו grep וקריאה או כתיבה של קבצים, שרתים מקומיים או מרוחקים של Model Context Protocol ‏ (MCP) והפונקציות הניתנות להפעלה שלהם, או הטמעות של שירותים בהתאמה אישית.

הגדרת שרתי MCP

כדי לקבוע אילו שרתים יהיו זמינים במצב סוכן, מוסיפים אותם ל-JSON של הגדרות Gemini בהתאם לתיעוד השרת.

VS Code

  1. מתקינים את כל יחסי התלות שנדרשים על ידי שרת ה-MCP.
  2. פותחים את קובץ ה-JSON של הגדרות Gemini שנמצא בתיקייה ~/.gemini/settings.json, כאשר ~ היא ספריית הבית.
  3. מוסיפים שרתי 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"]
            }
        }
    }
    

  4. פותחים את לוח הפקודות ובוחרים באפשרות Developer: Reload Window (מפתח: טעינה מחדש של החלון).

השרתים של MCP שהגדרתם זמינים לסוכן לשימוש במצב סוכן.

IntelliJ

התכונה הזו לא נתמכת ב-Gemini Code Assist ל-IntelliJ או בסביבות פיתוח משולבות (IDE) אחרות של JetBrains.

אימות שרת MCP

בשרתי MCP שנדרש בהם אימות, אפשר להוסיף אותם לקובץ ה-JSON של הגדרות Gemini.

בדוגמה הבאה מוסיפים אסימון גישה אישי ל-GitHub:

{
//other settings...

"github": {
  "command": "/Users/username/code/github-mcp-server/cmd/github-mcp-server/github-mcp-server",
  "args": ["stdio"],
  "env": {
    "GITHUB_PERSONAL_ACCESS_TOKEN": "ACCESS_TOKEN"
  }
},

// other settings...
}

כאשר ACCESS_TOKEN הוא טוקן הגישה של המשתמש.

יצירת קובץ הקשר

ההקשר מאפשר לסוכן ליצור תגובות טובות יותר להנחיה נתונה. ההקשר יכול להגיע מקבצים בסביבת הפיתוח המשולבת, מקבצים בתיקיות במערכת המקומית, מתשובות של כלי ומפרטי ההנחיה. מידע נוסף זמין במאמר הקשר של מצב הסוכן.

VS Code

  1. יוצרים קובץ בשם GEMINI.md במיקום שתואם להיקף שרוצים שההקשר יחול עליו. בטבלה הבאה מפורטים המיקומים של קובצי ההקשר להיקפים שונים:

    היקף מיקום
    כל הפרויקטים שלכם ~/.gemini/GEMINI.md
    פרויקט ספציפי ספריית העבודה או כל ספריית אב עד שורש הפרויקט (מזוהה על ידי תיקייה .git) או ספריית הבית.
    רכיב, מודול או חלק משני של פרויקט ספריות משנה של ספריית העבודה.

    מערכת הזיכרון של הסוכן נוצרת על ידי טעינת קובצי הקשר מכמה מיקומים. ההקשר מקבצים ספציפיים יותר, כמו קבצים של רכיבים או מודולים ספציפיים, מבטל או משלים את התוכן מקבצים של הקשר כללי יותר, כמו קובץ ההקשר הגלובלי ב-~/.gemini/GEMINI.md.

  2. כותבים את הכללים, את המידע על סגנון או את ההקשר שרוצים שהסוכן ישתמש בהם ב-Markdown ושומרים את הקובץ. מידע נוסף זמין במאמר על קובץ ההקשר לדוגמה ב-GitHub.

IntelliJ

התכונה הזו לא נתמכת ב-Gemini Code Assist ל-IntelliJ או בסביבות פיתוח משולבות (IDE) אחרות של JetBrains.

שימוש בפקודות

פקודות דרך שורת הפקודות / מאפשרות להריץ במהירות פקודות שדומות לפקודות בחלון מסוף.

אפשר להשתמש בפקודות הבאות של Gemini CLI במצב סוכן:

  • /tools: הצגת רשימה של כלים שזמינים בסשן שלכם במצב סוכן. פקודות המשנה כוללות את האפשרויות הבאות:
    • desc או descriptions: מוצגים תיאורים מפורטים של כל כלי.
    • nodesc או nodescriptions: התיאורים של הכלים מוסתרים ומוצגים רק השמות שלהם.
  • /memory: מנהל את ההקשר ההדרכתי של הסוכן שנטען מקבצים GEMINI.md. פקודות המשנה כוללות את האפשרויות הבאות:
    • show: הצגת התוכן המלא והמשורשר של הזיכרון הנוכחי שנטען מכל קובצי GEMINI.md הזמינים.
    • refresh: טעינה מחדש של הזיכרון מכל קובצי GEMINI.md במיקומים הזמינים. מידע על האופן שבו קובצי GEMINI.md תורמים לזיכרון ההיררכי של הסוכן זמין במסמכי התיעוד בנושא הגדרת Gemini CLI.
  • /mcp: מציג רשימה של שרתי Model Context Protocol ‏ (MCP) שהוגדרו, סטטוס החיבור שלהם, פרטי השרת והכלים הזמינים. פקודות המשנה כוללות:
    • desc או descriptions: מוצגים תיאורים מפורטים של שרתי MCP וכלים.
    • nodesc או nodescriptions: מסתיר את התיאורים של שרתי ה-MCP ומציג רק את השמות שלהם.
    • schema: הצגת סכימת ה-JSON המלאה של הפרמטרים שהוגדרו בשרת MCP.
  • /stats: הצגת נתונים סטטיסטיים מפורטים של סשן במצב סוכן ומשך הסשן.

מידע נוסף על הפקודות של Gemini CLI זמין במאמר הפקודות של Gemini CLI. חשוב לזכור שלא כל הפקודות של Gemini CLI זמינות במצב סוכן.

תמיד לאפשר פעולות של סוכנים

אתם יכולים לאשר באופן אוטומטי את כל הפעולות של הסוכן.

כדי לאפשר באופן אוטומטי את כל הפעולות של הסוכן:

  1. פותחים את קובץ ה-JSON של הגדרות המשתמש ב-VS Code:

    1. פותחים את לוח הפקודות (ctrl/command + Shift + P).
    2. בוחרים באפשרות העדפות: פתיחת הגדרות משתמש (JSON).
  2. מוסיפים את השורות הבאות לקובץ JSON של הגדרות המשתמש ב-VS Code:

    //other settings...
    
    "geminicodeassist.agentYoloMode": "true",
    //other settings...
    
  3. פותחים את לוח הפקודות ובוחרים באפשרות Developer: Reload Window (מפתח: טעינה מחדש של החלון).

מצב הסוכן משתמש במצב yolo, ולא יבקש אישור לפני ביצוע פעולות כששולחים לו הנחיה.

יצירת תוספים ל-Gemini CLI

אתם יכולים להשתמש בתוספים של Gemini CLI כדי להגדיר ולהרחיב את הפונקציונליות של מצב הסוכן ב-Gemini Code Assist.

הסוכן מחפש תוספים בשני מיקומים:

  • WORKSPACE/.gemini/extensions where WORKSPACE היא סביבת העבודה הנוכחית שלכם.
  • ~/.gemini/extensions, כאשר ~ הוא ספריית הבית שלכם.

הסוכן טוען את כל התוספים משני המיקומים, אבל אם יש תוסף עם אותו שם בשניהם, התוסף שבספריית סביבת העבודה יקבל עדיפות. כל תוסף הוא ספרייה שמכילה קובץ gemini-extension.json. הקובץ הזה מכיל את ההגדרות של התוסף.

מידע נוסף זמין במאמר תוספים ל-Gemini CLI.

הנחיות נוספות

אפשר לנסות את ההנחיות הבאות עם מידע משלכם:

  • ‫"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).
  • "תבצע אופטימיזציה של הביצועים של קוד Go הזה כדי שהוא יפעל מהר יותר".
  • "תשתמש ב-‎[name-of-API] כדי לפתח את התכונה הזו".
  • ‫"Implement an algorithm to do [x], [Y], and [Z]."

המאמרים הבאים