K a m e d i a

Loading Website

תורת הגרפים, המסע ליישום מוח שני מבוסס AI

Amit-ProfilePic.jpg
עמית קמה
2026-05-30 00:00:00
תורת הגרפים, המסע ליישום מוח שני מבוסס AI

גרפים בעידן הבינה המלאכותית?

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

Image

הפוסט של קרפטי ברשת X

https://x.com/karpathy/status/2039805659525644595

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

https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f


בפוסט שלו קרפטי מתאר שימוש ב־LLMs לבניית בסיסי ידע אישיים במקום להשתמש בהם בעיקר לכתיבת קוד. הרעיון הוא איסוף מקורות גולמיים כמו מאמרים, מסמכים, דאטה ותמונות, כשמודל השפה (AI) יהפוך אותם לוויקי מבוסס Markdown עם סיכומים, מושגים, קישורים ואינדקסים.

הרעיון הוא שאת מאגר המידע ה AI יתחזק באופן שוטף ויאפשר מעונה על שאלות מורכבות, יצירת קבצים, מצגות וויזואליזציות. זו תיהיה מערכת חיה שצוברת ידע, מעדכנת אותו, מנקה חוסרים ומזהה קשרים חדשים. הרעיון של אנדריי קרפטי זכה לגרסאות מימוש רבות תחת הכותרת Second Brain או כפי שקראנו לו לפי עידן ה AI מערכת ניהול ידע אישית - personal knowledge management (PKM).

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

תורת הגרפים

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

גרף הוא למעשה דרך לייצג נושאים ואת הקשרים ביניהם. אפשר לחשוב על הגרף כמו מפה של קשרים. במפה כזו יש נקודות ויש קווים שמחברים בין הנקודות. הנקודות נקראות צמתים. באנגלית הן נקראות Nodes או Vertices. הקווים שמחברים ביניהן נקראים קשתות או קשרים, באנגלית Edges או Links.

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

צמתים וקשרים - שני הרכיבים שהופכים את המידע לבעל משמעות

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

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

הקשרים לא פחות חשובים מפיסות המידע

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

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

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

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

גרף פשוט (Simple Graph)

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

גרף מרובה קשרים (Multigraph)

Image
בגרף מכוון, לכל קשר יש כיוון. כלומר, הקשר יוצא מצומת אחת ומגיע לצומת אחרת. זה שימושי במצבים שבהם הקשר אינו בהכרח הדדי.

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

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

גרף משוקלל (Weighted Graph)

Image

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

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

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

גרף שלם (Complete Graph)

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

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

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

גרף עץ (Tree)

Image

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

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


גרף יער (Forest)

Image

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

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

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

יש כמובן סוגים נוספים של גרפים אבל אלו המרכזיים שרצוי להכיר.

איך גרפים עוזרים להבין מערכות מורכבות?

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

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

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

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

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

לסיכום

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