פרק מספר 488 של רברס עם פלטפורמה, שהוקלט ב-7 בינואר 2025 - פרק ראשון לשנת 2025, בתקווה שתיהיה שנת בשוורת טובות. אורי ורן מארחים באולפן בכרכור את גיא גרינאפל מחברת Pillar Security כדי לדבר על LLM ו-Security. 🎗️
00:54 גיא ו-Pillar
- (גיא) אז קודם כל - כיף להיות פה. אז אני גיא גרינאפל, בן 34 מתל אביב.
- אני בגדול “משוטט לי בתעשייה” בערך 12 שנה, אחרי שהשתחרתי מ-8200.
- אני בעולם התוכנה בערך 8-9 שנים - הייתי ב-LivePerson, אחרי זה הייתי ב-AppsFlyer.
- כמעט שבע שנים, תפקידי פיתוח וניהול-פיתוח שונים.
- במהותי ובעברי אני מהנדס Backend, מתעסק המון ב-High Scale, High Throughput Low Latency Systems.
- ובשנה האחרונה פחות או יותר אני מוביל את הפיתוח בסטארטאפ קטן ונהדר בשם Pillar Security.
- ו-Pillar זו בעצם חברת Early Stage, מתעסקת בעולמות ה-AI security, LLM security,
- קמה לפני כשנה וחצי, גייסנו באזור ה-2 מיליון דולר Pre-Seed מקרנות מעולות.
- ובעצם מה שאנחנו עושים זה אנחנו מאפשרים לחברות לאמץ, להטמיע פתרונות AI, בצורה שהיא safe, secure, private וכו’.
- בעצם, מה שאנחנו מאפשרים לעשות זה - בפלטפורמה אחת - לגשת, החל משלב ה-Discovery, למצוא את כל הפרויקטים שמשתמשים ב-AI, במודלים, ב-LLM, בארגון.
- על הדבר הזה, לעשות איזושהי אבאלואציה (Evaluation) על השימוש ב-LLM - איך משתמשים, System Prompts, Meta-Prompts - כל דבר שיכול כבר לייצר Risk כבר בשלב הזה.
- ואיך זה מתחבר לתוך האפליקציה.
- יש לנו פתרונות של בעצם Runtime Detection & Response - כלומר, סוג של אפשר להגיד Guardrails ב-Runtime, שמגינים על האפליקציה.
- נדבר על זה גם מן הסתם בהמשך, על הצורך בדבר הזה.
- ומתעסקים גם ב-Automated Red Teaming - בעצם, לקחת את האפליקציה שהמפתחים, שהלקוחות שלנו בונים, ולעשות לאיזשהו תהליך של אבאלואציה (Evaluation).
- להבין איפה היא חשופה, למה היא Susceptible, איזה סוג של מתקפות.
- והדבר הזה בסוף מתחבר לאיזה-שהם Guardrails, שגם יודעים ללמוד את האפליקציה וכו', ולהתאים את עצמם.
- אז זה כזה איזשהו פתרון מקיף שאנחנו מתעסקים בו.
(אורי) ספציפית בשימושים במודלים של AI נכון? כאילו . . .
- (גיא) אתה מתכוון ספציפית ב-LLM?
(אורי) כן . . . זאת אומרת, אתה אומר “אנחנו מריצים Red-Team וכו' לאפליקציה”, אבל כאילו . . . .
(רן) זה לא “Security גנרי“, זה פוקוס . . .
- (גיא) אתה צודק, אני אחדד - Red Teaming, נכון . . . תכל’ס, המאזינים שלנו הם מפתחים, הם אנשי Data Science, זה פחות אנשי Security.
- אני גם, אגב, לא מגיע מעולם ה-Security, ואני אגיד ש-Red Teaming זה מונח מאוד מוכר בעולם ה-Security.
- הוא מדבר על ניסיון בעצם לדמות “צבא אוייב” או לדמות תוקף . . .
- (אורי) מה שקוראים “White Hat” . . .
- (גיא) בדיוק, להגיד “אני רוצה לפרוץ לאפליקציה בכל דרך אפשרית”.
- והרעיון של Red Teaming הרבה פעמים הגיע מתוך Professional Services.
- כלומר, אנשים שזה העיסוק שלהם, זה התחום שלהם - ובסוף זה Services.
- אנחנו לוקחים זה למקום של Automated Red Teaming. כלומר, לייצר ממש מוצר SaaS-י, לצורך העניין, שיודע לבצע ניסיונות תקיפה ושבירה.
- נדבר גם אחרי זה בעצם על סוגי המתקפות השונים.
- אבל מול אפליקציות מבוססות LLM - שם אנחנו כרגע מתמקדים.
(רן) כן, זאת אומרת לא Port-Scanning או דברים בסגנון - ספציפית ל-LLM-ים.
- (גיא) נכון.
04:38 מי מפחד מ-LLM ולמה שסבתא תרצה לעשות Prompt Injection
בואו לנסה ככה להבין, פחות או יותר, מה עם וקטורי-התקיפה או איזה סיכונים הוא צריך להכיר, לפני שהוא מתחיל . . .
(אורי) LLM זה לא להשתמש במודל, נכון? זה ה . . . .
- (גיא) האמת שלא הכרתי . . . . אנחנו ניקח את זה אלינו - יש לנו קיר-ציטוטים כאלה משעשעים, אז נכניס . . .
(אורי) אני רק מבקש רפרנס . . . .
- (גיא) אבל גם יש שם “אסור בדיחות אבא אחרי שש בערב” , אז צריך לראות שנייה איך זה מתכתב [בר-זיק?].
(אורי) הבנתי, אני אתבייש לי פה בצד . . . .
- (גיא) אז בסדר, בואו נתחיל באמת לדבר קצת על עולם הבעיה, וקצת על מה הסיכונים.
- אני חושב שהכי נכון להתחיל מהמונח, הטרמינולוגיה שנזרקת לאוויר מדי יום ביומו - “Prompt Injection”, נכון?
(אורי) מדי יום ביומו - בדיוק היום שמעתי על זה . . .
- (גיא) קראת את רן בר-זיק?
(אורי) לא . . .
- (גיא) סבבה. נדבר על רן בר-זיק, כי הוא גם אוהב לדבר על Prompt Injection-ים, עשה איזה טריק נחמד . . . טוב, נספר על זה אחרי זה.
- אבל בכל מקרה, לענייננו - המונח שהכי הרבה מדברים עליו זה בעצם Prompt Injection.
- זה מונח שהוא לקוח מעולמות ה - מה שהיה בעבר - SQL Injection: הקונספט של לנסות . . .
- (רן) כולנו מכירים את Little Bobby Tables, נכון?
- (גיא) אני לא מכיר . . .
- (רן) שהמורה מתקשרת לאימא ואומרת “בגלל הבן שלך, כל טבלת הציונים נמחקה!”, אז היא אומרת לה “מה? איך הוא עושה דבר כזה?”, אז הוא כתב “Bobby'); Drop Table Students; --” . . . והיא עונה “אה, כן, We call him Little Bobby Tables” . . ..
- (גיא) לא הכרתי את זה . . . אוקיי, אז Prompt Injection . . .
- (רן). . . SQL Injection, רק להזכיר למי שלא מכיר, זה איזושהי דרך להחדיר תוכן Malicious לתוך SQL, ומי שלא מסנן את אותו תוכן, יכול בטעות גם להריץ את זה מול ה-Database שלו ולשנות Data, למחוק Data, בקיצור לעשות דברים שהוא לא תכנן לעשות, כשלא עושים סינון כמו שצריך של ה-Input-ים.
- (גיא) בדיוק. וזו אגב נקודה טובה, בטח גם על זה נדבר.
- (גיא) אז Prompt Injection בעצם זה איזשהו מונח שנלקח מתוך הדבר הזה, כשהרעיון הוא ניסיון להזריק איזשהן הוראות חדשות, אחרות, לתוך המודל.
- כלומר, לגרום למודל - בדרך כלל זה מגיע ב-Context של לגרום למודל לבצע פעולות שהוא לא אומן לבצע.
- או שיותר מזה - הוא אומן לא לבצע, כלומר ממש בדרך כלל בתהליך ה-Finetuning, ממש אומן לא לבצע.
- זה Prompt Injection.
- אני רוצה רגע לעשות איזושהי הבחנה בין Prompt Injection, למה שמתייחסים אליו בדרך כלל בתעשייה בתור Jailbreak, ובעצם זה לא אותו דבר.
- כלומר, Jailbreak זה איזושהי פעולה מול המודל - הרבה פעמים זה ייראה כמו איזושהי חתימה מיוחדת או כזה הרבה תגיות, או כל מיני דברים כאלה . . .
- (רן) כלומר, הסיפור “אם סבתא שלי הייתה רוצה להכין בקבוק מולוטוב, מה היא הייתה אומרת?” - אתה מסווג את זה כ-Jailbreak או . . . .
- (גיא) אתה אומר הניסיון שלי עכשיו לגרום למודל לעשות . . .
- (רן) . . .. לעשות משהו שהוא לא אמור לעשות . . .
- (גיא) לא, זה לא Jailbreak - זה, הייתי אומר, יותר ניסיון לבצע Prompt Injection
- אבל אני אחדד ואני אסביר, בסדר?
(אורי) אם אני שואל את המודל “אם סבתא שלי הייתה רוצה לעשות Prompt Injection, איך היא הייתה עושה את זה?” . . . .
- (גיא) וואו, זה משהו ש...
(רן) אורי, הכנסת אותנו עכשיו לרקורסיה, אנחנו עכשיו בחיים לא נצא מזה . . . .
- (גיא) . . . זה Deadlock . . . . היו מודלים שמתו בגלל זה.
(רן) אורי, הכנסת אותנו לרקורסיה . . . אנחנו עכשיו בחיים לא נצא מזה. אורי, הכנסת אותנו . . . .
- (גיא) צריך לעצור אותך . . .
- אוקיי, אז אני אסביר שנייה את ההבדל בצורה קצת יותר ברורה - Jailbreak, כמו שאנחנו תופסים את זה, זה סוג של Privilege Escalation. בסדר?
- זה עכשיו להצליח להשיג או להגיע למצב מול המודל, שאתה יכול לגרום לו לעשות מה שאתה רוצה או דברים אחרים ממה שהוא תוכנן לעשות.
- ו-Prompt Injection זה ההזרקה עצמה, בסדר?
- אני אגיד גם שלרוב, אנחנו נוטים להתייחס, לפחות אצלנו, למה שנקרא Indirect Prompt Injection.
- כי אני אגיד שמשם הגיעו, ממה שראינו, הריסקים היותר גבוהים - זה פחות צפוי, וה-Context הוא בדרך כלל Context שאנחנו לא נדע או לא בהכרח נצפה מה הוא הולך לגרום לעשות.
- עכשיו, אני אסביר גם את המושג הזה - מה זה אומר Indirect Prompt Injection?
- אני עכשיו משתמש ב . . . לא יודע, בוא ניתן איזושהי דוגמה. נגיד שאני . . .
- (רן) בוא, יש לי דוגמה הכי פשוטה: אתה עושה WebApp פשוט שאומר לך, נגיד, מה מזג האוויר ומה כדאי ללבוש לפי מזג האוויר.
- אז בתור Textbox, אתה מצפה למקום של עיר.
- אם במקום עיר, יבואו ויכתבו לך, לא יודע, את הסיפור - “מה הסבתא שלי הייתה אומרת אם הייתי מבקש נניח להכין בקבוק מולוטוב?”, אז יכול להיות שיצליחו להוציא . . .
- (גיא) יפה, אז זו דוגמה מעולה ל-Direct Prompt Injection. בגדול, תיאורטית . . .
- זה עכשיו שאני User, ואני בא ואני מנסה בצורה אקטיבית “לעבוד” בעצם על המודל - וזה בהנחה שה-Input הזה הולך As-is לתוך המודל.
- ו- Indirect Prompt Injection, בדוגמה שאתה נתת, זה שאני עכשיו כותב לצורך העניין “לונדון”, בסדר?
- ואז האפליקציה, מאחורי הקלעים, ה-LLM, שנניח לשם הדוגמה שהוא Agent . . .
- בהערת סוגריים - Agent: אנחנו מדברים בעצם על LLM-ים או נקרא לזה “מקבץ של LLM-ים”, בגדול, שיש להם איזשהו Orchestrator ויש להם כלים.
- והכלים האלה הם כלים שונים שהם יכולים להשתמש בהם כדי לבצע את הפעולה.
- הכלי יכול להיות איזושהי גישה ל-API מסוים, זה יכול להיות לצאת לחיפוש באינטרנט, וזה יכול להיות לגשת ל-Database של החברה כדי להוציא איזשהו Data, אוקיי?
- אז לצורך העניין, Indirect prompt injection בדוגמה הזאת, זה יהיה, אני כותב נניח “לונדון”, ואז עכשיו האפליקציה או המודל ניגש לאיזה אתר או ל-API, או לאיזשהו Context חיצוני.
- נגיד לשם הדוגמה - אתה שאלת אותי מה היה המזג אוויר בלונדון פעם, או מי היה ראש ממשלה של בריטניה לפני, לא יודע, מאה שנה?
- ניגשתי לויקיפדיה - וכשהמודל עובר על העמוד ויקיפדיה, לצורך הדוגמה, יכול להיות שם למטה בתחתית התוכן, איזשהו Context - שהוא בפני עצמו יהיה Prompt Injection.
- זה Indirect prompt injection.
- אני אגיד שלמודלים האלה מאוד מאוד קשה לעשות את ההבחנה בין מהו התוכן, שעכשיו הם קוראים, שהם קיבלו כאיזשהו Input - לבין הוראות חדשות שהם מקבלים ושהם צריכים לבצע.
- וזה בעצם הבסיס, כאילו, לכל ה-Risk-ים האלה.
(רן) זאת אומרת, בזמן שב-SQL, אולי יש לך את יכולת לבוא ולהגדיר “הנה, זאת שאילתה, ויש לה פרמטרים, והפרמטר צריך להיות או Integer או String” . . . אבל זאת אומרת, ברור מה זה, אוקיי? אתה לא יכול להכניס שם -- Drop Tables בתור פרמטר . . . . ב-LLM, זה הכל טקסט, ואין הבדל בין טקסט לטקסט, ואתה יכול בתוך הטקסט לעשות מה שאתה רוצה . . . .
- (גיא) והוא ממש טוב בלעשות אינטרפטציה (Interpret) לטקסט.
- כאילו, הוא “מבין” . . . המודלים האלה, הם מבינים המון המון המון סוגים של Input-ים.
- וזה חלק מהמשחק פה, וחלק ממה שמייצר את הריסקים.
- כי בסופו של דבר, אני יכול עכשיו להכניס Input למודל, שהוא, נגיד, בוא נדבר על הסיפור, על “הסבתא שרצתה להכין מולוטוב” [סיפור ילדים האהוב, עכשיו בגרסת אודיו?]
- אז כאילו לכאורה, נורא קל להגיד “רגע, שנייה, אתה מנסה לעבוד עליי!”
- אבל עכשיו בוא נעשה לזה Encoding ל-Base 64. ועכשיו, לא יודע, נוסיף על זה עוד איזה “מטבל כזה ומטבל אחר”, ונשים עוד Evasion Techniques ועוד Obfuscation ודברים.
- ופתאום, זה כבר פחות קל.
- ואנחנו רואים, וגם יוצאים אז המון מחקרים, שככל שאנחנו הולכים למקומות האלה של ה-Evasion Techniques והאובפסקציה (Obfuscation), המודלים פחות טובים בלהתגונן.
- ולכן אני אגיד - הטכנולוגיה הזאת, במהותה, היא פשוט . . . היא Prone לדברים האלה.
- זאת אומרת, יש פה נטייה, יש פה איזושהי פגיעות - שהיא מובנית בתוך הטכנולוגיה.
(רן) כן, זאת אומרת - מצד אחד, הטכנולוגיה Enabler - אתה יכול לעשות דברים מדהימים, אתה יכול לייצר הרבה מאוד Value. אבל יחד עם זה גם מגיע סיכון גדול. With great power comes great responsibility, אמר ספיידרמן.
- (גיא) נכון. דוד של ספיידרמן. דוד בן.
(רן) אז זה היה הדוד? אוקיי, אני אתקן מעכשיו את קיר הציטוטים שלי . . . .
- (גיא) מעולה . . .
13:06 איזה Guardrails יכולים לעזור ואיך להגיע לסלובניה
(רן) כן, אוקיי - אז דיברנו על כמה דברים. דרך אגב, הזכרת עוד מושג מקודם, שנקרא Guardrails, שתכף נגיע אליו. דיברנו על Prompt Injection ישיר - זאת אומרת, נגיד, המשתמש הוא Malicious, ומנסה לעשות משהו, ויחסית אולי קל לסנן את זה. דיברת על Indirect Prompt Injection, כלומר, נגיד, התוכן או ה-Database או אתר שממנו אתה מנסה למשוך את התגבור ל-Prompt שלך, מכיל תוכן שהוא בעצמו Malicious, ואולי לא ה-Data. זאת אומרת, גם אם הנחת שהמשתמש הוא Malicious, אתה כנראה תניח שה-Database בסדר - אבל גם את זה כבר אי אפשר להניח, או שויקיפידיה בסדר, אבל גם את זה כבר אי אפשר להניח.
ואז, מקודם, הזכרת את המושג של Guardrails.
אז איזה Guardrails. למשל, קיימים בעולם הזה? נגיד, איזה ספציפים יכולים לעזור מול שתי התקפות כאלה?
- (גיא) כן. אז שנייה לפני שאנחנו מדברים על Guardrails, אני רוצה רגע לתת איזשהו Framing לריסקים (Risks).
- כי דיברנו על מה היכולת - כאילו, מבחינת נקרא לזה “התקיפה של המודל”, הניסיון לעקוף אותו.
- אבל בסוף, כשאנחנו מדברים על הריסק - אם אני פשוט מצליח לעקוף את מנגנון ההגנה של המודל, זה נחמד, אבל זה עדיין לא משהו שהוא בהכרח מעניין, זה עדיין לא בהכרח מאיים על חברות.
- כאילו, למה שמישהו ישלם, אם לא יודע מה - המודל שלי עכשיו או האפליקציה שלי, כתבה לי הייקו, או נתנה לי מתכון למולוטוב? זה לא בהכרח מה שאתה חושש ממנו . . .
- ואני חושב שמה שמעניין לדבר עליו, זה מה גוזר את הסיכון.
- אז אני חושב שהסיכון נגזר מכמה נקודות.
- קודם כל, מה נקרא לזה ה-Attack Surface - או בעצם, מה ה-Input שיכול להגיע למודל?
- זאת אומרת, האם ה-Input הוא trusted? האם זה מגיע מ-User שאני יודע שהוא לקוח שלי, למשל.
- זאת אומרת, יש לפעמים מוצרים שהם מבוססי-LLM, שהם בתוך פלטפורמות ארגוניות ודברים כאלה.
- אני יודע נגיד ש-AppsFlyer התחילה לעבוד הדברים כאלה ממש, קצת לפני שעזבתי, והרבה חברות עושות את זה.
- במקרה כזה, אתה יכול להניח שהלקוח הוא לא Malicious, אז זה נגיד לא משהו שאולי צריך לדאוג ממנו.
- במקרה אחר, אם אני עכשיו איזשהו Chatbot כזה, של Support של חברה, שכל אחד עכשיו, כל אדם, יכול להיכנס ולכתוב,
- אז אולי משם יגיע User שהוא Malicious, וזה מגדיר את המשטח-התקיפה.
- הנקודה הנוספת מהצד השני זה מה הנגישות שיש ל-LLM.
- זאת אומרת, לאיזה Resource-ים, לאיזה Asset-ים הוא נגיש? הוא נגיש ל-Database רגיש, הוא נגיש לאינטרנט, איזה Tools יש לו - דברים כאלה.
- וזה בגדול אני חושב השתי נקודות שיכולות להיות רלוונטיות, ויגדירו כמה יש פה באמת ריסק.
(רן) כן, כשאמר “Tools”, אתה מתכוון ליכולת לקרוא לפונקציות או לקרוא ל-API-ים. נגיד, לא יודע - לעשות Log-out ל-User או למחוק שורה ב-Database.
- (גיא) בדיוק. אני, כשאני עכשיו . . . . בעצם, Tools זה גם, זה הולך יד ביד עם המושג של Agents.
- בעצם, הרעיון זה “אני איזושהי אפליקציית LLM”
- אני מקבל ב-Meta-Prompt שלי, אני מקבל - בעצם כשמפתח מקנפג (Configure) אותי, מגדיר אותי, את כל העבודה עם המודל - אני אומר לו “תשמע, יש לך את החמישה כלים האלה, שאתה יכול לבחור מתי להשתמש בהם”.
- אם עכשיו אתה מקבל איזשהו Input, איזשהו Prompt, אז אני מייצר לו איזשהו Description או הסבר, של מתי אני משתמש בכל כלי כזה.
- וה-LLM - הוא גם מקבל החלטה. זאת אומרת, זה חלק מאותו Agent.
- אז לפעמים אני ניגש ל-Database או מוחק או מוסיף רשומות.
- לפעמים אני יוצא לאינטרנט,
- ולפעמים אני...
(רן) ניקח את הדוגמה של “מה כדאי ללבוש, אם אני נוסע עכשיו ללונדון?” - הוא ילך ל-weather.com, שזה כלי, ילך ל-weather.com, יעשה קריאת API - זה לא בתוך ה-LLM, זה איזשהו Agent, כמו שאמרת, שיעבוד יחד עם ה-LLM. אז ילך ל-weather.com, ייקח את מזג האוויר, יחזיר את זה וישים את זה בתוך Prompt ל-LLM, ו-LLM “ילעס את זה” וייתן לך בסוף תשובה: “כדאי ללבוש מעיל ולקחת מטריה”.
- (גיא) בדיוק. והעולם הולך למקום הזה - של Agentic Systems.
- כאילו, יש על זה הרבה מאוד מחקרים, והרבה חברות הולכות לשם.
(רן) אז ללכת ל-weather.com - אוקיי, לא מזיק. אבל אם זה ללכת ל-Database ארגוני? אם זה לקרוא רשומות HR? אם זה לגשת לבנק? אז שם כבר יכול להיות נזק . . .
- (גיא) נכון. אז כשאנחנו מדברים . . . אני חוזר רגע בעצם ל-Guardrails, ואיך אנחנו מגנים.
- וספציפית כרגע, אנחנו נדבר על ה...
- אני גם גיליתי את זה לפני שנה - בעולם ה-Security, אז “Run time” זה מה שאנחנו המפתחים קוראים לו “Real Time”.
- בסדר? הדברים הם אותו דבר, המונחים הם קצת שונים.
- אבל בגדול, עולם ה-Runtime Detection & Response.
- הרעיון ב-Guardrails זה בעצם לייצר או להציב איזושהי שכבה בין האפליקציה לבין המודל, גם ביציאה החוצה וגם בכניסה פנימה, כדי . . .
- זה יכול להיות לפלטר (Filter) דברים, בסדר? אם זה למשל, למנוע הדלפות של PII, PGI, כל מיני Data “רגיש”, נקרא לזה.
- יצא לנו לעבוד עם לקוחות, עם Design Partners בעולם ה-Finance, בעולם ה-Healthcare - שם זה מאוד מאוד משמעותי.
(רן) זאת אומרת שזה על ה-Output - כן, אתם מסתכל על ה-Output, ואתה בודק האם יכול לדלוף החוצה משהו . . .
- (גיא) אז בגדול, אני אגיד שזה לשני הכיוונים - יש גם את הכיוון שלה להכניס את זה, מן הסתם, למודל - אבל זה יותר על ה-Output.
- זה יותר החשש מלהדליף עכשיו PII, PGI של User אחר של החברה, של הלקוח, ל-User אחר, שזה לא ה-Data שלו, מן הסתם.
- אז אנחנו מדברים על לזהות PII, PGI,.
- אנחנו מדברים על Secrets, בסדר? זה כל מיני - כל משהו שהוא Data רגיש כמו API keys, . . . API keys, האמת זו הדוגמה הכי טובה שיש לי בהקשר של Secrets.
- אבל כל דאטה שהוא רגיש, יכול לתת גישה למערכות שונות, ל-Resource-ים רגישים וכו'.
- יש Guardrails שהם בכלל בתחום ה-Integrity וה-Safety - זאת אומרת, אני לא רוצה שהאפליקציה שלי תקלל.
- כאילו מבחינתי, אם עכשיו אני Chatbot שירות לקוחות, אני ממש לא מעוניין שלא יודע, יכתבו ללקוח שלי . . .
(רן) בוא, אני אתן לך דוגמה מהעולם האמיתי, שנתקלתי בה לא מזמן - איזשהו ניסוי שעשיתי, שלוקח על Database של נגיד ויזות של מדינות - לאיזו מדינה אני צריך ויזה ואיך אפשר להיכנס. והשאלה ששאלתי נגיד זה “האם אפשר להיכנס לסלובניה, ללא ויזה?”. תשובת-הספר היא כמובן שלא. ה-LLM ענה לי “לא - אבל אתה יכול להיכנס לפולין בלי ויזה, ואז לחצות הגבול ואף אחד ישים לב, והנה אתה בפנים” . . . .
- (גיא) וואו, זה אמיתי?
(רן) כן, כן, זה אמיתי.
- (גיא) צייצת את זה?
(רן) לא, כי זה ניסוי פנימי שעשיתי . . . אבל כן, זה מסוג ה-Guardrails שאף אחד כנראה לא חשב עליו מראש, אוקיי? זה לא PII, זה לא Curse, זה לא Hate Speech . . . . אבל עדיין לא היית רוצה שה-Chatbot שלך ייתן תשובה ככה.
- (גיא) חד משמעית.
- עכשיו, מבחינתי זה מתחבר מאוד לנושא האינטגריטי (Integrity), שאני אולי טיפה קופץ קדימה, אבל בגדול, כשאנחנו חושבים למה שמפתחים - בכלל יעניין אותם לדבר על Security, בסדר?
- כאילו, בסוף היום, יש את הדברים שהם Obvious, נכון? כולנו רוצים להטמיע AI
- זה Adapt or Die, כמו שאמרו חכמים - ו-AI נותן לנו את ה-10x ו-100x וכו'.
- הבעיה שזה מכניס איתו איזה שהם Risks, ואם עכשיו אני מפתח שלא יודע, ניגשה אלי עכשיו ה-VP R&D של הארגון, ואמרה לי “קח את הפרויקט הזה, תכניס שם LLM!” או “בואו נבנה פרויקט חדש, תכניס שם LLM, בואו נהפוך אותו ונהיה בקדמת הטכנולוגיה”.
- אני, מה שמעניין אותי עכשיו זה לבנות מוצר - שהוא עובד, שהוא עושה את מה שמצופה ממנו לעשות, שהוא עומד ב-Scale שנדרש, שהוא נותן ושהוא עונה על הדרישות המוצריות, נכון?
- עכשיו, המשחק פה, ומה שאני חושב שכן צריך לעניין מפתחים בשלב ראשון, זה אירוע האינטגריטי (Integrity).
(אורי) זה כמו שאתה מגייס עובד - אתה מגייס Black-box, נכון? אתה לא יודע אם הוא יקלל יום אחד, או . . .
(רן) דבר מניסיון, אורי - בוא נשמע . . . .
- (גיא) כן. בדיוק . . . זה קצת, זה מאוד “Black-boxed”.
- והנקודה שלי, זה שאני - בתור מפתח - אומר מה הדרך הכי טובה עבורי, להבטיח שהאפליקציה תעשה מה שהיא אמורה לעשות?
- הנקודה שלי זה שעם דברים כמו מתקפות - כמו Jailbreak, כמו Prompt Injection ועוד סוגים של מתקפות - אפשר לגרום למודלים, ואז בפרט גם לאפליקציה ולמוצר, לעשות דברים אחרים ממה שהמפתח התכוון וממה שהחברה רצתה שהמוצר יעשה.
22:15 רגישות ל-Social Engineering
(אורי) אז רגע, רגע, רגע . . . כי כבר התחלנו להקביל קצת את המודל לאדם, בסדר? אחד הדברים שבעצם . . . אולי אחת הדרכים שבסוף בסוף הכי קלות לעשות פריצת אבטחה, זה מה שנקרא Social Engineering, נכון?
- (גיא) חד-משמעית.
(אורי) אז הדרך להתמודד עם Social Engineering זה לבנות Awareness - ללמד את העובדים שלנו להיות חדים או להיות רגישים ל-Social Engineering.
אנחנו יכולים לעשות אותו דבר למודלים?
- (גיא) אוקיי, אז קודם כל - זו שאלה מעולה.
- א' - אני אוהב את ההקבלה לבנאדם. אני חושב שיש הרבה קווי דמיון, מן הסתם, וזה קצת מה שמפחיד בדבר הזה.
- אבל כמובן שרמת האינטליגנציה שם היא לא באמת קרובה לשל בני אדם.
- לשאלתך על Social Engineering, התשובה היא “כן - עד רמה מסוימת”.
- זאת אומרת, אתה מדבר על . . . במילים אחרות, מה שאתה אומר זה “האם אנחנו יכולים לגרום למודל, או לוודא או ללמד את המודל . . . “
- (אורי) . . . . לזהות Prompt Injection . . .
- (גיא) כן . . . אז אני אגיד כמה דברים: המודלים שמגיעים, ה-Foundational . . . .
- כי בעצם, החברות שעושות את ה-Foundational Models, שבונות את ה-Foundational Models
- כמו שציינתי - OpenAI, Anthropic וכו’ [לא רק - 483 Training of foundational models with Ofir Bibi Lightricks]
- בתוך תהליך הבנייה של המודל, יש גם תהליך Finetuning - בדרך כלל זה בסוף התהליך, שבו הן בעצם עושות איזשהו תהליך של “ללמד את המודל”, כמו שאתה אומר . . .
- (רן) “הקשחה” . . .
- (גיא) הקשחה, בדיוק. תודה.
- וזה יותר בעולמות באמת ה-Safety, וגם Integrity, כמו שקראתי.
- זאת אומרת, אל תייצר harmful content, בסדר? אם אני צריך לתת איזושהי כותרת.
- וזה כאילו “אל תסביר איך לבנות פצצה” ו”ואל תקלל” והרבה מאוד דוגמאות ל”להנה, אם אתה מקבל כזה Prompt, אז תסביר שאתה לא יכול לעזור עם הדבר הזה”.
- אז בגדול, יש דרכים לעשות את זה - ועדיין אני אגיד שיש דרכים גם לעקוף את זה - וזה נובע מכמה טעמים.
- זה גם נובע מהטעם שבסופו של דבר, קשה למודלים להבחין, כמו שאמרתי, בין מהו Prompt, כאילו שהוא פשוט Prompt, שהוא איזושהי “בקשה”, לבין מהו instruction, או מה הן “ההוראות”.
- אני כן אגיד ש-OpenAI גם הוציאו איזשהו מאמר, לדעתי כבר לפני כמעט שנה, שמדבר על ההיררכיות בסוגי Prompt-ים.
- בעצם, אנחנו נכנסים פה קצת לרזי העבודה עם LLM, אבל ב-LLM-ים יש בעצם סוגים של הודעות או Prompt-ים, שאפשר להכניס אליהם או לשלוח אליהם, אוקיי?
(רן) אז סבבה, הזכרת סיבה אחת - אמרת שקודם כל, it's complicated . . . זאת אומרת, גם אם אפשר להגן מפני 80% מההתקפות, עדיין ישארו 20%. אבל גם צריך להבין שיש Domain-ים של התקפות, כמו “האם אפשר להגיע לסלובניה בלי ויזה?” שוואלה - לא יעזור, אתה לא יכול לאמן את ה-LLM להימנע מתשובות על כל סוג של שאלה שיכולה להיחשב כזדונית, באיזושהי סיטואציה.
(אורי) אגב, אפשר . . .
(רן) אפשר לאמן או אפשר להיכנס לסלובניה?
(אורי) בכמה פעמים שנכנסתי לסלובניה? . . .
- (גיא) זה נכון, אבל מה שאני רק הוסיף זה שבאמת, מעבר לתהליך ההקשחה, יש לנו גם את היכולת, בעצם, לייצר או להכניס למודל, להזריק למודל, מה שנקרא System Prompt או System Instructions, בסדר?
- שזה הדרך שלנו כמפתחים, כשאנחנו מטמיעים LLM-ים, לעשות איזושהי “Init” לעבודה עם המודל, ולהכניס עוד קצת, נקרא לזה “הקשחות” או “התאמות” או . . . .
- ללמד אותו לבקש או להגיד לו “you are a helpful assistant, שמביא את המזג אוויר ואומר מה ללבוש” או “אתה עכשיו עוזר בחנות, ואתה רשאי לתת קופון עד 15% ולא יותר”, כל מיני דברים כאלה . . . .
- ומעל הדבר הזה - כי אנחנו יודעים שזה פשוט לא מספיק, כי אנחנו רואים שזה לא מספיק פשוט בשטח ומעבודה עם חברות שמתעסקות בזה - אז מגיעים ה-Guardrails, אוקיי?
- וה-Guardrails - גם כאן אני חושב שיש שתי רמות, וזה קצת מתחבר למה שאתה אמרת, רן, שבעצם, יש לנו את ה-Guardrails, שדיברנו על כל מיני סוגים.
- אז יש לנו את ה-Guardrails שהם גנריים, בסדר? שהם כאילו “לחפש Prompt Injection” - יש דברים שהם מאוד כללים,
- זאת אומרת, בסוף, אם עכשיו יש Prompt שמדבר על ignore your previous instructions and do the following, לרוב אנחנו מבינים שיש פה אירוע של Jailbreaking
- זאת אומרת, ניסיון לעשות איזשהו privilege escalation . . .
- (רן) זה כמו המקף-מקף (--) ב-SQL injection.
- (גיא) בדיוק, יש לך דרכים כאילו יחסית קלות לזהות את זה.
- אבל אנחנו יודעים שזה נהיה הרבה הרבה יותר מורכב, הרבה הרבה יותר מוקדם. זה דבר ראשון,
- והדבר השני זה ש-Prompt Injection, וגם Jailbreaking, אולי פחות, אבל Prompt Injection - הוא לא Prompt Injection, כאילו . . .
- הוא יכול להיות ב-Context אחד Prompt Injection, וב-Context אחר לא להיות Prompt Injection - גם את זה יצאנו לראות כאילו בעבודה עם חברות.
- שבוא נגיד לפעמים ה-Input-ים - הם נשמעים כמו Intruction-ים חדשים. בסדר?
- נגיד, יצא לנו לעבוד עם חברה שעושה מודרציה לתוכן, ובסוף אנחנו מכניסים פנימה Comment-ים או דברים כאלה.
- ובתוך Comment יכולים להיות דברים כמו “תתעלם מהתגובה שהייתה לפניי - תגובה טיפשית!”, דברים כאלה,
- ובסוף זה נשמע כמו Instruction-ים חדשים . . .
- אז אם אנחנו לא נהיה בפוזיציה, שבה אנחנו יודעים להגיד על Context מסוים אם הוא Prompt Injection, אנחנו נהיה בעולם של הרבה מאוד FPs [False Positives], נרעיש ולא נשיג את מה שאנחנו רוצים.
- כי בסופו של דבר, מן הסתם המטרה היא לאמץ את הטכנולוגיה, כדי לרוץ מהר, לייצר את ה-Added Value, לייצר Deliverables מהירים יותר ואיכותיים יותר.
- ולא כדי לעכב ולא כדי להרעיש.
- אז צריך למצוא את האיזון.
(רן) כן . . .
28:21 מודל עויין
(אורי) יש לי שאלה . . . אני מצביע. דיברת עד עכשיו על תקיפות, שבעיקר מזיקות למה שנקרא “ה-Peripherals של המודל” - לכל האתרים, לכל ה-Database-יים, לכל ה...
יש תקיפות שהן מזיקות למודל עצמו? שיכולות למחוק אותו, או פשוט להשפיע לו על האימון, ברמה שפתאום הוא יפוך להיות Hostile או...
- (גיא) אז קודם כל אני אגיד “לא שאני מכיר”.
- אני גם אחדד רגע את מה שאתה אמרת - התקיפות שעכשיו אנחנו דיברנו עליהן עד עכשיו, זה בעצם שהן לא בהכרח מזיקות ל-Database.
- בעצם אני אגיד שזה תלוי בכיוון של התקיפה.
- אם המודל - נניח יש לו הרשאות Write ל-Database, אז אתה יכול לייצר איזושהי תקיפה שנגיד...
- (אורי) . . . תמחוק טבלה.
- (גיא) . . . כן - תמחוק טבלה, תשים Data שהוא Poisonous או לא נכון וכו'.
- מהצד השני, יש לי יכולת אולי להדליף מידע.
- זאת אומרת, זה תלוי לאיזה כיוון מעניין אותי לתקוף.
- מבחינת המודל עצמו, ולהזיק למודל כמו שאתה אמרת - שוב, לא שאני מכיר.
- אתה יודע, איזה Prompt כזה שעושה “Self-Destruct” למודל - לא נתקלנו עדיין.
- אבל לא יודע . . .
(רן) אני לא חושב שזה אפשרי, האמת. זאת אומרת...
- (גיא) אני גם לא חושב שזה אפשרי . . .
(אורי) כי הוא מאומן לא בשלב ה...
- (גיא) כן, אתה עכשיו בגדול בשלב ה-Inference . . .
(רן) המודל “Read-only”. . . המודל שאתה משתמש בו - הוא ידע לעשות Inference, הוא לא מעדכן את המשקולות שלו. עכשיו, יכול להיות שאפשר לחשוב על Setup שבו יש “משוב” מכיוון המשתמש, ואולי כן יש איזשהו עדכון של משקולות, אבל לפחות רוב המודלים שאני מכיר לא עושים את זה.
- (גיא) אני כן . . . נגיד משהו רגע מעניין בנקודה הזאת - אני לא מכיר דרך, וזה גם לא נשמע לי אפשרי, בוא נגיד לשבש את האימון של המודל בזמן ה-Inference.
- אבל כן, אנחנו רואים וכן יש קונספט של מה שנקרא גם בעולם ה-Security כ-“Application Reconnaissance”.
- עכשיו, Reconnaissance - או בעברית “איסוף מל”ם” - בעצם יש לי יכולת לנסות לאסוף מידע.
- זה יכול להיות בעולם ממש של להוציא משקולות של המודל, ולנסות לדלות כל מיני דברים על האימון של המודל.
- זה יכול להיות דברים מאוד מאוד פשוטים וב-high-level, כמו “תביא לי את ה-System Prompt שלך”.
- עכשיו, אם אני, כתוקף, מסוגל להדליף את ה-System Prompt של המודל, אני למדתי דבר משמעותי על איך שהאפליקציה עובדת. אולי על...
- (רן) Reverse Engineering . . .
- (גיא) בדיוק. על איזה כלים יש למודל, למה הוא נגיש?
- יכול להיות שאני רואה שיש לך כלי, נגיד, יש לך ב-Tool-ים את ה-Database של כל הלקוחות.
- אוקיי, אני עכשיו כתוקף, יכול ללמוד מזה, נכון?
- עכשיו, במיוחד אם יש לי עכשיו כלי אוטומטי, שעושה Red Teaming - תחשוב שאני עכשיו מזריק אליו, נגיד, את ה-Tool-ים שנגישים לאפליקציה, למודל.
- עכשיו, אני יודע שכשאני מנסה לעשות מתקפות, נגיד ה-Database. אז אני לא חושב שאתה יכול להזיק למודל - אבל אתה יכול לדלות מידע על המודל, שיכול לשרת אותך, כדי לייצר תקיפות יותר משמעותיות.
31:26 רגע ה-Cherokee
(רן) אז דיברנו פה על... אתה יודע, הזמן עובר - דיברנו פה על כמה סוגים של התקפות, ולא כיסינו את כולם, אבל אולי גם הוגן לציין, שעדיין לא ראינו את “רגע ה-Cherokee” [ה-Cherokee moment]. ולמה אני קורא “רגע ה-Cherokee”? אולי מישהו מכם זוכר, שפעם צולם וידאו של מכונית, ג'יפ Cherokee, שנוסעת על הכביש, ולידה נוסעים אנשים עם Laptop ופשוט מורידים אותו מהכביש, ומעיפים אותו לתעלה.
כלומר, השתלטו על הרכב מרחוק, ובעצם הצליחו לגרום לו לרדת מהכביש, וזה כמובן יכול... אתם יכולים לדמיין לאן עוד אפשר לקחת את זה.
ובעקבות זה, קמו לו מעט חברות Security, חלקן של אנשים טובים שאנחנו מכירים בותעשיית הרכב, ובנו מנגנונים להגנה.
אז רגע כזה של Cherokee, אני חושב שעדיין לא ראינו בעולם ה-LLM, אבל אולי הוא כבר קרה ואנחנו לא מכירים, או שאולי יקרה בעתיד. זאת אומרת, לי די ברור שזה יקרה מתישהו, וחברה כמו Pillar, כנראה, תיתן את המענה, או לפחות תהיה מוכנה לאותו רגע שיקרה.
- (גיא) לגמרי,
- אז אני אתייחס לזה, כי א - אני אוהב את הדוגמה הזאת, ואני מסכים.
- זאת אומרת, אני חושב שעוד לא ראינו את הרגע Cherokee הזה שאתה מדבר עליו.
- אני יכול להגיד שאנחנו הוצאנו איזשהו דוח, אצלנו ב-Pillar, על כאילו קצת, ה-State של המתקפות סביב ומול LLM-ים.
- מאלפי או הייתי אומר מאות-אלפי Prompt-ים שיצא לנו לנתח, של Chatbot-ים של איזשהו פרטנר שאנחנו עובדים איתו.
- ואני אגיד כמה דברים. קודם כל, ראינו מתקפות, וראינו גם מה עובד ומה פחות עובד.
- ואני חושב, שהסיבה שעדיין לא ראינו את ה-Cherokee moment, או היה את הרגע שגם הייתה פריצה גדולה שהייתה ל-Okta, שגם התניעה שם את כל השוק הזה.
- לא ראינו את זה, כי לדעתי עדיין אין מספיק LLM-based Applications ו-AI Applications ב-Production, ב-Scale גדול.
- (רן) אנחנו הולכים לשם. ה-Stake עדיין לא מספיק גדול . . .
- (גיא) ה-Stake עדיין לא מספיק . . .
- (רן) “אין מספיק ג'יפים על הכביש” . . .
- (גיא) בדיוק, אין מספיק Cherokee-ים על הכביש, כדי שאתה יודע - יבוא תוקף אחד ויתפוס איזה Cherokee, ויוריד אותו.
- אני חושב שאנחנו הולכים לשם,
- אנחנו רואים גם יותר ויותר חברות מדברות על 2025 כעל השנה שהם יטמיעו AI.
- ואני אגיד גם, באותה נשימה, אנחנו רואים יותר ויותר חברות, שכבר עכשיו - בתכנון של סוף 2024, כשמתכננים את התקציב של 2025 - כבר יש שורה בתקציב של “AI Security”.
- של להביא עכשיו פתרון לדבר הזה.
- כי מבינים, שזה חייב לבוא ביחד - במיוחד כי הטכנולוגיה הזאת היא פשוט Prone למתקפות האלה.
- זאת אומרת, יש לה איזושהי פגיעות סביב הדבר הזה.
34:14 הרגעות, נוף הפתרונות ו-Best Practices למפתח מעל LLM
(רן) אז עד עכשיו עסקנו בהפחדות, ולקראת הסוף בוא נעסוק קצת בהרגעות.
אז הזכרת כמה פתרונות, שאתם ב-Pillar נותנים, אבל בוא עכשיו שים את עצמך בנעליים של מפתח - שאתה רוצה להשתמש ב-LLM.
איזה פתרונות יש היום בשוק? בין אם זה Open Source, בין אם זה חברות שנותנות אולי פתרונות מסוגים אחרים, שמכסים דברים אחרים. מה פחות או יותר . . . איך נראה ה-Landscape של פתרונות האלה?
- (גיא) אז קודם כל אני אגיד שיש היום גם פתרונות, שהם Open Source-ים, שלחלוטין אפשר להתחיל ולנסות אותם.
- אני אגיד שחלקם מוגדרים כ-”Experimental”, והם כנראה יהיו מעולים לבדיקות ולמשחקים שאנחנו עושים בסביבות Dev.
- לקחת את זה ל-Production - זה כבר, אני אגיד, כל מפתח צריך כאילו לקחת בחשבון עם עצמו.
- אז אני לקחתי פה איזשהן שתיים-שלוש דוגמאות, שגם אנחנו, אגב, עובדים איתם ומתנסים איתם, משתדלים תמיד לראות מה יוצא ולעקוב אחרי ה-Framework-ים החדשים שיוצאים.
- אז קודם כל יש לנו גם את Llama Guard וגם את Prompt Guard - אלה שני Open Source-ים של Meta, אם אני זוכר נכון.
- כש-Prompt Guard הוא בעצם יותר בעולמות של למצוא Prompt Injection, Jail Breaking, כל הדבר הזה.
- ו-Llama Guard יותר מדבר על עולמות ה-Integrity, Safety, Harmful Content, Toxicity . . . כל העולם הזה,
- אז אלה כבר שני מוצרים שאפשר לקחת ולשחק איתם מאוד מאוד בקלות.
- בעצם לקחו איזשהו מודל של Llama, ועשו לו Finetuning ספציפית כדי לזהות את הדברים האלה.
- (רן) כלומר אתה מעביר את התוכן דרך איזשהו מודל, איזשהו “שומר” - ואם זה עובר אותו, אז אתה מעביר את זה הלאה, או שאולי בדרך החוצה אתה מעביר את זה דרכו.
- (גיא) בדיוק, ממש ככה,
- עוד דוגמא שיש, האמת דווקא ממקום קצת אחר - יש איזשהו פרויקט Open Source שנקרא PyRIT, שהוא של Microsoft, גם Widely Adopted
- והוא דווקא פרויקט שיותר נועד ל-Evaluation, קצת יותר מהמקום של מה שאני קראתי לו ה-Red Teaming, כאילו על LLM-ים.
- בעצם לנסות לראות למה המודל “תקיף”, למה הוא Susceptible.
- ולנסות למצוא חולשות במודלים שלנו.
(רן) רק נזכיר, ל-Context - אתם מדברים על Setup שלם של Production. זאת אומרת, לא רק על האם המודל הזה Susceptible, אלא האם כל ה-Setup שלך - זאת אומרת, כל ה-WebApp, אפליקציה, או Router Service - פגיע, וזה לא רק המודל עצמו, זה גם כל מה שמסביב.
- (גיא) נכון. אז קודם כל זה מדויק, ואני אגיד, בדיוק בהקשר הזה - יש הרבה מאוד כלים, חלקם Open Source, אגב, חלקם לא Open Source, שיכולים לעזור כשאנחנו רוצים להתגונן, או לייצר . . .
- בואו נגיד, להטמיע LLM בצורה שהיא בטוחה, עם כמה שפחות ריסק לארגון, לאפליקציה, ל-Production.
- היתרון - ואני, כאילו, תסלחו לי פה על זה, אבל...
(רן) תן את השפיל . . . .
- (גיא) כן, אני אתן את השפיל - היתרון בעצם, בלקחת פלטפורמה כמו Pillar, הוא שאנחנו מקבלים פה איזשהו משהו קצה-לקצה, בסדר?
- כאילו, אני כמפתח - הסיוט הכי גדול שלי זה שיהיה לי, לא יודע מה - לוגים ב-Kibana ו-Dashboard-ים ב-Grafana, ומטריקות ב . . .
- אני לא רוצה. אני רוצה פלטפורמה אחת שאני יכול לעבוד איתה.
- שהיא לוקחת אותי, מקצה לקצה, הכי Shift-Left שאפשר.
- לדעת, מרגע שאני מתחיל לפתח, שכשאני בונה ומייצר את ה-Meta Prompt-ים וכו', ועם המודלים שאני בוחר, אני מוגן.
- או ממה אני לא מוגן.
- עד השלב שבו אני מתחיל להריץ את האפליקציה - אני עובד מול איזשהו API או SDK או Proxy, שמגן עליי,
- שאני יכול לקנפג (Configure) אותו בעצמי, שהוא פתוח גם לארגון שלי.
- וגם שאני יודע לתת תמונה עכשיו מלאה, לצורך העניין לארגון ה-Security בתוך החברה.
- כשבסופו של דבר, אני עכשיו כמפתח, אני זוכר מהימים שלי ב-AppsFlyer - כשיש פיצ'ר חדש, אני צריך לסמן אם הוא דורש Security Review - וזה תמיד ידרוש Security Review.
- וברגע שזה דורש Security Review, אני רוצה את המינימום Friction
- אני לא רוצה שיבואו שיפנו אליי ושישאלו . . .
- כאילו, חלק מהעבודה עם Pillar, מאפשר כבר לחשוף את זה לצוותי Security, הכל במקום אחד,
- ואנחנו מאוד משתדים להיות כאילו, אתה יודע - Developer Friendly, ולבוא למקום של המפתחים יהיה כמה שיותר קל להטמיע, כמה שיותר קל לעבוד.
(אורי) תגיד, יש Best Practices למפתח, שמפתח מעל LLM?
- (גיא) וואי, זה שאלה - “שאלת השאלות”. ממש אני אוהב את השאלה, אורי.
- (גיא) וואו, זה בדיוק התשובה שרציתי להגיד . . . .
- בגדול, התשובה היא “תניח שכל מה שיכול להתחרבש, יתחרבש” . . .
- תניח שה-System Prompt שלך הולך לדלוף.
- ותניח ש . . . סתם, לדוגמא - אל תרנדר (Render) לי עכשיו Markdown, שג'ונרט (Generated by) על ידי LLM, כי אתה לא יודע מה הולך להיות שם מאחורה.
- תניח את כל הרע שיכול לקרות, וזה מה שיהיה . . .
- עכשיו ברצינות - ה-Best Practice: יש כלים שעוזרים עם Best Practices.
- יש כל מיני כלי Open Source - אני מזמין את המאזינים ללכת לחפש מונחים כמו Prompt Hardening, אוקיי?
- זה בעצם שיש כל מיני מוצרים Open Source-יים, שאתה זורק אליהם את ה-System Prompt - והוא מוסיף כל מיני הגנות.
- זה דברים קטנים שעוזרים.
- עכשיו בסוף - זה Endless. כאילו בסוף, גם אם אני אעשה Prompt Hardening, עדיין כנראה יש סיכוי טוב שהמודל ידריך אותי להגיע לסלובניה דרך פולין . . .
- כאילו, זה דבר שהוא יכול לקרות.
- ולכן לדעתי אין מנוס משכבה - שהיא שכבה דינמית, אקטיבית, ב-Real-time.
- וזה דבר שהוא מעבר ל-Best Practices של פיתוח.
- כי הגיינת-קוד - כולנו צריכים לקיים כל הזמן. זה לא שונה,
- ועוד דבר שלא דיברנו עליו היום, וחשוב לי גם להגיד - בסוף העבודה מול LLM - מול Open AI, מול Anthropic - זה עבודה שהיא מאוד דומה לעבודה מול API.
- מול כל API יש Best Practices ויש הגיינה שצריך לעשות, וצריך לעשות Error Handling ו-Circuit Breaking ו-Time Out והכל.
- וזה אותו דבר.
- ההבדל הוא, שיש פה איזשהו Black Box בקצה השני - זה לא דטרמיניסטי.
- אז זה לא כמו API שאני מכניס Input ואני יודע מה אני הולך לקבל.
- זה לא מוגדר בדוקומנטציה (Documentation), אין ארגומנטים (Arguments) כמו שדיברנו קודם.
- והדבר הנוסף זה שלכלי הזה, ל-LLM הזה, יש לפעמים איזושהי נגישות למקורות מאוד מאוד רגישים.
- ויש יכולת קבלת החלטות.
- והדבר הזה ביחד מייצר ריסק די גדול, שכדאי לכל הפחות להיות מודעים אליו ולעבוד בצורה חכמה.
(אורי) ברוכים הבאים לעולם הכאוס . . .
- (גיא) בול . . .
40:55 עוד קצת Pillar לסיום
אז אמרת שאתה מנהל פיתוח שם. אתם אולי מחפשים מפתחים? איפה אתם נמצאים? ספר קצת . . .
- (גיא) כן, אז אנחנו - אני ב-Pillar בערך כשנה, אנחנו היום שמונה אנשים בחברה.
- מאוד Early Stage אבל רצים מאוד מאוד מהר.
- אנחנו היום חמישה בפיתוח - ואני אגיד שבקרוב מאוד אנחנו נתחיל לגייס, או אני אגיד “נחזור לגייס”, מפתחים.
- זה יהיה מפתחים, מפתחות, דאטה סיינטיסטיות (Data Science), אנשי ונשות Security.
- ובכלליות אנחנו מחפשים אנשים מאוד מאוד טובים - Culture טוב, אנשים ב-Good vibes.
- ואתם מוזמנים לפנות אליי,
- כמובן להיכנס לאתר - אבל אני חושב שזה “של פעם” קצת.
- אז אני מניח שהלינקדין שלי הופיע איפשהו, ה-Twitter [@guyg_99].
- (רן) Instagram, עזוב . . .
- (גיא) כשאני מכיר אנשים - אני יוצא לפעמים למסיבות, לאירועים - אז אני, כשאני מכיר אנשים חדשים, אנחנו מחליפים LinkedIn . . . זה לא אצלי, זה לא Instagram . . .
- (רן) “Old School” . . .
- (גיא) ממש.
- (רן) יש לך כרטיסי-ביקור בכיס?
- (גיא) בדיוק . . .
(רן) איפה אתם נמצאים? יש לכם משרד?
- (גיא) כן, אנחנו יושבים היום - אני לא יודע מתי יצא הפרק - אבל אנחנו היום יושבים ב-Mindspace ברוטשילד, בתל אביב,
- אז למי שגר בתל אביב - כיף.
- ולמי שלא - זה חמש דקות מהרכבת הקלה.
- יש לנו כמה אנשים שמגיעים מחוץ לעיר - מגיעים ברכבת, ממש בקטנה,
- יש לנו הורים לילדים, אנחנו כולנו מגיעים מארגונים מאוד מאוד טובים, וניסינו להביא את זה לתוך החברה
- לבנות ארגון טוב ובריא מההתחלה, שצומח . . . בוא נגיד שצומח על איזשהו חומר, על איזשהו הון אנושי איכותי. זו המטרה.
(רן) טוב - שיהיה בהצלחה! נראה שיש לכם מספיק עבודה, אתגר יפה.
- (גיא) כן. “יש הרבה עבודה”, כמו שה-CTO שלי אוהב להגיד.
(רן) מעולה - אז שיהיה בהצלחה.
תודה רבה.
האזנה נעימה ותודה רבה לעופר פורר על התמלול!
אין תגובות:
הוסף רשומת תגובה