1. לפני שמתחילים
ברוכים הבאים לחלק הרביעי בסדרה 'יצירת סוכני AI באמצעות ADK'. ב-Codelab המעשי הזה, תשלבו את מה שלמדתם בסשנים הקודמים כדי ליצור סוכן לניתוח נתונים. הסוכן הזה יתוכנן לנתח נתונים, ליצור תובנות חשובות ולבצע אוטומציה של היבטים מרכזיים בתהליך העבודה של ניתוח הנתונים.
תאפשרו לסוכן לחקור קבצים שהועלו ולחבר אותו למסדי נתונים ברמת הארגון כמו Google Cloud BigQuery, באמצעות הכלים המתקדמים שכלולים ב-ADK.
אפשר לגשת ל-codelab הזה גם באמצעות כתובת ה-URL המקוצרת הזו: goo.gle/adk-data-analyst
דרישות מוקדמות
- הבנה בסיסית של מושגי AI גנרטיבי
- מיומנות בסיסית בתכנות ב-Python ונוחות בשימוש בשורת הפקודה.
- הכרת המושגים מ-codelabs קודמים בסדרה הזו: 'הבסיס' ו'העצמה באמצעות כלים'.
מה תלמדו
- איך יוצרים סוכן ניתוח נתונים פונקציונלי באמצעות מסגרת ADK.
- שיטות שמאפשרות לסוכן לנתח נתונים ממסמכים שהועלו.
- איך מקשרים את הסוכן למסד נתונים של BigQuery לניתוח נתונים ברמת הארגון.
- טכניקות להגדרת הלוגיקה המרכזית של הנציג, כולל המטרה וההוראות שלו.
מה תצטרכו
- מחשב תקין וחיבור אמין לאינטרנט.
- דפדפן, כמו Chrome, כדי לגשת אל מסוף Google Cloud
- סקרנות ורצון ללמוד.
2. מבוא
בעולם של ימינו, שבו הנתונים הם הבסיס לכל פעולה, היכולת לנתח במהירות ובדייקנות כמויות עצומות של מידע חשובה יותר מתמיד. עם זאת, תהליך החילוץ של תובנות משמעותיות דורש לעיתים קרובות מומחיות טכנית עמוקה בתחומים כמו SQL, ויוצר צוואר בקבוק שיכול להאט את קבלת ההחלטות. מה אם הייתם יכולים לגשר על הפער הזה ולקיים אינטראקציה עם מערכי נתונים מורכבים בקלות כמו בשיחה?
כאן נכנסים לתמונה סוכני ה-AI. סוכני AI פועלים כממשק חכם ביניכם לבין הנתונים שלכם. הם יכולים להבין שאלות בשפה טבעית, לתרגם אותן לשאילתות טכניות ולספק תובנות פרקטיות תוך שניות.
ב-Codelab הזה נלמד איך לבנות סוכן פרקטי לניתוח נתונים באמצעות ערכת פיתוח סוכנים (ADK). נתחיל ביצירת סוכן בסיסי ואז נשפר בהדרגה את היכולות שלו. קודם כל, תלמדו את הסוכן לנתח נתונים לא מובנים ממסמכים שהועלו. לאחר מכן, תחברו אותו למחסן נתונים (data warehouse) עוצמתי ברמה ארגונית, Google Cloud BigQuery, כדי להריץ שאילתות ולנתח מערך נתונים גדול של נתוני בריאות מהעולם האמיתי.
בסוף המדריך הזה, לא רק שתהיה לכם עוזרת AI פונקציונלית, אלא גם תהיה לכם הבנה מוצקה לגבי בניית סוכנים שיכולים להפוך משימות שגרתיות של נתונים לאוטומטיות, להאיץ את הניתוח ולתת לכם ולצוות שלכם גישה לתובנות קריטיות.
3. הגדרת שירותי Google Cloud
יצירת פרויקט ב-Google Cloud
כדי לשמור על הסדר בעבודה שלכם ב-Codelab הזה ולהפריד אותה מפרויקטים אחרים, תתחילו ביצירת פרויקט חדש ב-Google Cloud.
- עוברים אל console.cloud.google.com/projectcreate
- מזינים את המידע הנדרש:
- שם הפרויקט – אפשר להזין כל שם שרוצים (לדוגמה: genai-workshop)
- מיקום – משאירים את האפשרות ללא ארגון
- חשבון לחיוב – אם האפשרות הזו מופיעה, בוחרים באפשרות 'חשבון לחיוב בתקופת ניסיון של Google Cloud Platform' או בחשבון לחיוב משלכם, אם אתם מעדיפים. אם האפשרות הזו לא מופיעה, אפשר להמשיך לשלב הבא.
- מעתיקים את מזהה הפרויקט שנוצר, כי תצטרכו אותו בהמשך.

- אם הכול בסדר, לוחצים על הלחצן יצירה.
הגדרת Cloud Shell
אחרי שהפרויקט נוצר בהצלחה, מבצעים את השלבים הבאים כדי להגדיר את Cloud Shell.
1. הפעלת Cloud Shell
עוברים אל shell.cloud.google.com. אם מופיע חלון קופץ שמבקש הרשאה, לוחצים על Authorize (אישור).

2. הגדרת מזהה פרויקט
מחליפים את replace-with-your-project-id במזהה הפרויקט האמיתי מהשלב של יצירת הפרויקט שמופיע למעלה. מריצים את הפקודה הבאה במסוף Cloud Shell כדי להגדיר את מזהה הפרויקט הנכון.
gcloud config set project replace-with-your-project-id
עכשיו אמור להופיע במסוף Cloud Shell הפרויקט הנכון. מזהה הפרויקט שנבחר מסומן בצהוב.

3. הפעלת ממשקי API נדרשים
כדי להשתמש בשירותי Google Cloud, צריך קודם להפעיל את ממשקי ה-API המתאימים לפרויקט. מריצים את הפקודות הבאות בטרמינל של Cloud Shell כדי להפעיל את השירותים של ה-Codelab הזה:
gcloud services enable \
aiplatform.googleapis.com \
bigquery.googleapis.com
אם הפעולה בוצעה בהצלחה, תופיע ההודעה Operation/... finished successfully במסוף.
4. יצירת סביבה וירטואלית של Python
לאחר מכן, יוצרים סביבת Python מבודדת כדי לנהל את התלות של הפרויקט.
1. יוצרים ספריית פרויקט ועוברים אליה:
mkdir -p ai-agents-adk && cd ai-agents-adk
2. יוצרים ומפעילים סביבה וירטואלית:
uv venv --python 3.12
source .venv/bin/activate
הקידומת (ai-agents-adk) תוצג בהנחיית הטרמינל, כדי לציין שהסביבה הווירטואלית פעילה.

3. דף ההתקנה של ה-ADK
uv pip install google-adk --no-cache
5. יצירת סוכן התחלתי
אחרי שהסביבה מוכנה, אפשר ליצור סוכן AI באמצעות פקודת ADK פשוטה.
1. יצירת סוכן
במסוף, מריצים את הפקודה הבאה:
adk create data_analyst_agent
2. הגדרת הסוכן
תתבקשו להגדיר את הסוכן. בוחרים באפשרויות הבאות:
- בחירת דגם: בוחרים באפשרות 1.
gemini-2.5-flash. - Choose a backend: בוחרים באפשרות 2.
Vertex AI. - הזנת מזהה פרויקט ב-Google Cloud: מקישים על Enter כדי לוודא שמזהה הפרויקט נכון.
- הזנת אזור Google Cloud: מקישים על Enter כדי להשתמש בברירת המחדל
us-central1.
3. הפעלת שרת פיתוח להצגה באינטרנט
אחרי שיוצרים את הסוכן, מריצים את הפקודה הבאה כדי להפעיל את שרת פיתוח להצגה באינטרנט (development web server):
adk web
אפשר ללחוץ על Ctrl + לחיצה או על Cmd + לחיצה על הקישור (כלומר, http://localhost:8000) בטרמינל, או שאתם יכולים
- לוחצים על הלחצן תצוגה מקדימה של האתר.
- בוחרים באפשרות שינוי היציאה.
- מזינים את מספר היציאה (למשל, 8000).
- לוחצים על שינוי ותצוגה מקדימה.
ממשק המשתמש של אפליקציית הצ'אט יופיע בדפדפן.
4. צ'אט עם הסוכן
אפשר להתחיל לשוחח עם הנציג באמצעות הממשק הזה. אומרים משהו כמו "שלום, מה אפשר לעשות?".
6. ניתוח נתונים ממסמך
בקטע הזה אתם תעלו מסמך לסוכן ותשאלו שאלות לגבי התוכן שלו.
1. תסכם את המסמך
כדי לקבל סיכום של המסמך:
- הורדת הקובץ בנושא האסטרטגיה של Google בתחום הבריאות
- לוחצים על הלחצן העלאת קובץ בממשק המשתמש של הסוכן ובוחרים את הקובץ שהורדתם.
- בממשק הצ'אט, מבקשים מהנציג לסכם את הקובץ: "תסכם לי את הקובץ הזה"
- מקישים על Enter.
אמור להתקבל סיכום תמציתי של תוכן המסמך.

2. שואלים שאלות מפורטות יותר
עכשיו, כדאי לנסות לשאול שאלות מפורטות יותר כדי להתעמק במסמך:
- מהן המחלות העיקריות ש-Google מתמקדת בהן כרגע במסגרת יוזמות ה-AI והנתונים שלה?
- איך Google מתכננת לשפר את יכולת הפעולה ההדדית של נתוני מערכת הבריאות ולפרק את מאגרי הנתונים (סילואים)?
- איך משתמשים ב-Google Cloud כדי לתמוך בעסקים ובחוקרים בתחום הבריאות?
- אילו תחומים חדשים של מחלות Google עשויה לבדוק בהמשך (למשל, COPD, סרטן, בריאות הנפש)?
3. שליחת שאלות המשך
אתם יכולים גם לשאול שאלות המשך, למשל כדי לברר את מספר ההפניה של הדף לצורך בדיקה נוספת:
- איפה ראית מידע שקשור לסוכרת?
- תפנה אותי לדפים הרלוונטיים בנושא מחלות.
- איפה אפשר לראות את התרשימים המעניינים שכדאי לי לבדוק?
אתגר: מוצאים מסמך שלכם שרוצים שהסוכן ינתח ומעלים אותו. לשאול את הסוכן שאלות לגבי התוכן שלו.
7. שילוב של תובנות לגבי מסמכים עם חיפוש אינטרנט בזמן אמת
הסוכן הוא עכשיו מומחה למסמך, אבל כדי להיות אנליסט יעיל, הוא צריך גם גישה למידע עדכני וחיצוני. נאפשר לסוכן שלנו לחפש באינטרנט.
- בטרמינל של Cloud Shell, מקישים על Ctrl+C כדי לעצור את שרת האינטרנט.
- מריצים את הפקודה הבאה כדי לפתוח את הקובץ
data_analyst_agent/agent.pyב-Cloud Shell Editor:
cloudshell edit data_analyst_agent/agent.py
- משנים את הקובץ כדי לייבא ולהוסיף את הכלי
google_search:
from google.adk.agents.llm_agent import Agent
from google.adk.tools import google_search
root_agent = Agent(
model='gemini-2.5-flash',
name='root_agent',
description='A helpful assistant for user questions.',
instruction="""
First, check the uploaded files for an answer.
If the information is not in the files, use your tools to search the web.
Answer user questions to the best of your ability.
""",
tools=[
google_search
]
)
- שומרים את הקובץ ומפעילים מחדש את שרת האינטרנט במסוף על ידי הקלדת
adk web - בממשק המשתמש של הסוכן, מעלים מחדש את הקובץ
GoogleHealthStrategy.pdf. - עכשיו, שואלים שאלה שדורשת גם את ההקשר של המסמך וגם מידע חיצוני:
The document discusses Google's strategy in healthcare. What are three other major tech companies that are also investing heavily in healthcare AI, and what are their primary focus areas?
הסוכן יסנתז עכשיו מידע מהמסמך וגם מחיפוש Google בזמן אמת, כדי לתת לכם תשובה מקיפה. אפשר לנסות לשאול כמה שאלות:
- במסמך מוזכר שימוש ב-AI לטיפול ברטינופתיה סוכרתית. What are some of the latest FDA-approved technologies in this area that have been announced in the last year?
- הקובץ מזכיר שותפויות. האם תוכל למצוא כתבות חדשות או הודעות לעיתונות מהזמן האחרון לגבי שיתופי הפעולה האחרונים של Google בתחום הבריאות?
אתגר: נסו לשאול שאלות דומות לגבי מסמך משלכם. משהו שמשתמש במסמך מקומי ובתוצאות מהאינטרנט.
8. ניתוח נתונים בתחום הבריאות באמצעות BigQuery
העלאה של מסמכים בודדים לא מתאימה לשימוש נרחב. בתרחיש מהעולם האמיתי, הנתונים נמצאים במערכות ארגוניות כמו Google Cloud BigQuery.
נכון לעכשיו, מפתחים שיוצרים אפליקציות סוכני צריכים לרוב ליצור ולתחזק כלים מותאמים אישית משלהם. התהליך הידני הזה איטי, מסוכן ויוצר תקורה משמעותית. היא מחייבת את המפתחים לטפל בכל דבר, החל מאימות ועד טיפול בשגיאות, במקום להתמקד בחדשנות.
הערכה לפיתוח סוכנים (ADK) כוללת כלים מאינטראקציה ישירה (First-Party) לשימוש ב-BigQuery. לניתוח הספציפי הזה, נשתמש במערך הנתונים של Medicare Utilization שזמין לציבור ומסופק על ידי המרכזים לשירותי בריאות וביטוחי בריאות בארצות הברית (CMS).
קודם כל, נחבר את הסוכן שלנו למערך נתונים ציבורי גדול של שירותי בריאות.
- בטרמינל של Cloud Shell, מקישים על Ctrl+C כדי לעצור את שרת האינטרנט.
- פותחים את הקובץ
data_analyst_agent/agent.pyב-Cloud Shell Editor על ידי הרצת הפקודה הבאה בטרמינל:
cloudshell edit data_analyst_agent/agent.py
- מחליפים את כל התוכן של הקובץ בקוד הבא כדי להגדיר את
BigQueryToolset:
import google.auth
from google.adk.agents.llm_agent import Agent
from google.adk.tools import google_search
from google.adk.tools.agent_tool import AgentTool
from google.adk.tools.bigquery import (
BigQueryToolset,
BigQueryCredentialsConfig
)
from google.adk.tools.bigquery.config import (
BigQueryToolConfig,
WriteMode
)
# Automatically get credentials from the gcloud environment
application_default_credentials, _ = google.auth.default()
credentials_config = BigQueryCredentialsConfig(
credentials=application_default_credentials
)
# Configure the BigQuery tool
tool_config = BigQueryToolConfig(
write_mode=WriteMode.ALLOWED,
application_name='data_analyst_agent'
)
# Create the toolset with the specified configurations
bigquery_toolset = BigQueryToolset(
credentials_config=credentials_config, bigquery_tool_config=tool_config
)
# Create an agent with google search tool as a search specialist
google_search_agent = Agent(
model='gemini-2.5-flash',
name='google_search_agent',
description='A search agent that uses google search to get latest information about current events, weather, or business hours.',
instruction='Use google search to answer user questions about real-time, logistical information.',
tools=[google_search],
)
# Define the final agent with its instructions and tools
root_agent = Agent(
model="gemini-2.5-flash",
name="bigquery_agent",
description=(
"Agent to answer questions about BigQuery data and execute SQL queries."
),
instruction="""
You are an expert data analyst agent with access to BigQuery tools.
When a user asks about a dataset, first use your tools to understand its schema.
Then, use this knowledge to construct and execute SQL queries to answer the user's questions.
Always confirm with the user if their question is ambiguous (e.g., for which year?).
""",
tools=[
AgentTool(google_search_agent),
bigquery_toolset
],
)
- שומרים את הקובץ ומפעילים מחדש את שרת האינטרנט במסוף על ידי הקלדת
adk web - עכשיו אפשר לבקש מהסוכן לנתח את מערך הנתונים הציבורי של Medicare. מתחילים בבדיקת הנתונים:
Look into the cms_medicare dataset in the bigquery-public-data project. What can you tell me about it?
הסוכן ישתמש בכלים שלו כדי לבדוק את מערך הנתונים ולספק רשימה של הטבלאות הזמינות. משם אפשר להמשיך לשאלות אנליטיות ספציפיות. יכול להיות שהסוכן ישאל שאלות הבהרה כדי לוודא שהשאילתות שלו מדויקות.

בשאלות מסוימות, תצטרכו לספק לסוכן את מזהה הפרויקט כדי שהוא יוכל להשתמש בו ליצירת שאילתה. לדוגמה:

הנה כמה דוגמאות להנחיות אנליטיות שאפשר לנסות:
- בעזרת הטבלה
inpatient_charges_2015, מהם 5 ההליכים המובילים (הגדרות DRG) לפי המספר הכולל של השחרורים? - מהו התשלום הכולל הממוצע עבור 'החלפת מפרק מרכזי' בקליפורניה (CA)?
- באיזו מדינה העלות הממוצעת של ההליך הזה היא הכי גבוהה?
כאן מסתיים ה-Codelab הזה. רק התחלתם להכיר את האפשרויות של סוכני נתונים שמבוססים על מערכות נתונים ארגוניות. אתם מוזמנים לשאול את הסוכן שאלות לגבי מערך הנתונים cms_medicare.
אתגר: מציאת מערך נתונים ציבורי אחר ב-BigQuery ושימוש בסוכן כדי לחקור אותו. אתם יכולים גם ליצור מערך נתונים משלכם עם נתונים משלכם ולנתח אותו באופן פרטי.
9. ניקוי (אופציונלי)
כדי להימנע מחיובים עתידיים, אפשר למחוק את המשאבים שבהם השתמשתם ב-codelab הזה.
1. הפסקת הסוכן
בטרמינל של Cloud Shell, מקישים על Ctrl+C כדי לעצור את התהליך adk web.
2. מחיקת קבצים בפרויקט
כדי להסיר את קוד הסוכן מסביבת Cloud Shell, מריצים את הפקודה הבאה בטרמינל:
cd ~ && rm -rf ai-agents-adk
3. השבתת ממשקי API
כדי להשבית את ממשקי ה-API שהפעלתם קודם, מריצים את הפקודה הבאה בטרמינל:
gcloud services disable \
aiplatform.googleapis.com \
bigquery.googleapis.com
4. השבתת הפרויקט
אם רוצים למחוק את כל הפרויקט ב-Google Cloud, פועלים לפי ההוראות במדריך בנושא סגירת פרויקטים.
10. סיכום
מעולה! יצרתם בהצלחה סוכן לניתוח נתונים באמצעות מסגרת Agent Development Kit (ADK). הסוכן הזה יכול לנתח נתונים ממקורות שונים, להפיק תובנות ולעזור להפוך חלקים מתהליך העבודה של ניתוח הנתונים לאוטומטיים.
כדי להמשיך בתהליך הלמידה, כדאי לעיין במקורות המידע הבאים:
- מומלץ לקרוא את הפוסט הרשמי בבלוג: הכרזה על ערכת הכלים של BigQuery לסוכני AI
- עיון בתיעוד: אפשר לעיין בתיעוד הרשמי של הערכה לפיתוח סוכנים (ADK) כדי לקבל מידע על תכונות חדשות ומדריכים מתקדמים.
- עיון בקוד: אפשר לעיין במאגר ADK ב-GitHub.
- גילוי נתונים נוספים: אפשר לעיין בקטלוג של מערכי נתונים ציבוריים של Google Cloud.