יצירת סוכן נסיעות פשוט באמצעות ADK ו-Gemini CLI

1. מבוא

9344c1d1a9f221b7.png

תאריך העדכון האחרון: 22 ביוני 2026

יצירת סוכן נסיעות פשוט באמצעות ADK

ברוכים הבאים לסדנת ADK Python(*)‎, שכוללת את כל מה שצריך בזכות Gemini CLI.

ה-Codelab הזה מחולק לשני 🏅 שלבים:

  1. מסלול למידה נפוץ ופשוט: הגדרה + סיפוק מיידי.
  2. מסלול מותאם אישית שבו בוחרים קווסט לפתרון בעזרת Gemini CLI

החלק השני הופך את ה-Codelab הזה למושלם להאקאתון (ופרסים לפתרונות הכי יצירתיים!)

שלב 1: הסוכן הראשון שלכם עם ADK ו-Gemini CLI

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

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

אבן דרך 2: הרחבת הסוכן

אחרי זה, אנחנו נותנים לכם 12 אפשרויות (ברמות קושי שונות) להרחיב את האפליקציה לפי הטעם שלכם. כך תוכלו לבחון היבטים שונים (ממשק משתמש, פעולות, אינטראקציות מורכבות עם נציגים וכו').

מה תפתחו

ב-Codelab הזה תיצרו אפליקציה של סוכן נסיעות באמצעות ADK ו-Gemini CLI. האפליקציה:

  • מתחברים לממשקי ה-API של Airbnb דרך Airbnb MCP.
  • חיפוש מידע עדכני באינטרנט (מזג אוויר, תאריכים וכו')
  • להפעיל כלים בהתאמה אישית.
  • יוצרים תמונות של הדירות או החדרים באמצעות Nano Banana.

‫Gemini CLI ידריך אתכם בכל השלבים: כתיבת קוד ובדיקה שלו, ומציאת המסמכים העדכניים ביותר בעותק מקומי של מאגר ה-ADK (ב-Python או בשפה המועדפת עליכם).

מה תלמדו

  • איך יוצרים אפליקציה באמצעות ADK
  • איך משתמשים ב-Gemini CLI כדי לתכנת אפליקציות על סמך מסמכים מקומיים
  • איך ליצור אינטראקציה עם שרת MCP כדי להתחבר למקורות נתונים חיצוניים בזמן אמת, למשל:

מה תצטרכו

  • מחשב שמאפשר להתקין חבילות (למשל npm install ..)
  • יכולת תכנות בסיסית ב-Python,‏ TypeScript,‏ Go או Java.
  • מומלץ מאוד להשתמש בסביבת פיתוח משולבת (IDE) כלשהי (Antigravity, ‏vscode, ‏IntelliJ, ‏vim).

למה כדאי להשתמש ב-ADK וב-Gemini CLI?

יכול להיות שחלק מכם תוהים: למה צריך להשתמש ב-ADK (ערכת SDK ליצירת סוכנים) בשילוב עם כלי מקומי לכתיבת קוד מבוסס-סוכנים (כמו Gemini CLI)? הסיבה לכך היא ששני הכלים האלה חזקים מאוד, אבל האינטראקציה ביניהם לא פשוטה. הרבה אנשים ניסו לעבוד עם שניהם יחד ונכשלו (בעיקר בגלל בעיות של "לולאה בתוך לולאה"). ב-Codelab הזה ננסה לשתף כמה טיפים שיעזרו לכם לשלב בין שתי השפות.

2. הגדרת החשבון

בוחרים אחת מהאפשרויות הבאות: הגדרת סביבה בקצב אישי אם רוצים להריץ את ה-Codelab הזה במחשב שלכם, או הפעלת Cloud Shell אם רוצים להריץ את ה-Codelab הזה כולו בענן.

הגדרת סביבה בקצב אישי

  1. נכנסים למסוף Google Cloud ויוצרים פרויקט חדש או משתמשים בפרויקט קיים. אם עדיין אין לכם חשבון Gmail או Google Workspace, אתם צריכים ליצור חשבון.

295004821bab6a87.png37d264871000675d.png96d86d3d5655cdbe.png

  • שם הפרויקט הוא השם שמוצג למשתתפים בפרויקט. זוהי מחרוזת תווים שלא משמשת את Google APIs. תמיד אפשר לעדכן אותו.
  • מזהה הפרויקט הוא ייחודי לכל הפרויקטים ב-Google Cloud, ואי אפשר לשנות אותו אחרי שהוא הוגדר. מסוף Cloud יוצר באופן אוטומטי מחרוזת ייחודית. בדרך כלל לא משנה מה היא. ברוב ה-Codelabs, תצטרכו להפנות למזהה הפרויקט (בדרך כלל מזוהה בתור PROJECT_ID). אם אתם לא אוהבים את המזהה שנוצר, אתם יכולים ליצור מזהה אקראי אחר. אתם יכולים גם לנסות להזין שם משלכם ולבדוק אם הוא זמין. אי אפשר לשנות אותו אחרי השלב הזה, והוא נשאר לאורך כל הפרויקט.
  • לידיעתכם, יש ערך שלישי, מספר פרויקט, שמשמש בחלק מממשקי ה-API. מידע נוסף על שלושת הערכים האלה זמין במסמכי התיעוד.
  1. בשלב הבא, צריך להפעיל את החיוב במסוף Cloud כדי להשתמש במשאבים או בממשקי ה-API של Cloud. העלות של הפעלת ה-Codelab הזה תהיה נמוכה מאוד, אם בכלל. כדי להשבית את המשאבים ולהימנע מחיובים נוספים, אתם יכולים למחוק את המשאבים שיצרתם או למחוק את הפרויקט. משתמשים חדשים ב-Google Cloud זכאים לתקופת ניסיון בחינם בשווי 300$‎.

הפעלת Cloud Shell

אפשר להפעיל את Google Cloud מרחוק מהמחשב הנייד, אבל ב-Codelab הזה תשתמשו ב-Google Cloud Shell, סביבה של שורת פקודה שפועלת ב-Cloud.

במסוף Google Cloud, לוחצים על הסמל של Cloud Shell בסרגל הכלים שבפינה הימנית העליונה:

הפעלת Cloud Shell

ההקצאה והחיבור לסביבה אמורים להימשך רק כמה רגעים. בסיום התהליך, אמור להופיע משהו כזה:

צילום מסך של מסוף Google Cloud Shell שמראה שהסביבה מחוברת

המכונה הווירטואלית הזו נטענת עם כל הכלים למפתחים שתצטרכו. יש בה ספריית בית בנפח מתמיד של 5GB והיא פועלת ב-Google Cloud, מה שמשפר מאוד את ביצועי הרשת והאימות. את כל העבודה ב-Codelab הזה אפשר לבצע בדפדפן. לא צריך להתקין שום דבר.

3. דרישות מוקדמות (התקנה)

כדי לבצע את המדריך הזה, צריך להתקין את:

1. ‫Python ו-uv

‫python ו-uv (כלי לניהול חבילות של Python). ההרשאה הזו נדרשת ל-ADK. מוודאים ש-uv מותקן:

$ curl -LsSf https://astral.sh/uv/install.sh | sh

למה uv? אתם יכולים להשתמש בכל מנהל Python שאתם מעדיפים, אבל השימוש ב-uv יבטיח שהגדרת ה-ENV/PATH ל-Python תהיה זהה בשבילכם ובשביל Gemini CLI, כך שחוויית המעטפת שלכם תהיה זהה ברובה לזו של Gemini CLI. לדוגמה, אם אתם משתמשים ב-virtualenv, Gemini CLI יצטרך לבצע פעולות כמו "source .env/venv/bin/activate && my-original-command" כדי לחקות את הסביבה שלכם.

2. ‫Gemini CLI

הוראות ההתקנה של Gemini CLI מופיעות כאן: https://github.com/google-gemini/gemini-cli.

# Note: This requires having npm or npx installed.
npm install -g @google/gemini-cli
  1. ב-Mac, אפשר להשתמש ב-brew לפי המסמכים הרשמיים.
  2. ב-Windows, אפשר להשתמש ב-chocolatey או פשוט להוריד את קובץ ההפעלה מ-https://nodejs.org/en/download

בשלב 4 (בהמשך), תצטרכו גם להתקין את npx. גם npm וגם npx אמורים להיות חלק טבעי מ-Gemini CLI. אם לא, אתם יכולים לבקש עזרה מ-Gemini CLI.

efade99623113f1.png

אימות

אתם צריכים פרויקט ב-Google Cloud עם Vertex AI מופעל, או מפתח Google AI Studio API.

אפשרות א' (מומלצת לסדנה): ייצוא של מפתח ה-API:

export GOOGLE_API_KEY="your-api-key"

אפשרות ב' (Vertex AI): אימות באמצעות gcloud:

export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_ID"
export GOOGLE_CLOUD_LOCATION="YOUR_PROJECT_LOCATION"
export GOOGLE_GENAI_USE_VERTEXAI=true
gcloud auth application-default login

הגדרת סביבת העבודה

אתם הולכים ליצור פתרון משלכם ב-mysolution/, אז בואו ניצור את התיקייה ואת שני הקבצים שאנחנו צריכים.

זה הזמן לפתוח את ה-IDE (כמו Visual Studio Code,‏ IntelliJ,‏ RubyMine וכו') ולפתוח את התיקייה.

# 1. Find an empty directory, and download this repo.
git clone https://github.com/palladius/adk-gemini-cli-workshop
cd adk-gemini-cli-workshop/

# 2. Create your solution empty skeleton
mkdir -p mysolution/
touch mysolution/__init__.py mysolution/agent.py

# 3. This installs ADK and MCP via `uv` by reading pyproject.toml
uv init
uv sync

# 4. Call Gemini CLI
gemini  # This runs Gemini CLI under the adk-gemini-cli-workshop/ folder.
# Login with your GMail account.

לא חובה להפעיל את uv sync, אבל אם הפעולה נכשלת, סימן שצריך לתקן את ההתקנה של Python או של uv. הפעולה הזו אמורה להתקין את adk וסקריפטים שימושיים אחרים בתיקייה ./.venv/bin/.

כדי לבדוק את ההגדרה, אפשר פשוט להריץ את make test-step1 ולוודא שלא מקבלים 403 PERMISSION DENIED.

פתרונות זמינים

הקוד כולו נמצא בתיקייה 📂 steps/. אתם יכולים להעתיק את הקוד משם.

ב-Codelab הזה לא תלמדו איך לכתוב קוד ADK טוב, אלא איך להגדיר את הסביבה שלכם כדי שקוד טוב ייכתב באופן אוטומטי לפי ההנחיות שלכם.

  1. התקנת התוכנה
  2. הגדרה או הפעלה, וגם
  3. נכנסים ללולאת משוב חיובית

זה מה שאנחנו באמת רוצים שתלמדו כאן. אפשר גם לבדוק את כולם בו-זמנית באמצעות $ make web-4steps.

4. שלב 1: נציג בסיסי

abfef47ab2ff0c98.png

נתחיל ביצירת סוכן בסיסי שיכול לנהל שיחה.

עורכים את הקובץ שנקרא mysolution/__init__.py ומוסיפים את התוכן הבא:

from .agent import root_agent

זה הכול! כך ה-ADK יודע איפה הקוד נמצא: ב-agent.py.

עורכים את הקובץ שנקרא mysolution/agent.py ומוסיפים את התוכן הבא:

from google.adk.agents import Agent

root_agent = Agent(
    name="travel_basic",
    model="gemini-2.5-flash",
    instruction="You are a helpful travel assistant." +
    "You can help with general travel advice based on your knowledge.",
)

בדיקת הנציג

זה נכון לגבי כל השלבים. ערכת ADK מאפשרת לכם לבדוק את הנציג בשתי דרכים: CLI ואינטרנט.

  • CLI מתאים לבדיקות מהירות ואוטומטיות
  • באתר הכי קל לראות מה קורה, להשתמש במיקרופון (!) ולפתור בעיות.

טיפ: למטרת התרגיל הזה, כדי לבצע כל פעולה (חוץ מבדיקת יחידה), השתמשו באינטרנט. זה ממש מדהים! השתמשו ב-CLI רק לבדיקות אוטומטיות.

הנחיה טובה שבודקת כמו שצריך את שלבים 1-2-3-4 יכולה להיות (הנחיית "נייר לקמוס" חכמה):

היי, אני רוצה להזמין חדר במלון בפריז למחר בערב, לאדם אחד, ללילה אחד, במרכז העיר פריז. רצוי קרוב לתחנת הרכבת גאר דה ליון. תקציב: פחות מ-200 אירו ללילה.

  1. תגיד לי מה התאריך בפורמט YYYYMMDD ואיזה יום בשבוע יהיה מחר.
  2. אילו מלונות מופיעים למחר (לפחות 3)? אני רוצה לראות: > מחיר, כתובת, דירוג כלשהו (בפורמט XX/YY, למשל "4.7/5" – מ-Google בתי מלון, מ-Booking או מ-Airbnb), מספר הביקורות. הצג אותם בפורמט של טבלה. באופן אידיאלי, שם המלון צריך להיות מקושר לכתובת URL כלשהי של המלון (אין צורך להוסיף עמודת כתובת URL). מוודאים שהקישור תקין (הוא פועל והדף מפנה למידע על המלון).

זו הנחיה חכמה כי היא בודקת את הזמן ואת המלונות, והיא תיכשל באופן שונה בשלבים 1, 2 ו-3, ותצליח באופן מלא רק בשלב 4. כמובן שאפשר להשתמש בכל הנחיה שרוצים.

מריצים את הפקודה מ-bash‏ (CLI):

# 1. If ADK was installed:
adk run mysolution/
# ... but if you get: -bash: adk: command not found"
# 2. Call ADK cli script through UV to avoid python install nightmares.
uv run adk run mysolution/

נסו להשתמש בהנחיה לדוגמה שלמעלה.

סביר להניח שהוא לא יצליח לדעת תאריכים ספציפיים. אנחנו צריכים ללמד אותו לזהות את התאריך.

באתר, אתם יכולים:

  1. ‫uv run adk web . : הפעולה הזו מריצה את כל הסוכנים בתיקייה הזו. אתם רוצים להפנות אותו לתיקיית המשנה "mysolution/‎"
  2. לוחצים על mysolution/ בפינה השמאלית העליונה (ראו את התמונה בצד).
  3. שואלים את השאלה בטקסט או באמצעות המיקרופון, משהו בסגנון של "הנחיית הלקמוס".

ממשק המשתמש של ADK באינטרנט עם התוצאה של סוכן הנסיעות

שימו לב שצריך להפעיל את adk web מהתיקייה העליונה, בהתאם לגרסת ה-CLI.

רובוט צהוב – תוצאה של שלב 1 עם הצעות לתאריכים ולמלונות

הנה פתרון אפשרי, עם הזיה חלקית של תאריך. שימו לב ש-3 מתוך 5 הקישורים להזמנה פועלים. לא רע.

5. שלב 2: מוסיפים את הכלי ()now

עורך Cloud Shell שבו מוצגת ההטמעה של הכלי ()now ב-agent.py

מוסיפים את הפונקציה הזו ל-agent.py ממש לפני ההגדרה של root_agent:

from datetime import datetime

def now() -> dict:
    """Returns the current date and time."""
    my_datetime = ... # Ask Gemini CLI to help you!
    return {
        "status": "success",
        "current_time": my_datetime
    }

מעדכנים את הגדרת הסוכן כך שתכלול את הכלי:

  # file XXX.py

  root_agent = Agent(
        name="..",
        model="..",
        instruction="..",
        tools=[now] # <== This is the only line you want to add.
    )

מפעילים אותו שוב ושואלים את אותה שאלה. עכשיו הוא אמור לדעת את התאריך (טוב) ולהיות מעורפל לגבי המלונות (רע).

אפשר גם לבדוק את זה עם משהו כזה:

# Let's pretend we're in Milan. This should call the tool
# and respond correctly (possibly with some TZ math issues)
echo "What time is it in Milan?" | uv run adk run mysolution/

6. שלב 3: בוא נחליף הילוך: google_search

‫google_search. זה מאפשר לסוכן שלנו לגשת למידע מהאינטרנט בזמן אמת.

3cd72c019b8b225f.png

המשימה שלכם היא לשנות את הנציג משלב 2. במקום להשתמש בכלי now, תייבאו את הכלי google_search מספריית ADK ותשתמשו בו.

# Full Code: `steps/step03_search/agent.py`
# Remember to REMOVE the now() tool here. See above why.
from google.adk.agents import Agent
from google.adk.tools import google_search

root_agent = Agent(
    name="travel_agent",
    model="gemini-2.5-flash",
    tools=[google_search],
    instruction="""You are a travel agent.
Your job is to help the user plan a trip.
You have access to a search engine.
If you don't know the answer, you can use the search engine.
When you are done, reply with "DONE".""",
)

איך מפעילים

כמו בשלב 1.

למומחים בלבד. כדי לבצע שילוב מתקדם יותר (שימוש ב-google_search וב-now ביחד), צריך לבדוק את הקוד ב-steps/step03b_search_and_tool/agent.py ולהריץ אותו באמצעות make run-step3b. זה אופציונלי לחלוטין.

7. שלב 4: כלי מתוחכם יותר – MCP

הלוגו של ADK

אחרי שראינו גם כלים מותאמים אישית וגם כלים מובנים, נעבור למשהו חזק יותר: דפוס Model-as-a-Tool באמצעות Model Context Protocol (MCP).

כדי שהשלב הזה יתמקד ביכולות החזקות של MCP, נחליף שוב את הכלי הקודם (google_search). נציג מחדש את הכלי הפשוט now שיפעל לצד הכלי airbnb_mcp. ככה הסוכן יכול להשתמש בכמה כלים תואמים (במקרה הזה, FunctionTool ו-MCPToolset) כדי לבצע משימות מורכבות.

# Full Code: steps/step04_mcp/agent.py
# ... Imports as before
from google.adk.tools.mcp_tool.mcp_toolset import MCPToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StdioConnectionParams
from mcp import StdioServerParameters

def now() -> dict:
    # ... as before

# Configure the Airbnb MCP Toolset
airbnb_mcp = MCPToolset(
    connection_params=StdioConnectionParams(
        server_params=StdioServerParameters(
            command='npx',
            args=["-y", "@openbnb/mcp-server-airbnb", "--ignore-robots-txt"],
        ),
    )
)

root_agent = Agent(
    name="travel_mcp",
    model="gemini-2.5-flash",
    instruction="You are a helpful travel assistant. You can find accommodation using Airbnb, and have access to the current time.",
    tools=[now, airbnb_mcp],
)

איך מפעילים

כדי לבצע את השלב הזה, צריך להתקין את npx במערכת. שאר השלבים זהים לאלה שלמעלה.

אזהרות/שגיאות

  1. אם מופיעה שגיאת הגבלה של robots.txt, אפשר לתקן את ה-MCP באמצעות הוראה להתעלם מקובץ robots.txt. מידע נוסף זמין במסמכים: https://github.com/openbnb-org/mcp-server-airbnb
  2. אם מופיעה שגיאת timeout (5 שניות זה מעט מדי זמן בשביל Airbnb כדי לקבל תשובות), צריך לעיין במסמכי התיעוד של ADK כדי להבין איך להגדיל את זמן הקצוב לתפוגה, למשל ל-30 שניות. או… להשתמש ב-Gemini CLI כדי לעשות את זה. שימו לב שב-3 בדצמבר 2025, Cloud Shell החזיר שגיאת זמן קצוב לתפוגה. תיקנתי את השגיאה ועדיין קיבלתי שגיאות, עד שאילצתי אותו לחזור לגרסה הקודמת: args=["-y", "@openbnb/mcp-server-airbnb@0.1.2", "--ignore-robots-txt"].

8. 🏅 אבן דרך 1 הושלמה!

thought 🏅 כל הכבוד! 🏅 עכשיו אתם מומחים ב-ADK! סיימתם את החלק הראשון של הסדנה ובניתם ובדקתם בהצלחה סוכני AI עם כלים מותאמים אישית, כלים מובנים וכלים מתקדמים של MCP. עכשיו אתם מוכנים ליצור סוכנים מדהימים משלכם באמצעות הערכה לפיתוח סוכנים (ADK) של Google.

עכשיו יש לכם סוכן נסיעות פעיל שיודע מה השעה ויכול לחפש באינטרנט. השמיים הם הגבול!

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

9. ‫🏅 ציון דרך 2: תכנות בשיטת Vibe coding באמצעות ADK דרך Gemini CLI

עכשיו אנחנו מגיעים לחלק המעניין של הסדנה.

  1. חשוב לוודא שgit commitת את הקוד במקום בטוח. אתם יכולים לפצל את הקוד המקורי או ליצור ענף: אל דאגה, Gemini CLI יכול לעזור לכם בזה.
  2. מוצאים 💡 רעיון ליישום. אתם יכולים לבדוק את הרעיונות שבהמשך, למצוא רעיון בעצמכם או לבקש מ-Gemini לעיין במסמכים ב-rag/‎ ולהציע כמה רעיונות חכמים.
  3. פועלים לפי הדרישות המוקדמות כדי לוודא ש-Gemini יכול לקרוא מסמכי ADK, וזהו!

💡 רעיונות

  1. 🟢 [קל] אתם דוברי שפות רבות? רוצה לתת go, java או TypeScript? קל מאוד לשכתב את הקוד הקיים. רק חשוב להוריד את ה-ADK המתאים ולבקש מ-Gemini CLI לבצע את התרגום.
  2. 🟢 [קל] מוסיפים אמוג'י או מציינים פורמט פלט שרוצים (למשל, טבלה עם אמוג'י של מלון, אחריו מחיר, ואחריו אמוג'י של 1-5 כוכבים על סמך 🌕🌕🌕🌗🌑 כדי לעשות גם חצאים!).
  3. ‫🟢 [קל] משנים את ההנחיה כדי ללמד את המודל מה אתם מחפשים או מה אתם לא רוצים (ידידותי לחיות מחמד, לא בקומת קרקע, שקט, קרוב לתחבורה ציבורית וכו') ובודקים את התוצאות. אפשר להוסיף דירוג אישי כמו "דירוג של YOUR_NAME מ-1 עד 10" על סמך האמור למעלה, ולמיין לפי הדירוג הזה.
  4. 🟢 [easy] Any Operator in the room? thought פורסים ב-Cloud Run. או ל-Vertex AI Agent Engine. ידעת שאפשר לשלב את הסוכן הזה ולהפעיל אותו ישירות מ-Gemini Enterprise החדש?
  5. ‫🟢 [קל] שילוב של adk run עם 🍌 NanoBanana MCP. נדרש מפתח Gemini API. כאן אפשר ליצור תמונות אבל לא להציג אותן. בהמשך מופיעה גרסה קשה יותר.
  6. ‫🟡 [בינוני] יוצרים סוכן משנה שמבצע את HotelSearch ויוצרים BudgetAgent או LocationAgent שיכולים לחזור על הפעולה ולעבור על מלונות בהתאם לצרכים שלכם מבחינת המיקום, למשל "לא יותר מ-X ק"מ מ-LOCATION". אם ה-API לא מאפשר את זה, יכול להיות שיהיה צורך בכמה ניסיונות בעזרת חיפוש Google. הערה: אתם יכולים להיעזר ב-Gemini CLI.
  7. ‫🟡 [בינוני] הטמעת AirbnbReviewAgent שבודק את הביקורות ומסכם את הנקודות החיוביות והשליליות בכמה נקודות מקודדות בצבע, למלון אחד או יותר שמופיעים בתוצאות החיפוש. כבר יש לכם 2 רכיבים (חיפוש Google ו-MCP Airbnb), ועכשיו אתם צריכים לחבר אותם לסוכן הראשי ואולי להמציא פרוטוקול כלשהו כדי שהם יוכלו לתקשר.
  8. ‫🟡 [בינוני] שילוב עם A2A. הגדירו אותו כסוכן A2A! גם כאן, אתם יכולים לבקש עזרה מ-Gemini CLI.
  9. 🔴 [מורכב] אתם יכולים לשלב את "טיסות" או פונקציונליות אחרת של MCP כדי ליצור סוכן נסיעות רב-תכליתי ורב-ממדי.
  10. 🔴 [מורכב] שילוב של ADK Web עם NanoBanana MCP 🍌. המשימה הזו קשה יותר מהמשימה הקודמת, ואפשר למצוא כמה טיפים בכתובת https://github.com/palladius/ai-friendly-agents/issues/11 . ‫המחבר השקיע 3 שעות של עבודה עם Gemini CLI ו-Gemini3, ושנינו קראנו מסמכים וקוד מ-rag/.

רוצים לקבל עוד השראה?

  1. במדריך הרשמי של ADK יש כמה רעיונות.
  2. Ask Gemini CLI למצוא רעיונות על ידי עיון במסמכי התיעוד ב-rag/: הנחיה אפשרית יכולה להיות: Is there a feature in here which seems very succulent to you? Give me 3 proposals and let's implement together the one I choose.

דרישות מוקדמות ל-RAG ב-ADK

כדי לתכנת פונקציונליות בשיטת Vibe coding, מומלץ להוריד את כל ה-ADK python ADK (הערה: אפשר להתאים את זה בקלות רבה לשפה המועדפת עליכם, כמו Java או Go!)

הקוד נמצא ב-./rag ואפשר להוריד אותו באמצעות ./download-adk.sh.

התיקייה rag מופיעה בקובץ .gitignore, לכן צריך לוודא שהקובץ .gemini/settings.json מכיל את הפרטים הבאים:

{
 "context": {
   "includeDirectories": ["rag"]
 }
}

למה? אנחנו רוצים ש-Gemini יוכל לקרוא את הקבצים האלה, בזמן שהם מוגדרים בבטחה ב-git-ignored. מבחינה טכנית, אפשר גם לבטל את ההסתרה של כל קובצי ‎ .gitignore על ידי הגדרת context.fileFiltering.respectGitIgnore ל-false, אבל זה פותח הרבה של node_modules/ ו-__pycache__/, ולכן האפשרות המועדפת היא הכללת תיקיות מפורשת.

10. השלבים הבאים

סקרנות: הסדנה הזו נבנתה בעזרת Gemini CLI. אם אתם סקרנים, אתם יכולים לראות איך עשיתי את זה ב-GEMINI.md וב-WORKSHOP_PLAN.md בתיקייה הזו.

מה למדנו

למדנו איך להתאים בין ADK ל-Gemini CLI

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

6d05afb6b8b235d8.png