חיפוש עבודה בעזרת סוכנים חכמים – חלק 4

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

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

לצורך טעינת קבצי המשרות, נכין כלי עבודה (Tools) שהסוכן יוכל להפעיל כדי לבצע את משימותיו.

וזה הסוכן החדש שלנו:

שקיבל משימה אחת ויחידה – לטעון את הקבצים ולהחזיר אותם בפורמט מובנה של רשימת משרות:

וכמובן הצוות שלנו כולל כרגע רק את הסוכן הבודד הזה:

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

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

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

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

תמונת השער יוצרה באמצעות AI באתר tensor.art

חיפוש עבודה בעזרת סוכנים חכמים – חלק 2

בחלק הקודם הכנו את אוסף המשרות ואת קורות החיים לעבודתם של הסוכנים.

בחלק הזה נגייס את הסוכן הראשון לצוות שלנו – סוכן החיפוש. נשתמש בספריית CrewAI לצורך כך.

יצירת הסוכן + בדיקה התחלתית פשטנית

מבנה הקבצים לחלק הזה הינו:

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

אלו הגדרות הסוכן והמשימה:

וזה מה שנריץ:

ואלו התוצאות. הפרומפט שביקשנו בהרצה היה Cloud Architect:

זה עובד, בערך…

יש כמה בעיות שניתן לציין ביישום הזה:

  1. הקוד רץ על קובץ משרות לדוגמה שכלל מספר קטן של משרות שחוברו לקובץ json יחיד. אנחנו רוצים לעבור על כל המשרות שכל אחת מהן נמצאת בקובץ משלה.
  2. הפרומפט שבחרנו נבחר כך שיניב תוצאות לעבודת הסוכן. פרומפטים אחרים או מורכבים יותר לא מצאו תוצאות בחיפוש.
  3. אם נסתכל על הלוגים של ollama נבחין באזהרה מטרידה:

זה עשוי לרמז על בעייה בהפעלת ה-LLM שכן יתכן והפרומפט שלנו לא יובן במלואו.

שימוש בכל המשרות

נסיון אפשרי לפתור את הבעיות הנ"ל יהיה לאחד את כל המשרות שלנו לקובץ אחד, ולהשתמש בו. זה רק מחריף את בעיית כמות הטוקנים בפרומפט:

ןהפרומפט "Cloud Architect" שמצא משרות בקובץ הבדיקה, לא מחזיר תוצאות רלוונטיות – אלא משרות מפתח iOS. ??? כנראה שהסוכן לא נחשף לכל המשרות, בגלל הבעייה הנ"ל.

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

תמונת השער יוצרה באמצעות AI באתר tensor.art

חיפוש עבודה בעזרת סוכנים חכמים – חלק 1

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

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

המטרה היא ליצור סוכני AI שישתמשו במודלי שפה גדולים (LLM) בכדי למצוא לי משרה שתואמת להגדרות שהם קיבלו.

קצירת משרות

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

לצורך כך נעזרתי בספריה המופלאה: linkedin-jobs-scraper

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

זה הקוד ששימש לאיסוף המשרות:

קיבלתי אוסף של קבצי json, אחד לכל משרה, במבנה הכללי הזה:

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

הכנת קורות החיים

לצורך ההמשך לקחתי את קורות החיים שלי, שהיו בפורמט וורד, וביקשתי מצ'ט גי.פי.טי. להמיר לי אותם לקובץ MD (מרקדאון).

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

תמונת השער יוצרה באמצעות AI באתר tensor.art

המעבר מסתם מודלים שפתיים לסוכני AI: המהפכה החדשה בטכנולוגיה

מהפכת ה-LLMs והמעבר לסוכני AI

לאחרונה, טכנולוגיות ה-AI התקדמו בקצב מהיר, והחיים היומיומיים שלנו מושפעים יותר ויותר מהאינטראקציות עם AI. בעוד שהמודלים השפתיים הגדולים (LLMs) כמו ChatGPT, Gemini Pro ו-Claude Sonnet כבר חוללו מהפכה בתחום הטכנולוגיה, הסוכנים החדשים לוקחים את היכולות הללו לרמה חדשה ומרגשת.

מהם סוכני AI?

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

שילוב עוצמתי

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

איך זה עובד?

ה-LLMs החדשים, כמו GPT-4, מצוידים בטכנולוגיות מתקדמות ביותר, המסוגלות לעבד כמויות גדולות של מידע ולהבין ניואנסים של שפה אנושית בצורה מרשימה. הסוכנים, לעומת זאת, פועלים כמעין עוזרים חכמים, המסוגלים לנהל זיכרון עבודה ולבצע פעולות מתמשכות, כמו חיפוש מידע, ניתוח נתונים ושימוש בתוכנות אחרות.

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

התפתחות מתמדת

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

מהפכה דיגיטלית

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

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

התמונות יוצרו באמצעות leonardo.ai

נכתב ע"י מירון אופיר, ארכיטקט בכיר בחברת הפינטק "פרוקסימיטי"

הדעות המובעות במאמר זה משקפות את דעותיו האישיות של הכותב בלבד