בשלב זה, נלמד על גישה שונה לחלוטין, שלעיתים קרובות יכולה להחליף תהליכים מורכבים כאלה: ה"סוכן" (Agent). במקום לבנות זרימה קבועה מראש, אנחנו בונים "מוח" חכם, נותנים לו "הוראות הפעלה", מציידים אותו ב"זיכרון" וב"כלים" (כמו גישה למזג אוויר, חיפוש באינטרנט, או שליחת מייל), ונותנים לו לנהל שיחה חופשית עם המשתמש ולהחליט לבד מתי להשתמש בכל כלי.
שימו לב – תרגול זה מובנה מאוד והוא מהווה בסיס למחקר וללימוד דרך ״לכלוך הידיים״ בהמשך הדרך. חשוב להכיר את החלקים השונים בתרגול ובמערכת. עם זאת – בכל פרק וסעיף, הרגישו חופשי לחקור יותר לעומק ולסקור גם מושגים שונים ואפשרויות שונות שלא הוזכרו במפורש. נתקעתם? לא נורא – חזרו להוראות המקוריות, ותמיד אפשר להתחיל פרויקט חדש ונקי, ולהתנסות מראש הפרק הנוכחי.
בהצלחה!
שלב 5: הפיכת ה-Workflow לסוכן תיירות ריאקטיבי
בפרק זה ניקח את כל הכלים והלוגיקה שבנינו בארבעת השלבים הקודמים, ונאחד אותם תחת סוכן AI ריאקטיבי חכם שיודע לנהל שיחה.
כפי שלמדנו בשיעורי המבוא: סוכן Ai ריאקטיבי הוא אפליקציה הבנויה על מודל לשוני גדול (LLM) ומשתמש בו לא רק על מנת לשוחח עם המשתמש, לנסח מסמכים ולהשלים משפטים, אלא גם לצורך ״חשיבה״ על הצעד הבא שצריך לעשות בתהליך. בניגוד ל Workflow ליניארי – כמו שבנינו בשלבים הקודמים, בו התהליך ברור וקבוע, סוכן Ai ריאקטיבי מחליט לבד, בהתאם למהלך השיחה, באיזה כלי להשתמש בכל שלב, ומה השלב הנכון לעשות.
כל סוכן Ai ריאקטיבי מורכב משני גורמים, בדומה מאוד ליצור אנושי:
- ״גוף״ הסוכן: החלק ה״קשיח״, ה״חומרה״, המהווה את המצע הטכני לביצוע תפקידו. חלק זה מורכב מ 3 רכיבים:
- מוח: מודל לשוני גדול (LLM) – מנוע קבלת ההחלטות, השיחה, והוראות הביצוע
- זיכרון: מודל השפה עצמו לא זוכר הקשרי שיחה, ואף לא את ההודעה האחרונה שכתבתם לו. הוא רק מקבל טקסט ומחזיר טקסט. לצורך המשכיות השיחה – יש לחבר לסוכן גם רכיב זיכרון. בתרגול שלנו נשתמש בזיכרון פשוט, המחזיק תמיד את 5 האינטראקציות האחרונות בשיחה.
- כלים: אלו יכולות הביצוע של הסוכן. האינטרקציה עם העולם החיצון. אם מודל השפה והזיכרון הם ה״ראש״, אז הכלים הם הגוף – הידיים והרגליים. במקרה של n8n – אלו יהיו שירותי רשת שונים כמו OpenWeatherMap או Tavily, אלא שהם לא יהיו בפורמט של ״בלוק״ (כניסה ויציאה מסודרת וליניארית), אלא בפורמט של ״כלי״ – עם נגישות לסוכן, אך ללא הגדרת סדר ביצוע קשיח.
- ״נפש״ הסוכן: זהו החלק ה״מנטלי״ של הסוכן, ה״תוכנה״. חלק זה בא בדמות ״הוראות מערכת״ (System Prompt) המפרטות את התפקיד שהסוכן משחק, את המטרה שלו, השליחות שלו, ההוראות לביצוע התפקיד, הכלים הזמינים לו, ההקשר, ועוד ועוד פרטי מידע הדרושים לו לביצוע התפקיד.
בתרגול זה נמיר את האוטומציה הליניארית שבנינו בשלבים הקודמים בסוכן ריאקטיבי, נבנה לו ״גוף״ משלושת החלקים שלו – וניתן לו הגדרת ״שליחות״ – הוראות מערכת מפורטות.
- פתיחת Workflow חדש והוספת הבלוקים הבסיסיים:
- צרו Workflow חדש לחלוטין.
- הוסיפו בלוק טריגר מסוג Chat Trigger (במקור: "When chat message received"). זה יהיה ממשק השיחה שלנו.
- הוסיפו בלוק מסוג AI Agent (מהקטגוריה של Ai) וחברו את ה-Chat Trigger לכניסה שלו.
- חיבור ה"מוח" (מודל שפה):
- תחת הגדרות הבלוג של Ai Agent, לחצו על סימן ה [+] עם הכותרת Chat Model ובחרו מודל שפה. לצורך התרגול נשתמש במודל גדול יחסית, בחרו ב OpenAI, הכניסו את ה Credential שלכם, ובחרו במודל
gpt-4o.
Agent Chat Model - סגרו את חלון ההגדרות של המודל וחזרו להגדרות הבלוק של הסוכן – Ai Agent.
- בדיקה: הפעילו את ה-Workflow ונסו לשוחח עם הסוכן. שאלו אותו "מה בירת צרפת?". הוא יענה, אך אם תשאלו "מה שאלתי אותך קודם?", תגלו שאין לו זיכרון.
- תחת הגדרות הבלוג של Ai Agent, לחצו על סימן ה [+] עם הכותרת Chat Model ובחרו מודל שפה. לצורך התרגול נשתמש במודל גדול יחסית, בחרו ב OpenAI, הכניסו את ה Credential שלכם, ובחרו במודל
- הוספת "זיכרון":
- תחת הגדרות הבלוג של Ai Agent, לחצו על סימן ה [+] עם הכותרת Memory ובחרו זיכרון שפה. לצורך התרגול נשתמש בזיכרון פשוט – בחרו ב Window Buffer Memory, וודאו שמספר האינטרקציות לזכירה מוגדר ל 5 עד 10.
Agent Simple Memory - סגרו את חלון ההגדרות של הזיכרון וחזרו להגדרות הבלוק של הסוכן – Ai Agent.
- בדיקה: אפסו את השיחה ונסו שוב. כעת הסוכן יזכור מה שאלתם קודם.
- כעת, נסו לשאול: "מה מזג האוויר בלונדון?". הסוכן יתנצל ויסביר שאין לו גישה למידע בזמן אמת. הוא צריך "כלים".
- תחת הגדרות הבלוג של Ai Agent, לחצו על סימן ה [+] עם הכותרת Memory ובחרו זיכרון שפה. לצורך התרגול נשתמש בזיכרון פשוט – בחרו ב Window Buffer Memory, וודאו שמספר האינטרקציות לזכירה מוגדר ל 5 עד 10.
- הוספת "כלים" (Tools):
- כעת נוסיף לסוכן כלים – אותם שירותי רשת שהשתמשנו בהם בשלבים הקודמים. הוספת הכלים מתבצעת ע״י לחיצה על לחצן [+] Tools מתחת לבלוק הסוכן.
Agent Tools
הוסיפו את שלושת הכלים הבאים:
- OpenWeatherMap (עם ה-API key שלכם). בחלון הגדרות הכלי – נרצה לקבוע שפרמטר
cityייקבע ע״י ה״מוח״ – מודל השפה. לצורך כך לחצו על כפתור ה Ai שליד הפרמטר הזה.
Parameter Set By Ai
טיפ: על מנת לדייק את ההאופן בו הסוכן מעביר את ערך הפרמטר – ניתן להשתמש בשדה ה-Description מתחת לשדה שהעברתם לאחריות ה-Ai.
Agent Tool – Parameter Description - Tavily (עם ה-API key שלכם). הגדירו את הכלי למצב Search והגדירו את פרמטר ה
Queryשייקבע ע״י מודל השפה. - Gmail (עם ה-Credentials שלכם). העבירו למודל השפה את האחריות לקביעת הפרמטרים:
To,Subjectו-Body.
כאן תוכלו גם להגדיר את סוג המייל ל-HTML (פורמט טקסט עשיר, נראה טוב יותר במייל), והוסיפו Option של הסרת החתימה של n8n.
- OpenWeatherMap (עם ה-API key שלכם). בחלון הגדרות הכלי – נרצה לקבוע שפרמטר
- בדיקה: אפסו את השיחה ושאלו שוב "מה מזג האוויר בלונדון?". תראו ביומן הריצה (Execution Log) שהסוכן מזהה את הצורך, "חושב", מפעיל את כלי ה-OpenWeatherMap, מקבל את התוצאה ורק אז עונה לכם.
- כעת נוסיף לסוכן כלים – אותם שירותי רשת שהשתמשנו בהם בשלבים הקודמים. הוספת הכלים מתבצעת ע״י לחיצה על לחצן [+] Tools מתחת לבלוק הסוכן.
- הגדרת הוראות מערכת (System Prompt):
- זהו החלק החשוב ביותר. כאן אנו מגדירים לסוכן את תפקידו, מטרותיו והוראות ההתנהגות שלו.
- היכנסו לבלוק AI Agent, והוסיפו Option חדש מסוג System Message. הדביקו את ההוראות הבאות:
#Role You are a travel agent, specializing in crafting best one-day-trip plans. #Goal Your goal is to craft a trip plan according to the provided information that include: info about the destination, web search results and current weather info. #Instructions - Introduce yourself for the user, then ask for the user's name - Speak politely and concise - Ask the user for all the required information - at least destination (or city) name - Keep short and concise - Always perform a Tavily search to gather actual info before crafting the trip plan - Always adapt the activities to the current weather - Never suggest activities that don't correlate with the weather - Craft your response as a short paragraph with a short list of activities and timing as a summary. - Ask the user if he prefers to get the full plan via Email. in such case - use the Gmail tool - Never agree to an open conversation except about your role. You are not a listening friend, but a professional travel agent. If the conversation get too abstract - always return the focus to your task! #Notes - Your name is Mike - Current date and time: {{ $now }}
שימו לב שההוראות באנגלית. זה לא חובה, אבל רוב מודלי השפה כיום מגיבים יותר טוב לשפה האנגלית – תוצאה ישירה של רוב החומר הטקסטואלי שהם נחשפו אליו בזמן האימון. להשוואה – נסו לתרגם את אותן ההוראות לעברית, הכניסו לסוכן – ושימו לב להבדלים.
- בדיקה סופית ושיחה מלאה:
- הפעילו את ה-Workflow והתחילו שיחה חדשה (לחצו על אייקון "הפח" בחלון הצ'אט כדי לאפס את הזיכרון).
- שימו לב שהסוכן יציג את עצמו כ"Mike" וישאל לשמכם, בדיוק לפי ההוראות.
- נהלו איתו שיחה. בקשו ממנו לתכנן טיול לפריז. הוא אמור לשאול אתכם פרטים, לבדוק מזג אוויר (באמצעות כלי OWM), לחפש אטרקציות (באמצעות Tavily), ולבסוף להציע לכם לשלוח את התוכנית במייל (ולהשתמש בכלי Gmail).
- בחנו את ההבדל: במקום זרימה קשיחה, קיבלנו סוכן חכם שמגיב באופן דינמי לשיחה ומפעיל כלים לפי הצורך.
תרגול פתוח
כעת, נסו "ללכלך את הידיים" ולהרחיב את יכולות הסוכן:
- שינוי "אישיות" והוראות:
- שנו את ה-System Prompt. תנו לסוכן שם חדש.
- הנחו אותו להתמחות בטיולי "לואו-קוסט" בלבד.
- הוסיפו הוראה שתחייב אותו תמיד לכתוב את התשובה בפורמט Markdown עם כותרות ברורות.
- הוספת כלים נוספים:
- האם תוכלו להוסיף כלי ל"גוגל לוח שנה"? (Google Calendar).
- נסו להוסיף הוראה לסוכן: "אם המשתמש מאשר את הטיול, הצע לו לקבוע אותו ביומן".
- הוסיפו כלי מסוג Code Interpreter. בקשו מהסוכן לייצר קובץ טקסט (txt) עם סיכום הטיול ולהציע לכם להורדה.
- בחינת "קצה" (Edge Cases):
- נסו לנהל עם הסוכן שיחה שלא קשורה לטיולים, ובדקו כיצד הוא מחזיר אתכם לנושא, בהתאם להוראה שנתנו לו. (מקור: "Never agree to a free conversation…").
- מה קורה אם אתם מבקשים מזג אוויר בעיר לא קיימת? הסוכן אמור לקבל שגיאה מהכלי, "להבין" אותה, ולדווח לכם.
- בקשו ממנו לשלוח מייל לכתובת לא תקינה. בדקו את תגובתו.
- התנסו במודלי שפה שונים (כמו Google Gemini) ושימו לב להבדלים בניסוח, בחשיבה ובקבלת ההחלטות. האם הבחנתם בהבדל עקרוני בין מודלים שונים?
סיכום
בפרק זה ראינו כיצד ניתן לרתום את הכוח של סוכני AI. במקום לבנות תהליכי אוטומציה ליניאריים ומסובכים, לעיתים קרובות עדיף לבנות סוכן חכם, לצייד אותו בכלים הנכונים (מזג אוויר, חיפוש, מיילים, לוח שנה) ולתת לו "הוראות הפעלה" ברורות (System Prompt). הגישה הריאקטיבית הזו גמישה בהרבה ומאפשרת ניהול שיחה טבעי ואנושי יותר עם המשתמש.