יצירת אסיסטנט בקידוד AI באמצעות סוכן קוד של Pipet

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

במדריך הזה נסביר איך להרחיב את Pipet Code Agent, כלי מבוסס-AI לעזרה בקוד שפותח על ידי צוות קשרי המפתחים של AI ב-Google. פרויקט הקוד הפתוח הזה הוא תוסף ל-Visual Studio Code (VS Code) שעוזר לטפל בכמה ממשימות התכנות החשובות אבל הן פחות כיפיות, כמו הוספת תגובות לקוד, איתור טעויות והצעות שיפורים. התוסף שולח בקשות לעזרה בתכנות ל-Gemini API, ומשלב את התשובות בחלון עריכת הקוד.

תוכלו לשנות את Pipet כדי לשפר את הפונקציות הקיימות, או ליצור פקודות חדשות לתמיכה טובה יותר בתהליך הפיתוח.

לקבלת סקירה כללית של הפרויקט ואיך להרחיב אותו, כולל תובנות של האנשים שיצרו אותו, קראו את המאמר AI Code Assistant – פיתוח באמצעות Google AI. אחרת, תוכלו להתחיל להרחיב את הפרויקט לפי ההוראות שבהמשך.

הגדרת הפרויקט

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

התקנת הדרישות המוקדמות

הפרויקט Pipet Code Agent פועל כהרחבה של Visual Studio Code, והוא משתמש ב-Node.js ובכלי npm כדי לנהל חבילות ולהפעיל את האפליקציה. הוראות ההתקנה הבאות מיועדות למכונה מארחת של Linux.

כדי להתקין את התוכנה הנדרשת:

  1. מתקינים את Visual Studio Code בפלטפורמה.
  2. מתקינים את node ואת npm לפי הוראות ההתקנה בהתאם לפלטפורמה שבה אתם משתמשים.

שכפול והגדרה של הפרויקט

מורידים את קוד הפרויקט ומשתמשים בפקודת ההתקנה npm כדי להוריד את יחסי התלות הנדרשים ולהגדיר את הפרויקט. כדי לאחזר את קוד המקור של הפרויקט, נדרשת תוכנה לבקרת מקור של git.

כדי להוריד ולהגדיר את קוד הפרויקט:

  1. משכפלים את מאגר ה-Git באמצעות הפקודה הבאה.
    git clone https://github.com/google/generative-ai-docs
    
  2. לחלופין, אפשר להגדיר את מאגר ה-Git המקומי כך שישתמש בשיטת תשלום דחופה, כדי שיהיו לכם רק את הקבצים של הפרויקט ב-Docs Agent.
    cd generative-ai-docs/
    git sparse-checkout init --cone
    git sparse-checkout set examples/gemini/node/pipet-code-agent/
    
  3. עוברים לספריית הבסיס של פרויקט ה-Pipe Code Agent.
    cd generative-ai-docs/examples/gemini/node/pipet-code-agent/
    
  4. מריצים את פקודת ההתקנה כדי להוריד את יחסי התלות ולהגדיר את הפרויקט:
    npm install
    

הגדרה ובדיקה של התוסף

עכשיו אמורה להיות אפשרות לבדוק את ההתקנה על ידי הרצת הסוכן Pipet Code כתוסף פיתוח ב-VS Code במכשיר. הבדיקה תפתח חלון נפרד למארח פיתוח תוספים של קוד VS שבו זמין התוסף החדש. בחלון החדש הזה מגדירים את מפתח ה-API שבו התוסף משתמש כדי לגשת ל-Google Gemini API.

סוכן Pipet Code פועל בחלון Extension Development Host (מארח פיתוח תוספים) איור 1. חלון פיתוח מארח של VS Code Extension עם הפקודות של תוסף Pipet.

כדי להגדיר ולבדוק את ההגדרות:

  1. מפעילים את אפליקציית VS Code.
  2. ב-VS Code, יוצרים חלון חדש על ידי בחירה באפשרות קובץ > חלון חדש.
  3. פותחים את הפרויקט של Pipet Code Agent על ידי בחירה באפשרות File > Open Folder ובוחרים בתיקייה pipet-code-agent/.
  4. פותחים את הקובץ pipet-code-agent/package.json.
  5. מפעילים את התוסף במצב ניפוי באגים על ידי בחירה באפשרות הפעלה > התחלת ניפוי באגים. השלב הזה פותח חלון נפרד למארח פיתוח תוספים של VS Code.
  6. כדי לפתוח את ההגדרות של VS Code, בוחרים באפשרות Code > Settings > Settings (קוד > הגדרות > הגדרות).
  7. מקבלים Google Gemini API Key מהאתר למפתחים של בינה מלאכותית גנרטיבית, ומעתיקים את מחרוזת המפתח.
  8. מגדירים את מפתח ה-API כהגדרת תצורה. בשדה הגדרות חיפוש מקלידים pipet, בוחרים בכרטיסייה משתמש ובהגדרה Google > Gemini: Api Key לוחצים על הקישור Edit in settings.json ומוסיפים את מפתח ה-Gemini API:
    "google.gemini.apiKey": "your-api-key-here"
    
  9. שומרים את השינויים בקובץ settings.json וסוגרים את כרטיסיות ההגדרות.

כדי לבדוק את הפקודות של התוספים:

  1. בחלון VS Code Extension Development Host, בוחרים קוד כלשהו בחלון העורך.
  2. כדי לפתוח את לוח הפקודות, לוחצים על View (תצוגה) > Command Palette (לוח פקודות).
  3. בלוח הפקודה, מקלידים Pipet ובוחרים אחת מהפקודות עם הקידומת הזו.

שינוי פקודה קיימת

הדרך הפשוטה ביותר לשנות את ההתנהגות והיכולות של התוסף, היא לשנות את הפקודות שסופקו ב-Pipe Code Agent. גם בפקודות התגובה וגם בפקודות הביקורת נעשה שימוש בכמה דוגמאות להנחיות, עם דוגמאות לקוד ותגובות לקוד הזה, וגם כמה הוראות כלליות למודל הגנרטיבי של AI. המידע הזה על ההקשר של הפרומפט מנחה את המודל הגנרטיבי של Gemini ליצור תשובה. תוכלו לשנות את אופן הפעולה של כל אחת מהפקודות הקיימות על ידי שינוי ההוראות של הפרומפט, הדוגמאות או שתיהן בפקודות של הביקורת או התגובה.

בקבוצת ההוראות הזו מוסבר איך לשנות את הפקודה review.ts על ידי שינוי טקסט ההצעה בפקודה.

כדי להתכונן לעריכת הפקודה review.ts:

  1. מפעילים את אפליקציית VS Code.
  2. ב-VS Code, יוצרים חלון חדש על ידי בחירה באפשרות קובץ > חלון חדש.
  3. פותחים את הפרויקט של Pipet Code Agent על ידי בחירה באפשרות File > Open Folder ובוחרים בתיקייה pipet-code-agent/.
  4. פתיחת הקובץ pipet-code-agent/src/review.ts.

כדי לשנות את ההתנהגות של הפקודה review.ts:

  1. בקובץ review.ts, משנים את ההתחלה של קבוע PROMPT להוראות שונות.
    const PROMPT = '
    Write review comments for following code, identifying bugs and ways to improve code quality. Examples of bugs are syntax errors or typos, out of memory errors, and boundary value errors. Examples of improving code quality are reducing complexity of code, eliminating duplicate code, and ensuring other developers
    are able to understand the code.
    ${CODE_LABEL}
    ...
  2. אפשר להוסיף בקובץ review.ts עוד דוגמה לרשימת הדוגמאות של הקוד ובדיקות הקוד.
    ...
    ${REVIEW_LABEL}
    There are duplicate lines of code in this control structure.
    ${CODE_LABEL}
    const fixed_value = 128;
    ${REVIEW_LABEL}
    Make sure constant names are in all capitals (FIXED_VALUE) for clarity.
    ';
  3. שומרים את השינויים בקובץ review.ts.

כדי לבדוק את הפקודה ששונתה:

  1. בחלון הפרויקט של התוסף VS Code Pipet, מפעילים מחדש את הכלי לניפוי באגים על ידי בחירה באפשרות Run > Startup Debugging.
  2. בחלון VS Code Extension Development Host, בוחרים קוד כלשהו בחלון העורך.
  3. כדי לפתוח את לוח הפקודות, לוחצים על View (תצוגה) > Command Palette (לוח פקודות).
  4. בחלונית הפקודה, מקלידים Pipet ובוחרים את הפקודה Pipet: Review the selected code (הקוד שנבחר).

יצירת פקודה חדשה

אפשר להרחיב את Pipet על ידי יצירת פקודות חדשות שמבצעות משימות חדשות לגמרי באמצעות Gemini API. כל קובץ פקודה (comment.ts ו-review.ts) הוא עצמאי ברובו, וכולל קוד לאיסוף טקסט מהעורך הפעיל, כתיבת הודעה, התחברות ל-Gemini API, שליחת הודעה וטיפול בתשובה.

סוכן קוד Pipet שבו מוצגת פונקציית הבחירה בשם איור 2. פקודת המלצה חדשה על שם פונקציה בחלון VS Code Extension Host (מארח).

בהוראות האלה מוסבר איך ליצור פקודה חדשה באמצעות הקוד של פקודה קיימת, comment.ts, כתבנית.

כדי ליצור פקודה שממליצה על שמות לפונקציות:

  1. יוצרים עותק של הקובץ pipet-code-agent/src/comment.ts בשם name.ts בספרייה src/.
  2. ב-VS Code, פותחים את הקובץ src/name.ts.
  3. כדי לשנות את ההוראות להצגת הנחיות בקובץ name.ts, עורכים את הערך PROMPT.
    // Provide instructions for the AI generative model
    const PROMPT = `Recommend a name for this function. Explain your
    reasoning in 3 sentences or less:`;
    
  4. שינוי השם של פונקציית הפקודה ואת הודעת המידע שלה.
    export async function generateName() {
      vscode.window.showInformationMessage('Generating function name...');
    
  5. מעדכנים את קוד הרכבת ההנחיות כך שיכלול רק את הערך PROMPT ואת הטקסט שנבחר בכלי העריכה.
      // Build the full prompt using the template.
      const fullPrompt = `${PROMPT}
    "
    ${selectedCode}
    "
    `;
  6. משנים את פלט התשובה כדי לתאר מה היא יוצרת.
        // update prefix to describe output
        let commentIntro = padding + commentPrefix + "Recommended name: (generated)\n";
        editBuilder.insert(selection.start, commentIntro);
        editBuilder.insert(selection.start, pyComment);
    
  7. שומרים את השינויים בקובץ review.ts.

שילוב הפקודה החדשה

אחרי שתשלימו את הקוד של הפקודה החדשה, תצטרכו לשלב אותו עם שאר התוסף. מעדכנים את הקבצים extension.ts ו-package.json כדי להפוך את הפקודה החדשה לחלק של התוסף, ולאפשר ל-VS Code להפעיל את הפקודה החדשה.

כדי לשלב את הפקודה name עם קוד התוסף:

  1. ב-VS Code, פותחים את הקובץ pipet-code-agent/src/extension.ts.
  2. הוסף את קובץ הקוד החדש לתוסף על ידי הוספה של הצהרת ייבוא חדשה.
    import { generateName } from './name';
    
  3. כדי לרשום את הפקודה החדשה, מוסיפים את הקוד הבא לפונקציה activate().
    export function activate(context: vscode.ExtensionContext) {
        ...
        vscode.commands.registerCommand('pipet-code-agent.nameFunction', generateName);
    }
  4. שומרים את השינויים בקובץ extension.ts.

כדי לשלב את הפקודה name בחבילת התוספים:

  1. ב-VS Code, פותחים את הקובץ pipet-code-agent/package.json.
  2. מוסיפים את הפקודה החדשה לקטע commands בקובץ החבילה.
      "contributes": {
        "commands": [
          ...
          {
            "command": "pipet-code-agent.nameFunction",
            "title": "Pipet: Name the selected function."
          }
        ],
    
  3. שומרים את השינויים בקובץ package.json.

בדיקת הפקודה החדשה

אחרי שתסיימו לתכנת את הפקודה ולשלב אותה עם התוסף, תוכלו לבדוק אותה. הפקודה החדשה זמינה רק בחלון Extension Development Host של VS Code, ולא בחלון VS Code שבו ערכתם את הקוד של התוסף.

כדי לבדוק את הפקודה ששונתה:

  1. בחלון הפרויקט של התוסף VS Code Pipet, מפעילים מחדש את הכלי לניפוי באגים על ידי בחירה באפשרות Run > Startup Debugging (הפעלה > הפעלה מחדש של ניפוי באגים), פעולה שמפעילה מחדש חלון נפרד של Extension Development Host.
  2. בחלון VS Code Extension Development Host, בוחרים קוד כלשהו בחלון העורך.
  3. כדי לפתוח את לוח הפקודות, לוחצים על View (תצוגה) > Command Palette (לוח פקודות).
  4. בחלונית הפקודה, מקלידים Pipet ובוחרים את הפקודה Pipet: Name the selected function.

מקורות מידע נוספים

מידע נוסף על הפרויקט של Pipet Code Agent זמין במאגר הקודים. אם אתם צריכים עזרה בבניית האפליקציה או אם אתם מחפשים שותפי עריכה למפתחים, תוכלו למצוא את השרת Google Developers Community Discord.

אפליקציות ייצור

אם אתם מתכננים לפרוס את הסוכן Docs עבור קהל גדול, שימו לב שהשימוש שלכם ב-Google Gemini API עשוי להיות כפוף להגבלת קצב של יצירת בקשות ולהגבלות שימוש נוספות. אם אתם שוקלים לפתח אפליקציה בסביבת ייצור באמצעות Gemini API, כמו Docs Agent, כדאי לבדוק את שירותי Google Cloud Vertex AI כדי לשפר את יכולת ההתאמה ואת האמינות של האפליקציה.