1. סקירה כללית
ב-Codelab הזה תבנו מערכת מתוחכמת למחקר השקעות שמבוססת על כמה סוכנים. המערכת משלבת את היכולות של ערכה לפיתוח סוכנים (ADK) מבית Google, מסד נתונים של גרפים Neo4j ו-MCP Toolbox (ערכת כלים של Model Context Protocol). במדריך המעשי הזה מוסבר איך ליצור סוכנים חכמים שמבינים את הקשר הנתונים באמצעות קשרים גרפיים ומספקים תשובות מדויקות מאוד לשאילתות.
למה כדאי להשתמש ב-GraphRAG + מערכות עם כמה סוכנים?
GraphRAG (יצירה משולבת-אחזור מבוססת-גרף) משפרת את הגישות המסורתיות ל-RAG באמצעות מינוף המבנה העשיר של קשרי הגומלין בתרשימי ידע. במקום רק לחפש מסמכים דומים, סוכני GraphRAG יכולים:
- מעבר בין קשרים מורכבים בין ישויות
- הבנת ההקשר באמצעות מבנה הגרף
- לספק תוצאות שניתן להסביר אותן על סמך נתונים מקושרים
- ביצוע חשיבה רב-שלבית ב-Knowledge Graph
מערכות מרובות סוכנים מאפשרות לכם:
- פירוק בעיות מורכבות למשימות משנה מיוחדות
- פיתוח אפליקציות מודולריות של AI שאפשר לתחזק
- הפעלת עיבוד מקביל ושימוש יעיל במשאבים
- יצירת דפוסי חשיבה היררכיים באמצעות תזמור
מה תפַתחו
תצרו מערכת מחקר השקעות מלאה עם התכונות הבאות:
- Graph Database Agent: סוכן שמריץ שאילתות Cypher ומבין את הסכימה של Neo4j
- סוכן מחקר משקיעים: גילוי קשרים עם משקיעים ותיקי השקעות
- סוכן מחקר השקעות: ניגש לתרשימי ידע מקיפים באמצעות כלי MCP
- סוכן ראשי: מתאם בין כל סוכני המשנה בצורה חכמה
המערכת תענה על שאלות מורכבות כמו:
- "מי המתחרים העיקריים של YouTube?"
- אילו חברות מוזכרות בהקשר חיובי בינואר 2023?
- "מי השקיע ב-ByteDance ואיפה עוד הם השקיעו?"
סקירה כללית של הארכיטקטורה

ב-Codelab הזה תלמדו את היסודות התיאורטיים והיישום המעשי של בניית סוכני GraphRAG ברמת הארגון.
מה תלמדו
- איך יוצרים מערכות מרובות סוכנים באמצעות Agent Development Kit (ADK) של Google
- איך משלבים מסד נתונים של גרפים ב-Neo4j עם ADK לאפליקציות GraphRAG
- איך מטמיעים את MCP Toolbox לשאילתות מסד נתונים שעברו אימות מראש
- איך יוצרים כלים ופונקציות מותאמים אישית לסוכנים חכמים
- איך מעצבים היררכיות של סוכנים ודפוסי תזמור
- איך כדאי לנסח את ההוראות לסוכן כדי להשיג ביצועים אופטימליים
- איך מנפים באגים באינטראקציות בין כמה סוכנים בצורה יעילה
מה תצטרכו
- דפדפן האינטרנט Chrome
- חשבון Gmail
- פרויקט ב-Google Cloud שהחיוב בו מופעל
- היכרות בסיסית עם פקודות טרמינל ועם Python (מועיל אבל לא חובה)
ב-Codelab הזה, שמיועד למפתחים בכל הרמות (כולל מתחילים), נעשה שימוש ב-Python וב-Neo4j באפליקציית הדוגמה. ידע בסיסי ב-Python ובמסדי נתונים של גרפים יכול לעזור, אבל לא נדרש ניסיון קודם כדי להבין את המושגים או לעקוב אחרי ההסברים.
2. הסבר על GraphRAG ועל מערכות מרובות סוכנים
לפני שמתחילים בהטמעה, חשוב להבין את מושגי המפתח שמפעילים את המערכת הזו.
Neo4j הוא מסד נתונים גרפי מקורי מוביל שמאחסן נתונים כרשת של צמתים (ישויות) וקשרים (חיבורים בין ישויות). לכן הוא אידיאלי לתרחישי שימוש שבהם חשוב להבין את הקשרים – כמו המלצות, זיהוי הונאות, גרפי ידע ועוד. בניגוד למסדי נתונים יחסיים או כאלה שמבוססים על מסמכים, שמסתמכים על טבלאות נוקשות או על מבנים היררכיים, מודל הגרף הגמיש של Neo4j מאפשר הצגה אינטואיטיבית ויעילה של נתונים מורכבים ומקושרים.
במקום לארגן את הנתונים בשורות ובטבלאות כמו במסדי נתונים יחסיים, מערכת Neo4j משתמשת במודל גרף, שבו המידע מיוצג כצמתים (ישויות) וקשרים (קשרים בין הישויות האלה). המודל הזה מאפשר עבודה אינטואיטיבית במיוחד עם נתונים שמקושרים באופן מובנה – כמו אנשים, מקומות, מוצרים או, במקרה שלנו, סרטים, שחקנים וז'אנרים.
לדוגמה, בקבוצת נתונים של סרטים:
- צומת יכול לייצג
Movie,ActorאוDirector - הקשר יכול להיות
ACTED_INאוDIRECTED

המבנה הזה מאפשר לכם לשאול בקלות שאלות כמו:
- באילו סרטים השחקן הזה הופיע?
- מי עבד עם כריסטופר נולאן?
- מהם סרטים דומים שמבוססים על שחקנים או ז'אנרים משותפים?
מה זה GraphRAG?
טכנולוגיית RAG (שליפה משופרת של מידע) משפרת את התשובות של מודלים מסוג LLM על ידי שליפת מידע רלוונטי ממקורות חיצוניים. בדרך כלל, מערכות RAG מסורתיות:
- הטמעת מסמכים בווקטורים
- חיפושים של וקטורים דומים
- העברת המסמכים שאוחזרו אל ה-LLM
GraphRAG מרחיב את זה באמצעות תרשימי ידע:
- הטמעה של ישויות וקשרים
- מעבר על קשרים בגרף
- אחזור מידע לפי הקשר על כמה קפיצות
- הצגת תוצאות מובְנות וברורות
למה כדאי להשתמש בתרשימים לסוכני AI?
לדוגמה: "מי המתחרים של YouTube, ואילו משקיעים מימנו גם את YouTube וגם את המתחרים שלה?"
מה קורה בגישה מסורתית של RAG:
- חיפוש מסמכים על המתחרים של YouTube
- חיפוש נפרד של מידע על משקיעים
- מתקשה לקשר בין שני חלקי המידע האלה
- יכול להיות שלא יזוהו קשרים מרומזים
מה קורה בגישת GraphRAG:
MATCH (org:Organization {name: "OpenAI"})-[:HAS_COMPETITOR]-(competitor:Organization)
MATCH (org)-[:HAS_INVESTOR]->(investor:Person)
MATCH (competitor)-[:HAS_INVESTOR]->(investor)
RETURN org, competitor, investor
הגרף מייצג קשרים באופן טבעי, ולכן קל ויעיל לבצע שאילתות מורכבות.
מערכות מרובות סוכנים ב-ADK
הערכה לפיתוח סוכנים (ADK) היא מסגרת קוד פתוח של Google ליצירה ולפריסה של סוכני AI ברמת ייצור. הספרייה מספקת פרימיטיבים אינטואיטיביים לתיאום בין סוכנים, לשילוב כלים ולניהול תהליכי עבודה, כך שקל להרכיב סוכנים מיוחדים למערכות מתוחכמות. ערכת ה-ADK פועלת בצורה חלקה עם Gemini ותומכת בפריסה ב-Cloud Run, ב-Kubernetes או בכל תשתית אחרת.
הערכה לפיתוח סוכנים (ADK) מספקת פרימיטיבים לבניית מערכות מרובות סוכנים:
- היררכיית הנציגים:
# Root agent coordinates specialized agents
root_agent = LlmAgent(
name="RootAgent",
sub_agents=[
graph_db_agent,
investor_agent,
investment_agent
]
)
- נציגים מומחים: לכל נציג יש
- כלים ספציפיים: פונקציות שאפשר להפעיל
- הוראות ברורות: התפקיד והיכולות שלו
- מומחיות בתחום: ידע בתחום
- Orchestration Patterns:
- רציף: הפעלת סוכנים לפי הסדר
- מקבילי: הפעלת כמה סוכנים בו-זמנית
- מותנה: ניתוב על סמך סוג השאילתה
MCP Toolbox למסדי נתונים
Model Context Protocol (MCP) הוא תקן פתוח לחיבור מערכות AI למקורות נתונים ולכלים חיצוניים. MCP Toolbox for Databases הוא יישום של Google שמאפשר ניהול הצהרות של שאילתות במסד נתונים, כך שאפשר להגדיר שאילתות שאומתו מראש ונכתבו על ידי מומחים ככלים לשימוש חוזר. במקום לאפשר למודלים גדולים של שפה (LLM) ליצור שאילתות שעלולות להיות לא בטוחות, ערכת הכלים של MCP מציגה שאילתות שאושרו מראש עם אימות פרמטרים, כדי להבטיח אבטחה, ביצועים ומהימנות, תוך שמירה על גמישות עבור סוכני AI.
גישה מסורתית:
# LLM generates query (may be incorrect/unsafe)
query = llm.generate("SELECT * FROM users WHERE...")
db.execute(query) # Risk of errors/SQL injection
גישת ה-MCP:
# Pre-validated query definition
- name: get_industries
description: Fetch all industries from database
query: |
MATCH (i:Industry)
RETURN i.name, i.id
יתרונות:
- עברו אימות מראש על ידי מומחים
- הגנה מפני מתקפות החדרת קוד
- אופטימיזציה של הביצועים
- ניהול מרכזי
- אפשר להשתמש בהם שוב אצל נציגים שונים
סיכום של כל המידע
השילוב של GraphRAG + Multi-Agent Framework by ADK + MCP יוצר מערכת עוצמתית:
- סוכן הבסיס מקבל שאילתת משתמש
- ניתוב לנציג מומחה על סמך סוג השאילתה
- הסוכן משתמש בכלי MCP כדי לאחזר נתונים בצורה בטוחה
- מבנה הגרף מספק הקשר עשיר
- מודל LLM יוצר תשובה שמבוססת על מקורות וכוללת הסבר
עכשיו, אחרי שהבנו את הארכיטקטורה, אפשר להתחיל לבנות!
3. הגדרת פרויקט ב-Google Cloud
יצירת פרויקט
- ב-מסוף Google Cloud, בדף לבחירת הפרויקט, בוחרים או יוצרים פרויקט ב-Google Cloud.
- הקפידו לוודא שהחיוב מופעל בפרויקט שלכם ב-Cloud. כך בודקים אם החיוב מופעל בפרויקט
- תשתמשו ב-Cloud Shell, סביבת שורת פקודה שפועלת ב-Google Cloud. לוחצים על 'הפעלת Cloud Shell' בחלק העליון של מסוף Google Cloud. אפשר לעבור בין Cloud Shell Terminal (כדי להפעיל פקודות בענן) לבין Editor (כדי ליצור פרויקטים) בלחיצה על הכפתור המתאים ב-Cloud Shell.

- אחרי שמתחברים ל-Cloud Shell, בודקים שכבר בוצע אימות ושהפרויקט מוגדר למזהה הפרויקט באמצעות הפקודה הבאה:
gcloud auth list
- מריצים את הפקודה הבאה ב-Cloud Shell כדי לוודא שפקודת gcloud מכירה את הפרויקט.
gcloud config list project
- אם הפרויקט לא מוגדר, משתמשים בפקודה הבאה כדי להגדיר אותו:
gcloud config set project <YOUR_PROJECT_ID>
אפשר לעיין במאמרי העזרה בנושא פקודות gcloud ושימוש בהן.
מעולה! עכשיו אפשר לעבור לשלב הבא – הבנת מערך הנתונים.
4. הסבר על מערך הנתונים 'חברות'
בסדנת הקוד הזו אנחנו משתמשים במסד נתונים של Neo4j לקריאה בלבד שאוכלס מראש בנתוני השקעות ונתוני חברות מגרף הידע של Diffbot.
מערך הנתונים מכיל:
- 237,358 צמתים שמייצגים:
- ארגונים (חברות)
- אנשים (מנהלים, עובדים)
- מאמרים (חדשות ואזכורים)
- תחומים
- טכנולוגיות
- משקיעים
- קשרים, כולל:
HAS_INVESTOR– חיבורים להשקעותHAS_COMPETITOR– יחסים תחרותיים-
MENTIONS– הפניות למאמרים HAS_CEO- יחסי עבודה-
HAS_CATEGORY– סיווגים של תחומי פעילות

גישה למסד הנתונים לדוגמה
ב-codelab הזה נשתמש במופע הדגמה מתארח. מוסיפים את פרטי הכניסה האלה להערות:
URI: neo4j+s://demo.neo4jlabs.com
Username: companies
Password: companies
Database: companies
גישה לדפדפן:
אפשר לעיין בנתונים באופן ויזואלי בכתובת: https://demo.neo4jlabs.com:7473
מתחברים עם אותם פרטי כניסה ומנסים להריץ את הפקודה:
// Sample query to explore the graph
MATCH (c:Organization)-[:HAS_COMPETITOR]-(competitor:Organization)
RETURN c.name, competitor.name
LIMIT 10
הדמיה של מבנה הגרף
כדי לראות דפוסי קשר, אפשר לנסות את השאילתה הזו בדפדפן Neo4j:
// Find investors and their portfolio companies
MATCH (company:Organization)-[:HAS_INVESTOR]->(investor:Person)
WITH investor, collect(company.name) as portfolio
RETURN investor.name, size(portfolio) as num_investments, portfolio
ORDER BY num_investments DESC
LIMIT 5
השאילתה הזו מחזירה את 5 המשקיעים הפעילים ביותר ואת תיקי ההשקעות שלהם.
למה כדאי להשתמש במסד הנתונים הזה ל-GraphRAG?
מערך הנתונים הזה מושלם להדגמה של GraphRAG כי:
- קשרים עשירים: קשרים מורכבים בין ישויות
- נתונים מהעולם האמיתי: חברות, אנשים וכתבות חדשותיים אמיתיים
- שאילתות עם כמה קפיצות: נדרשת מעבר בין כמה סוגים של קשרים
- נתונים זמניים: מאמרים עם חותמות זמן לניתוח מבוסס-זמן
- ניתוח סנטימנטים: ציוני סנטימנטים שחושבו מראש למאמרים
אחרי שהבנתם את מבנה הנתונים, הגיע הזמן להגדיר את סביבת הפיתוח.
5. שכפול המאגר והגדרת הסביבה
שכפול המאגר
בטרמינל של Cloud Shell, מריצים את הפקודה:
# Clone the repository
git clone https://github.com/sidagarwal04/neo4j-adk-multiagents.git
# Navigate into the directory
cd neo4j-adk-multiagents
עיון במבנה המאגר
כדאי להקדיש רגע כדי להבין את פריסת הפרויקט:
neo4j-adk-multiagents/
├── investment_agent/ # Main agent code
│ ├── agent.py # Agent definitions
│ ├── tools.py # Custom tool functions
│ └── .adk/ # ADK configuration
│ └── tools.yaml # MCP tool definitions
├── main.py # Application entry point
├── setup_tools_yaml.py # Configuration generator
├── requirements.txt # Python dependencies
├── example.env # Environment template
└── README.md # Project documentation
הגדרת סביבה וירטואלית
יוצרים ומפעילים סביבה וירטואלית של Python באמצעות uv:
# Install uv if not already installed
pip install uv
# Create virtual environment
uv venv
# Activate the environment
source .venv/bin/activate # On macOS/Linux
# or
.venv\Scripts\activate # On Windows
הסימן (.venv) אמור להופיע לפני ההנחיה במסוף.
התקנת יחסי תלות
מתקינים את כל החבילות הנדרשות:
uv pip install -r requirements.txt
בין התלויות העיקריות:
txtgoogle-adk>=1.21.0 # Agent Development Kit
neo4j>=6.0.3 # Neo4j Python driver
python-dotenv>=1.0.0 # Environment variables
google-cloud-aiplatform>=1.30.0 # Vertex AI
הגדרת משתני סביבה
- יוצרים קובץ **
.env** **משלכם:**
cp example.env .env
- עריכת **
.env** **הקובץ:**
אם משתמשים ב-Cloud Shell, לוחצים על Open Editor (פתיחת העורך) בסרגל הכלים, עוברים אל .env ומעדכנים:
כדי להציג את קובץ ה-.env הנסתר:
לוחצים על View > Toggle Hidden files ב-Google Cloud Shell Editor.
# Neo4j Configuration (Demo Database)
NEO4J_URI=neo4j+s://demo.neo4jlabs.com
NEO4J_USERNAME=companies
NEO4J_PASSWORD=companies
NEO4J_DATABASE=companies
# Google AI Configuration
# Choose ONE of the following options:
# Option 1: Google AI API (Recommended)
GOOGLE_GENAI_USE_VERTEXAI=0
GOOGLE_API_KEY=your_api_key_here # Get from https://aistudio.google.com/app/apikey
# Option 2: Vertex AI (If using GCP)
# GOOGLE_GENAI_USE_VERTEXAI=1
# GOOGLE_CLOUD_PROJECT=your-project-id
# GOOGLE_CLOUD_LOCATION=us-central1
# ADK Configuration
GOOGLE_ADK_MODEL=gemini-3.1-flash-lite-preview # or gemini-3-flash-preview
# MCP Toolbox Configuration
MCP_TOOLBOX_URL=https://toolbox-990868019953.us-central1.run.app/mcp/sse
- יצירת הגדרות של ארגז הכלים של MCP:
מריצים את סקריפט ההגדרה כדי ליצור את הקובץ tools.yaml ממשתני הסביבה:
python setup_tools_yaml.py
כך נוצר investment_agent/.adk/tools.yaml עם פרטי הכניסה של Neo4j שמוגדרים בצורה נכונה לשימוש בכלי MCP.
אימות ההגדרה
בודקים שהכל מוגדר בצורה נכונה:
# Verify .env file exists
ls -la .env
# Verify tools.yaml was generated
ls -la investment_agent/.adk/tools.yaml
# Test Python environment
python -c "import google.adk; print('ADK installed successfully')"
# Test Neo4j connection
python -c "from neo4j import GraphDatabase; print('Neo4j driver installed')"
סביבת הפיתוח מוגדרת עכשיו במלואה. בשלב הבא נסביר על ארכיטקטורה של כמה סוכנים.
6. הסבר על ארכיטקטורה של כמה סוכנים
מערכת ארבעת הסוכנים
מערכת מחקר ההשקעות שלנו משתמשת בארכיטקטורה היררכית מרובת סוכנים עם ארבעה סוכנים מומחים שעובדים יחד כדי לענות על שאילתות מורכבות לגבי חברות, משקיעים ומודיעין שוק.
┌──────────────┐
│ Root Agent │ ◄── User Query
└──────┬───────┘
│
┌────────────────┼────────────────┐
│ │ │
┌─────▼─────┐ ┌────▼─────┐ ┌────▼──────────┐
│ Graph DB │ │ Investor │ │ Investment │
│ Agent │ │ Research │ │ Research │
└───────────┘ │ Agent │ │ Agent │
└──────────┘ └───────────────┘
- סוכן הבסיס (מנהל התזמור):
הסוכן הראשי משמש כמתאם חכם של המערכת כולה. הוא מקבל שאילתות ממשתמשים, מנתח את הכוונה שלהם ומנתב את הבקשות לסוכן המומחה המתאים ביותר. אפשר לחשוב על זה כמו על מנהל פרויקטים שמבין מי מחברי הצוות הכי מתאים לכל משימה. הוא גם מטפל בצבירת התגובות, מעצב את התוצאות כטבלאות או כתרשימים לפי בקשה, ושומר על ההקשר של השיחה בכמה שאילתות. הסוכן הראשי תמיד מעדיף סוכנים מומחים על פני סוכן מסד הנתונים הכללי, וכך מוודא שהשאילתות מטופלות על ידי הרכיב המומחה ביותר שזמין.
- סוכן מסד נתונים של גרפים:
הסוכן של מסד הנתונים הגרפי הוא החיבור הישיר שלכם ליכולות הגרפיות המתקדמות של Neo4j. הוא מבין את סכימת מסד הנתונים, יוצר שאילתות Cypher משפה טבעית ומבצע מעברים מורכבים בגרף. הסוכן הזה מתמחה בשאלות מבניות, בצבירה ובהסקת מסקנות מורכבות בגרף הידע. הוא מומחה לגיבוי כששאילתות דורשות לוגיקה מותאמת אישית שכלים מוגדרים מראש לא יכולים לטפל בה, ולכן הוא חיוני לניתוח גישוש ולשאילתות ניתוח מורכבות שלא נצפו בתכנון המערכת.
- סוכן מחקר למשקיעים:
הנציג לניתוח השקעות מתמקד אך ורק בקשרי השקעות ובניתוח תיק השקעות. הוא יכול לגלות מי השקיע בחברות ספציפיות באמצעות התאמה מדויקת של שמות, לאחזר תיקי השקעות מלאים שמציגים את כל ההשקעות ולנתח דפוסי השקעה בתעשיות שונות. ההתמחות הזו מאפשרת לו לענות ביעילות רבה על שאלות כמו "מי השקיע ב-ByteDance?" או "מה עוד השקיעה Sequoia Capital?" הסוכן משתמש בפונקציות Python מותאמות אישית ששולחות שאילתות ישירות למסד הנתונים של Neo4j כדי למצוא קשרים שקשורים למשקיעים.
- סוכן מחקר השקעות:
סוכן מחקר ההשקעות משתמש בארגז הכלים Model Context Protocol (MCP) כדי לגשת לשאילתות שאומתו מראש ונכתבו על ידי מומחים. הוא יכול לאחזר את כל התעשיות שזמינות, לאחזר חברות בתעשיות ספציפיות, למצוא מאמרים עם ניתוח סנטימנט, לגלות אזכורים של ארגונים בחדשות ולקבל מידע על אנשים שעובדים בחברות. בניגוד לסוכן מסד הנתונים הגרפי שמייצר שאילתות באופן דינמי, הסוכן הזה משתמש בשאילתות בטוחות, מותאמות ומוגדרות מראש שמנוהלות ומאומתות באופן מרכזי. כך הוא מאובטח וגם יעיל לזרימות עבודה נפוצות במחקר.
7. הפעלה ובדיקה של מערכת מרובת סוכנים
הפעלת האפליקציה
אחרי שהבנתם את הארכיטקטורה, נריץ את המערכת המלאה וניצור איתה אינטראקציה.
מפעילים את ממשק האינטרנט של ADK:
# Make sure you're in the project directory with activated virtual environment
cd ~/neo4j-adk-multiagents
source .venv/bin/activate # If not already activated
# Launch the application
uv run adk web
הפלט אמור להיראות כך:
INFO: Started server process [2542]
INFO: Waiting for application startup.
+----------------------------------------------------------------+
| ADK Web Server started |
| |
| For local testing, access at http://127.0.0.1:8000. |
+----------------------------------------------------------------+
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
שאילתות לבדיקה והתנהגות צפויה
נבדוק את היכולות של המערכת באמצעות שאילתות מורכבות יותר ויותר:
שאילתות בסיסיות (סוכן יחיד)
שאילתה 1: גילוי תחומים
What industries are available in the database?
התנהגות צפויה:
- סוכן השורש מנתב לסוכן מחקר ההשקעות
- נעשה שימוש בכלי ה-MCP:
get_industries() - החזרת רשימה מעוצבת של כל התחומים
מה צריך לבדוק:
בממשק המשתמש של ADK, מרחיבים את פרטי ההרצה כדי לראות:
- החלטה לגבי בחירת נציג
- קריאה לכלי:
get_industries() - תוצאות גולמיות מ-Neo4j
- תשובה בפורמט
שאילתה 2: חיפוש משקיעים
Who invested in ByteDance?
התנהגות צפויה:
- Root Agent identifies this as investor-related query
- דרכים להגיע לסוכן מחקר משקיעים
- השתמש בכלי:
find_investor_by_name("ByteDance") - מחזירה משקיעים עם הסוגים שלהם (אדם/ארגון)
התשובה הצפויה:
I found 2 investors in ByteDance:
1. Rong Yue (Person)
2. Wendi Murdoch (Person)
Would you like to know more about their investment portfolios?
שאילתה 3: חברות לפי תחום**
I found 2 investors in ByteDance:
1. Rong Yue (Person)
2. Wendi Murdoch (Person)
Would you like to know more about their investment portfolios?
"Show me companies in the Artificial Intelligence industry"
התנהגות צפויה:
- סוכן השורש מנתב לסוכן מחקר ההשקעות
- נעשה שימוש בכלי ה-MCP:
get_companies_in_industry("Artificial Intelligence") - מחזירה רשימה של חברות AI עם מזהים ותאריכי הקמה
מה צריך לבדוק:
- שימו לב איך הסוכן משתמש בהתאמה מדויקת של שם התחום
- התוצאות מוגבלות כדי למנוע עומס יתר של פלט
- הנתונים מפורמטים בצורה ברורה כדי שיהיה קל לקרוא אותם
שאילתות ביניים (כמה שלבים בסוכן אחד)
שאילתה 4: ניתוח סנטימנט
Find articles with positive sentiment from January 2023
התנהגות צפויה:
- נתיבים לסוכן מחקר השקעות
- נעשה שימוש בכלי ה-MCP:
get_articles_with_sentiment(0.7, 2023, 1) - הפונקציה מחזירה מאמרים עם שמות, ציוני סנטימנט ותאריכי פרסום
טיפ לניפוי באגים:
בודקים את הפרמטרים של הפעלת הכלי:
-
min_sentiment: 0.7 (הסוכן מפרש את המילה 'חיובי' כערך של >= 0.7) year: 2023-
month: 1
שאילתה 5: שאילתת מסד נתונים מורכבת
How many companies are in the database?
התנהגות צפויה:
- סוכן השורש מפנה לסוכן מסד הנתונים הגרפי
- נציג התמיכה מתקשר קודם כדי להבין את המבנה
get_neo4j_schema() - יצירת Cypher:
MATCH (c:Company) RETURN count(c) - מריץ שאילתה ומחזיר את הספירה
התשובה הצפויה:
There are 8,064 companies in the database.
שאילתות מתקדמות (תיאום בין סוכנים)
שאילתה 6: ניתוח שיטות כוללות
Who invested in ByteDance and what else have they invested in?
התנהגות צפויה:
זו שאילתה שמורכבת משני חלקים ונדרש תיאום בין נציגים:
- שלב 1: סוכן ראשי ← סוכן מחקר משקיעים
- שיחות
find_investor_by_name("ByteDance") - קבלת רשימת משקיעים: [Rong Yue, Wendi Murdoch]
- שלב 2: לכל משקיע → סוכן מחקר משקיעים
- שיחות
find_investor_by_id(investor_id) - אחזור תיק השקעות מלא
- שלב 3: סוכן הבסיס צובר ומעצב נתונים
התשובה הצפויה:
I found 2 investors in ByteDance. Here are their portfolios:
1. Rong Yue (Person)
- ByteDance
- Inspur
2. Wendi Murdoch (Person)
- ByteDance
- (No other investments in database)
מה צריך לבדוק:
- כמה קריאות לכלים ברצף
- הקשר נשמר בין השלבים
- תוצאות מצטברות בצורה חכמה
שאילתה 7: מחקר בכמה דומיינים
What are 5 AI companies mentioned in positive articles, and who are their CEOs?
התנהגות צפויה:
השאילתה המורכבת הזו דורשת שימוש בכמה סוכנים וכלים:
- שלב 1: סוכן מחקר השקעות
get_companies_in_industry("Artificial Intelligence")- מחזירה רשימה של חברות AI
- שלב 2: סוכן מחקר השקעות
get_articles_with_sentiment(0.8)- החזרת מאמרים חיוביים
- שלב 3: מסנני סוכן הבסיס
- זיהוי חברות AI שמופיעות במאמרים חיוביים
- בחירה של 5 המובילים
- שלב 4: סוכן מחקר השקעות
get_people_in_organizations([company_names], "CEO")- החזרת פרטי המנכ"ל
- שלב 5: עיצוב של סוכן הבסיס כטבלה
התשובה הצפויה:
Here are 5 AI companies with positive news and their CEOs:
| Company | Industry | CEO | Avg Sentiment |
|---------|----------|-----|---------------|
| OpenAI | Artificial Intelligence | Sam Altman | 0.92 |
| Anthropic | Artificial Intelligence | Dario Amodei | 0.89 |
| ... | ... | ... | ... |
מה צריך לבדוק:
- כמה קריאות לכלים אצל סוכנים שונים
- הלוגיקה של סינון ושילוב נתונים
- עיצוב טבלה מקצועי
שאילתה 8: ניתוח תחרותי
Who are YouTube's main competitors?
התנהגות צפויה:
- סוכן שורש מנתב לסוכן מסד נתונים של גרף (שאילתת קשר)
- הסוכן יוצר קוד Cypher משופר באמצעות GraphRAG:
MATCH (c:Company {name: "YouTube"})-[:COMPETES_WITH]->(competitor)
RETURN competitor.name as competitor_name
- החזרת רשימה של חברות מתחרות
התשובה הצפויה:
YouTube's main competitors are:
- TikTok (ByteDance)
- Dailymotion
- Twitter
- BuzzFeed
- Mixer
- OpenAI (for video content)
שאילתות המשך מבוססות-הקשר
שאילתה 9: שאלת המשך (אחרי שאילתה 8)
Which investors funded both YouTube and its competitors?
התנהגות צפויה:
- הסוכן הראשי זוכר את ההקשר הקודם (YouTube והמתחרים שלה)
- דרכים להגיע לסוכן מחקר משקיעים
- למצוא משקיעים ל-YouTube ולכל מתחרה
- זיהוי משקיעים שמופיעים בכמה חברות
התשובה הצפויה:
Based on our previous analysis of YouTube's competitors, I found these
investors who funded multiple companies in this competitive landscape:
Sequoia Capital invested in:
- YouTube
- TikTok (ByteDance)
- Twitter
Accel Partners invested in:
- YouTube
- BuzzFeed
This suggests these investors have strategic positions across the video content platform ecosystem.
שאילתה 10: סיכום מחקר
Summarize our research findings so far
התנהגות צפויה:
- נציג ברמת העל בודק את היסטוריית השיחות
- מסכם את הממצאים העיקריים משאילתות קודמות
- מספק סיכום עקבי
התשובה הצפויה:
Here's a summary of our investment research session:
1. Industry Overview: We explored the Artificial Intelligence industry
with 150+ companies in the database.
2. ByteDance Analysis:
- Investors: Rong Yue, Wendi Murdoch
- Rong Yue also invested in Inspur
3. Market Sentiment: We analyzed articles from January 2023, finding
strong positive sentiment (avg 0.85) for tech companies.
4. Competitive Landscape: YouTube faces competition from TikTok,
Dailymotion, and others, with some investors (Sequoia, Accel) holding
positions across competing platforms.
5. Key Players: Identified CEOs of major AI companies with positive media coverage.
הסבר על אינטראקציות עם נציג בתצוגת ניפוי הבאגים
ממשק האינטרנט של ADK מספק תצוגה מפורטת של ההרצה. מה צריך לחפש:
- ציר זמן של אירועים
הצגת רצף כרונולוגי:
[USER] Query received
[ROOT_AGENT] Analyzing query intent
[ROOT_AGENT] Routing to investment_research_agent
[INVESTMENT_RESEARCH_AGENT] Tool call: get_companies_in_industry
[TOOL] Executing with params: {"industry_name": "Artificial Intelligence"}
[TOOL] Returned 47 results
[INVESTMENT_RESEARCH_AGENT] Formatting response
[ROOT_AGENT] Presenting to user
- פרטים על הפעלת הכלי
לוחצים על קריאה לכלי כדי לראות:
- שם פונקציה
- פרמטרים של קלט
- הערך שמוחזר
- זמן הביצוע
- כל השגיאות
- קבלת החלטות על ידי סוכנים
מעיינים בנימוק של ה-LLM:
- למה הוא בחר סוכן ספציפי
- איך המערכת פירשה את השאילתה
- אילו כלים נלקחו בחשבון
- למה התוצאות עוצבו בצורה מסוימת
תובנות וקריטריונים נפוצים לבדיקה
- דפוסי ניתוב של שאילתות:
- מילות מפתח כמו investor (משקיע), invested (השקעה) ← סוכן מחקר משקיעים
- מילות מפתח כמו 'תעשייה', 'חברות', 'מאמרים' ← סוכן מחקר השקעות
- צבירות, ספירות, לוגיקה מורכבת ← Graph Database Agent
- הערות לגבי הביצועים:
- הכלים של MCP בדרך כלל מהירים יותר (שאילתות שעברו אופטימיזציה מראש)
- יצירת שאילתות Cypher מורכבות אורכת זמן רב יותר (זמן החשיבה של ה-LLM)
- שימוש בכמה קריאות לכלים מוסיף זמן אחזור אבל מספק תוצאות עשירות יותר
- טיפול בשגיאות:
- אם שאילתה נכשלת:
- הסוכן מסביר מה השתבש
- מציע תיקונים (למשל, 'לא נמצא שם חברה, כדאי לבדוק את האיות')
- יכול להיות שננסה גישות חלופיות
טיפים לבדיקות יעילות
- מתחילים בפשוט: בודקים את הפונקציונליות הבסיסית של כל סוכן לפני שמנסים שאילתות מורכבות
- שימוש בהמשך טיפול: בדיקת שימור ההקשר באמצעות שאלות המשך
- מעקב אחר הניתוב: מעקב אחר הסוכן שמטפל בכל שאילתה כדי להבין את הלוגיקה
- בדיקת קריאות לכלים: מוודאים שהפרמטרים מחולצים בצורה נכונה משפה טבעית
- בדיקת מקרי קצה: כדאי לנסות שאילתות מעורפלות, שגיאות כתיב או בקשות לא רגילות
עכשיו יש לכם מערכת GraphRAG רב-סוכנתית שפועלת באופן מלא. אתם יכולים לנסות לשאול שאלות משלכם כדי לבדוק את היכולות שלו.
8. הסרת המשאבים
כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם במאמר הזה:
- במסוף Google Cloud, עוברים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
9. מזל טוב
🎉 מזל טוב! יצרתם בהצלחה מערכת GraphRAG מרובת סוכנים באיכות ייצור באמצעות ערכה לפיתוח סוכנים (ADK) של Google, Neo4j ו-MCP Toolbox.
שילוב יכולות התזמור החכמות של ADK עם מודל הנתונים העשיר בקשרים של Neo4j והבטיחות של שאילתות MCP שעברו אימות מראש, מאפשר ליצור מערכת מתוחכמת שחורגת משאילתות פשוטות במסד נתונים – המערכת מבינה את ההקשר, מסיקה מסקנות על סמך קשרים מורכבים ומתאמת בין סוכנים מיוחדים כדי לספק תובנות מקיפות ומדויקות.
ב-Codelab הזה השלמתם את המשימות הבאות:
✅ יצירת מערכת עם כמה סוכנים באמצעות Agent Development Kit (ADK) של Google עם תזמור היררכי
✅ מסד נתונים גרפי של Neo4j משולב כדי להשתמש בשאילתות שמודעות לקשרים ובהסקה מרובת צעדים
✅ הטמענו את MCP Toolbox לשאילתות מאובטחות ומאומתות מראש במסדי נתונים ככלים לשימוש חוזר
✅ יצירת סוכנים ייעודיים למחקר משקיעים, לניתוח השקעות ולפעולות במסד נתונים של גרפים
✅ Designed intelligent routing that automatically delegates queries to the most appropriate expert agent
✅ טיפל בסוגי נתונים מורכבים באמצעות סריאליזציה מתאימה של סוגי Neo4j לשילוב חלק של Python
✅ הוחלו שיטות מומלצות לייצור על עיצוב הסוכן, טיפול בשגיאות וניפוי באגים במערכת
מה השלב הבא?
ארכיטקטורת GraphRAG מרובת הסוכנים הזו לא מוגבלת למחקר השקעות – אפשר להרחיב אותה גם ל:
- שירותים פיננסיים: אופטימיזציה של תיק השקעות, הערכת סיכונים, זיהוי הונאות
- שירותי בריאות: תיאום טיפול במטופלים, ניתוח אינטראקציות בין תרופות, מחקר קליני
- מסחר אלקטרוני: המלצות בהתאמה אישית, אופטימיזציה של שרשרת האספקה, תובנות לגבי לקוחות
- עניינים משפטיים ועמידה בדרישות: ניתוח חוזים, מעקב אחר תקנות, מחקר של פסקי דין
- מחקר אקדמי: סקירת ספרות, גילוי שיתופי פעולה, ניתוח ציטוטים
- בינה עסקית: ניתוח תחרותי, מחקר שוק, תרשימי ידע ארגוניים
בכל מקום שבו יש נתונים מורכבים ומקושרים + מומחיות בתחום + ממשקי שפה טבעית, השילוב הזה של מערכות מרובות סוכנים של ADK + תרשימי ידע של Neo4j + שאילתות שאומתו על ידי MCP יכול להפעיל את הדור הבא של אפליקציות חכמות לארגונים.
ככל שערכת פיתוח הסוכנים (ADK) של Google ומודלי Gemini ימשיכו להתפתח, תוכלו לשלב דפוסי חשיבה רציונלית מתוחכמים יותר, שילוב נתונים בזמן אמת ויכולות מולטי-מודאליות כדי לבנות מערכות חכמות באמת שמודעות להקשר.
ממשיכים לחקור, ממשיכים לפתח ומשדרגים את האפליקציות של הסוכנים החכמים!
באתר Neo4j GraphAcademy אפשר למצוא עולם תוכן מורחב של מדריכים מעשיים בנושא תרשים ידע, ובמאגר הדוגמאות של ADK אפשר למצוא דפוסי סוכנים נוספים.
🚀 רוצים לבנות את מערכת הסוכנים החכמה הבאה שלכם?