אורי ורן שמחים ומתכבדים לארח באולפן את איתמר מחברת Codium כדי לדבר לדבר על AI (ועוד כל מיני Buzzwords, אבל במידה . . . ) ועל מוצר מדליק שחברת Codium מפתחת - אבל בעיקר על האתגרים הטכנולוגיים המעניינים שמאחורי הפיתוח של המוצר הזה, ועל למה זה צריך לעניין מפתחים, כי זה גם מוצר למפתחים.
אז יש פה הרבה שאלות של איך לשלב Machine Learning ו-AI במוצרי תוכנה, וזה נושא שהוא די כללי ומעניין להרבה מאוד מהמאזינים.
01:38 כמה מילים על איתמר
(רן) אז לפני שנצלול פנימה - כמה מילים עליך, איתמר?
- (איתמר) אז קודם כל, אני אגיד שפעם הייתי שומע את המילים “AI” - וזה היה קצת מבהיל אותי להגיד את המילים האלה.
- היום זה יותר רגיל - כשאמרת את זה כל כך הרבה פעמים, אז חשבתי על זה, שהיום אני כבר בסדר עם זה.
- אז: איתמר פרידמן - נשוי פלוס 2.5, גר ברמת גן.
(רן) אתה צוחק . . .
- (איתמר) כן, אני יודע . . .
- הייתי פעמיים CTO של VC-Backed Startups
- את החברה האחרונה שהיתה לי Alibaba קנתה, והיה לי את התענוג להתחיל את המרכז פיתוח של Alibaba בארץ [עד כאן], ביחד עם השותפים והשותפות.
- זה היה מסע מלמד ומרתק ב-Alibaba.
- אחרי ארבע שנים עזבתי - ואחרי חצי שנה של מנוחה ו-Ideation, ביולי 22 פתחתי את Codium.ai, ביחד עם השותף שלי, דדי קרדו, שהיה עובד הראשון שלי, אי-פעם לפני 25 שנה . . .
- וזהו - מאז עברה שנה, אנחנו 20 . . .
- זה קצת על עצמי - יש לי M.Sc. ו-B.Sc. מהטכניון, בתחום של Machine Learning
- והעבודה הראשונה שלי אי פעם היתה מפתח Web בשנות ה-90'.
- (איתמר) זה היה PHP . . .
(אורי) משהו עם “P” . . .
(רן) כן, משהו עם “P” . . .
מעולה, יופי, אז אחלה רקע - ובוא רגע נדבר קצת על מה זה Codium, ואחר כך “נעלה למעלה” ונדבר קצת יותר, . . . בצורה יותר גנרית - מה המשמעות של לפתח מוצר שמכיל AI.
אני מודה שגם כשאני הייתי בלימודים בטכניון, “AI” זה היה מיני סוג של דבר כזה שאף אחד לא מעיז להתקרב אליו, כי הבינו שזה לא יעבוד . . . . אז הנה - העולם השתנה לנו.
נדבר אחר כך גם על מה האתגרים ואיך אפשר בעצם לשלב AI ו-Machine Learning בצורה מוצלחת בתוך מוצרי תוכנה.
03:25 ו-Codium . . .
- (איתמר) אני אספר - אבל פשוט פה אני עושה לך, לא נלך על השאלה ישר . . .
- אז הסיבה שאני, אגב, קצת היה לי קשה להגיד “AI”, זה כי הרגשתי שזו מילה “שיווקית” מדי, למה שזה - Machine Learning.
- אבל אני כן מרגיש שלאחרונה כן יש כבר את ה”ניצוצות של האינטליגנציה” ומעבר ליכולת הבסיסיות
- שכן אני מרגיש קצת יותר בסדר להגיד עם זה.
- אז קודם כל, אני אציג את זה בשתי דרכים - אחת קצת יותר “עסיסית” ואז טיפה יותר טכנית.
- אז בצורה “העסיסית”, זה בעצם “יושב לידך” בתוך ה-IDE
- “מפתחת Mid-Seniority”, שמתמחה בבדיקתיות (Testability) של קוד ובלאתגר ובלעשות Review
- ולוודא שהקוד שנכתב הוא ב-High Quality - ובדגש על ה-Functional, “שזה עומד ב-Spec”.
- אני פה עומד ליד הלוח, ורואה שכתוב פה קוד “Quick & Dirty or Detailed spec” - והמטרה של Codium.ai זה לוודא שהקוד מתאים ל-Spec, בין אם הוא Detailed או לא.
- ככה, לוודא שה-Intent - בין אם הוא רשום בצורה מפורשת ובין אם הוא נמצא כרגע בראש של המפתח או המפתחת שמשתמשת ב-Codium.ai - עומד בציפיות.
- זה ככה הדרך היותר עסיסית.
- טיפה יותר טכני - אז it's an AI Coding-assistant, that's focused on generating tests, on verifying that high quality, etc. . . .
- (אורי) אז זה “Pair-Programming - שחוסך כיסא”?
- (איתמר) זה Pair-Programming שעושה את העבודה הזאת, שרוב המפתחים שונאים לעשות . . . .
- בואו ניקח לדוגמא Testing, שזה אחד הדברים העיקריים שאנחנו עושים,
- אנחנו עושים, אגב, Component ו-Unit Testing, ו-Automation, Regression.
- אז או שאתה שונא לעשות את זה ולכן אתה לא עושה את זה - או שאתה עושה את זה ועדיין שונא את זה . . .
- זה 95% . . . יש את הקיצוניים האלה, יש את ה-5% . . .
- (רן) תמיד יש מאזין אחד שמאוד אוהב לכתוב Test-ים - אז לא מדברים עליך . . .
- (איתמר) אז לכן הסתייגתי מיד בסוף, יש את ה-5% - והם רובם אצלנו בחברה, לקחנו אותם . . .
- (רן) או Freelancers אצלכם . . .
- (איתמר) אז “אנחנו באים פה להפיץ אהבה”, ולקחת - לא בדיוק “לקחת כיסאות של מפתחים”, כמו “לקחת את העבודה שמפתחים ומפתחות שונאות לעשות”, שזה הבדיקתיות של הקוד (Code Testability).
- אתה רוצה ליצור - ופחות עכשיו “להתעסק במיש-מש” של לבדוק את הקוד.
- (איתמר) כן, כן, אני רק . . .
(אורי) . . . זה כאילו . . . “ה-”Buddy” שלך, ל-Pair-Programming” - הוא רק לא יושב על כיסא, וכשנשענים ביחד להסתכל על קטע קוד, אז לא עוברות כינים . . . .
- (איתמר) כנראה שיצאה לי ככה התשובה, כי אני רגיל שחלק מהשאלות הבאות, אז אני מתחיל לקבל את ה . . . .
- “אז רגע - אתה בא להחליף אותנו!” ו-”אתה בא לוקחת לנו את התפקיד!”
- ואני ככה ישר, כנראה . . .
(אורי) גם Pair-Programming אנשים לא כל כך אוהבים לעשות . . . . כאילו, יש 5% שכן אוהבים לעשות . . . .
- (איתמר) אז נראה לי שככה יצאה לי מיד תשובה שקצת מתגוננת . . .
- לא - אני לא בא לקחת את התפקיד, אבל כן, ברגע ש . . .
(רן) אולי רק נחליף את ה-5% שאוהבים, ובזה נסגור עניין . . .
- (איתמר) כן . . .
06:32 איך זה נראה בתכל’ס
(רן) אז לפני שאנחנו מנתקים לאיתמר את החשמל, כי הולך להחליף את כולנו - בוא רגע נבין קצת יותר לעומק [בשביל מה שכרנו Killswitch Engineer?].
אז פה אנחנו מדברים על test-ים, נכון? זאת אומרת, זה לא Code Generation “גנרי”, כמו Copilot, שבטח נדבר עליו גם בהמשך - אלא ספציפית Testing, וגם דיברת קצת על Spec.
איך עושים את זה?
- (איתמר) טסטים הוא “המנה העיקרית” - אבל כש . . . אני חושב שזו דרך מאוד טובה לבדוק קוד.
- אני לא מעט פעמים שומע מנהלי ומנהלות פיתוח, שבעצם הם היו מעדיפים טסטים ורבוזיים (Verbose Tests), מבחינת דוקומנטציה (Documentation)
- דווקא דוקומנטציה בתוך הטסטים, מאשר Documentation של קוד.
- כי זו בעצם “דוקומנטציה חיה” - זה כמו כזה “Executable Spec” כזה.
- אז באמת, Test-ים זו דרך ממש טובה לוודא נכונות של קוד
- אבל רק רציתי להדגיש שזה כן חלק ממה שאנחנו מציעים
- למשל, אנחנו כן נותנים, לדעתי - לפחות מה שחושבים המשתמשים שלנו - שזה אחד הפתרונות היותר טובים ל-Code Explanation,
- שזו עוד דרך להעלות את ה-Integrity של קוד.
- זאת אומרת, אם יש לך Auto-Documentation - אז עכשיו אני בא להיכנס לקוד
- של מי? שלך - או שלי, של עצמי מלפני חודש, זה אותו הדבר . . .
- ואני עכשיו מקבל, בלחיצת כפתור, דוקומנטציה (Documentation) מאוד מאוד מאוד טובה
- היא כנראה תהיה ב-Integrity יותר גבוה משל דוקומנטציה שנכתבה בעבר, ושאולי שונתה.
- אז יש מגוון של דברים - אבל באמת ה-Testing הוא החלק העיקרי.
- (איתמר) מעולה, אז בואו נגיד, “המנה העיקרית”, ה-Interface העיקרי שלנו, זה IDE Extension
- שבעצם נפתח ויושב כ-Tab נוסף - בואו נגיד “כמראה” ל-Tab שבו אתה כותב או כותבת את הקוד.
- אז בזמן שהקוד נכתב, בעצם נוצרים ה-Test-ים וההסברים וה . . . .
- ואגב - העצות לגבי הקוד, זה חלק העיקרי.
- אבל, אגב, זה ה-Closed-Source - אבל יש לנו גם Open Source, שאנחנו גם עושים לו Hosting
- שבעצם זו אפליקציה שמתחברת ל-Source Code Hosting שלך
- ויותר משמשת בשלב ה-Gateway, בשלב הכניסה - ה-Merge של הקוד שלך לתוך ה-Trunk הראשי, לתוך ה-Branch הראשי
- אז שם היא עושה את הבדיקתיות (Testability) ואת העצות.
(אורי) אז במקום Pair-Programmer יש לך “Pair-Reviewer” . . . .
- (איתמר) נכון . . . . אני כן אגיד שאנחנו באים להקל על ה-Review, בעצם to streamline it
- מאשר, עוד פעם . . .
- . . . “אני רואה שאתה עוד פעם מתגונן” . . . .
- - מאשר אשכרה להחליף את הבנאדם או את ה-Reviewer.
- כן היינו רוצים שכשה-Reviewer מגיע לבדוק את הקוד - יש לו את העבודה הכי קלה, או הכי ממוקדת
- איפה באמת כדאי למקד את ההסתכלות
- - ולא דווקא להחליף לחלוטין.
- אז זה בא לידי ביטוי בכל מיני Feature-ים שעוזרים לזה - אני לא, תגידו לי אם Too . . .
(אורי) לא, אני אוהב את הכיוון . . . יש, סתם . . . . ב-Outbrain, נתקלנו בזה לאחרונה, יש שני דברים שמאוד קשה - בטח עם צוות מפתחים גדול - לדאוג להם ולדאוג שאתה מכוסה, עם קוד חדש שאתה מעלה: זה Security ו-Privacy.
אז זה כאילו “פאולים כאלה”, ש”מחכים שמישהו יעשה אותם”.
והמשמעויות של שני הדברים האלה הן מאוד קשות - אתה יכול לפתוח פירצה, אתה יכול לעשות עבירת Privacy, או דברים כאלה - ואחר כך לך תדע . . . .
ולפעמים גם ה-Reviewer שעובר על הקוד - הוא בעצמו, הוא לא “מומחה-Privacy”, וזו באמת מומחיות, Privacy ו-Security זו מומחיות . . .
אז אחד הדברים שעשינו - ואנחנו עובדים עליהם ומשפרים אותם - זה להשתמש ב-AI כדי לעשות את ה-Review. כאילו, יש לך “מומחה Privacy” - שהוא אוטומטי, או Privacy או Security - והוא מסתכל על הקוד שלך ואומר “עשית פאול, לא עשית פאול” . . . .
(רן) זה משהו שפיתחתם בפנים?
(רן) לא מוצר-מדף?
(אורי) לא, פיתחנו - כן. אבל צריך להבין שזה כמו “Immune system” - כרגיל: אתה מתחיל עם משהו, עם איזושהי יכולת, וכשאתה נופל - אתה משפר ומשפר. בסך הכל משפר Prompt-ים . . .
- (איתמר) אז אני חושב . . . אני רושם את זה לקחת לנושא אחר . . . .
- אגב, אני חושב שאם אתם תשימו על זה את הקשב שלכם ואת המאמץ, אז כנראה שאתם יכולים לעשות את זה.
- זאת אומרת - מה קרה? למה שאנחנו, חוץ מזה שיאמנו מודלים ואנחנו מתמחים בתחום וכדומה, “באים מהליבה”
- אבל זה עדיין - כאילו, בסוף מישהו, אם תשימו על זה תשומת לב - אז אפשר.
- אני כן חושב פה, להגנתנו, שבאמת תצטרכו לשים על זה הרבה קשב.
- אני אתן סיפור אחר מעולם אחר - אני חושב שכמעט כל החברות Support-handling, כל ה-Intercom-ים למיניהם
- דבר ראשון, כשיצא כל ה-ChatGPT, אמרו “או-קיי . . . .”
- כאילו, זה “הכי טבעי” - שאנחנו נתחיל להשתמש בזה בשביל להציע Feature-ים יותר מתקדמים
- וגם כל חברה שהשתמשה ב-Intercom וכדומה, ניסתה לפתח את זה פנימית.
- ובסוף זה קשה להגיע לרמה גבוהה, ולא להגיע . . . .
- ואגב אני אשמח לשמוע ממך [אורי], אולי - בסוף, על ה-Challenges שלך, בעיות של להטמיע מוצר AI
- חוסר קונסיסטנטיות (Consistency) ו-Hallucinations וכל הדברים האלה, שאולי תרצו שאני אעשה Double-Click עליהם . . . .
- גורם לזה שממש צריך להתמחות בתחום.
- וזה אחד הדברים שאנחנו ביום יום מאותגרים.
- אני אתן דוגמה, למשל - אפילו מישהו שבא לייצר איתנו Demo, מישהו שרוצה להדגים בתוך החברה
- כשאנחנו שומעים על מישהו שרוצה להדגים בתוך החברה את המוצר שלנו
- אז הוא בא והתאמן על זה קצת לפני שהוא מציג את זה ל-CTO, למה הוא צריך להכניס Codium.ai
- ואז הוא בא להציג את זה - וזה יוצא לו קצת אחרת . . . .
- טיפה - מספיק “הטיפה הזו”, וזה מבלבל.
- אז אנחנו מנסים להציג קונסיסטנטיות (Consistency) - אפילו לא רק קונסיסטנטיות בשביל האיכות של המוצר, אפילו קונסיסטנטיות כי אנחנו כבני אדם עדיין לא רגילים . . .
- אוקיי, כשאני מדבר עם Chat אז אולי זה בסדר חוסר-קונסיסטנטיות (inconsistency)
- אבל בשביל בדיקת בדיקתיות-מוצר (Product Testability), אתה צריך טיפה יותר יציבות . . .
- (איתמר) נכון . . .
(רן) . . . . אבל כשאתה מג’נרט טסטים (Tests Generation), אתה מצפה לקבל תוצאה ש . . . .
(אורי) להיפך - כל הרעיון של טסטים זה קונסיסטנטיות (Testing Consistency) . . . . זה . . .
- (איתמר) נכון - ולכן יש פה קושי וצריך להעמיק פה
- עכשיו, אם אני יכול “להקליק” על מה שאמרת - אז אצלנו למשל זה נקרא - ה-Open-Source - נקרא PR Agent
- אפשר לדבר למה קראנו לו Agent . . . ו-It’s Tricky,
- “מונח טעון” עכשיו - Buzzword . . . הנה, זרקתי את הראשון שלי עכשיו . . . .
- אני לא זוכר אם זה הראשון או לא . . . .
- (רן) אמרת “AI” . . . .
- (איתמר) נכון, אז זה השני . . . .
- אז אחד מה-Feature-ים שם זה באמת לנסות לזהות בעיית Security.
- עכשיו אנחנו לא ממש ממתגים את עצמנו כ”חברת Security” וגם לא מתחייבים כרגע
- בגלל שבאמת - צריך לעשות את זה בצורה מאוד מאוד קפדנית, כדי לטעון שה-PR Agent באמת ימנע ב-99.999 מבעיית Security לעבור
- אז אנחנו כרגע לא . . . .
- ה-Messaging שלנו לא מתמקד על העניין של Security - אבל זה קיים שם.
- ואגב, אפרופו ה-Privacy - אחד הדברים שזה תפס, אולי זה הכי טריוויאלי שיש, אבל אם מישהו שבטעות דחף Key, אז זה יתפוס את זה . . . .
- כאילו, המוצר שלנו יתפוס מישהו שדחף Key עכשיו באחד המקומות, וכל מיני דברים כאלה.
- שוב, אנחנו לא כרגע משווקים את זה כמוצר שהוא “ב-99.999 פותר Privacy”.
14:33 אתגרים באינטגרציה של טכנולוגיות AI ו-Machine Learning בתוך מוצרי תוכנה
(רן) כן, בואו נעלה “כמה רגליים למעלה” - היום בבוקר . . . בואו אספר לכם על שיחה שהייתה לי היום בבוקר: דיברתי עם חבר שלי, אילן - היי אילן! - והוא אמר לי משהו כזה: “תשמע, עם כל הטכנולוגיה שקורית היום, כל ה-GPT וכו’, נורא קל לבנות כל מיני מוצרים, ש . . . לא יודע, שעושים חיפוש וקטורי (Vector Search), שמאנדקסים דאטה (Data Indexing), בצורה שלפני זה לא היית יכול לאנדקס וכו’, ויאללה - בואו נבנה משהו כזה! בואו נעשה סטארטאפ!”
ואני בטוח שכל אחד מהמאזינים של הפודקאסט שומע שלוש שיחות כאלה ביום, לפחות . . . .
ומה שרציתי לשאול אותך, איתמר, בתור מישהו שנמצא בתחום של Machine Learning - והיום אתה גם יכול לקרוא לזה “AI”, כבר הרבה מאוד זמן, זה לא רק על ההזדמנויות הגדולות שיש היום - אלא גם מה האתגרים? אילו אתגרים שאתה נתקלת בהם, בדרך לעשות אינטגרציה לטכנולוגיות AI, לטכנולוגיות Machine Learning, בתוך מוצרי תוכנה.
- (איתמר) מעולה, אז קודם כל - אני מתרכז באתגרים הטכניים, בסדר?
- כי יש אתגרים היום ב-Business, וגם במובן מסוים מוצריים . . . .
- אני אתן דוגמה למוצרי - אפילו אנשי-Product צריכים קצת להתרגל . . . .
- כאילו, זה לא שאין מוצרי Machine Learning כבר מאלפיים-ו . . . לא יודע, 2010, כבר כשהם נכנסו
- אבל בכל זאת - זה יותר ויותר הממשק, ה-Interface ללקוח, הוא נהיה לא-דטרמיניסטי
- וזה ממש דורש, כאילו, שיטות שונות על הצד של ה-Product.
- אני דווקא רוצה להתמקד בטכני - וגם שם, באמת שיש המון
- ואני רוצה להתמקד גם שם - על דברים קצת אולי . . . . “מגניבים / מעצבנים” . . . .
- אז הנה דוגמא ראשונה - נאמר ואתה עכשיו רוצה . . . מחליט שאתה רוצה להשתמש במודל - Large Language Model, כדוגמא למודל - של אחד הספקיות הגדולות, למשל OpenAI.
- ונוצר מצב, שהמודלים האלה מתעדכנים - ויותר מזה, הם גם “כביכול מתעדכנים”, בלי שהם באמת מתעדכנים . . . .
- יש הרבה שיח, נאמר ב-[רשת-שהייתה-ידועה-בשם-]Twitter, בחודש-חודשיים האחרונים, ש-GPT-4 נהיה טיפש יותר . . . .
- ויש די הרבה Evidence, על הנקודות של אנשים שחקרו לפני ואחרי . . . .
- ואגב, ה-VP Product ו-Partnership של OpenAI כתב בפומבי ב-Twitter שהוא לא מבין למה אנשים אומרים את זה, שום דבר לא השתנה . . . .
- אני פה רגע שנייה אחת אשוויץ - ואגיד שהוא גם משקיע אצלנו . . .
- והשאלה - מאיפה הקונפליקט? יש עדויות אל מול מישהו שאומר ששום דבר לא השתנה . . .
- אז זה אתגר מאוד גדול.
(רן) כן, זאת אומרת - ה-Backend שלך . . . אם אתה משתמש באיזשהו-Backend, אז נראה שהוא משנה התנהגות, למרות שהוא לא אמור. ולא סתם “לא משתפר”, אלא נהיה גרוע יותר, לפחות בשבילך . . .
- (איתמר) נכון. עכשיו אני, לשמחתי - ואתה יודע, זה כמו כזה, כשאתה אומר שאתה עובד במסעדה, ואתה יודע מאחורה מה קורה, “במאחורי-הקלעים” [איך מכינים את הנקנקיות . . . ] . . .
- (רן) לא תרצה לאכול שם יותר. . . .
- (איתמר) אז אני, ב-Alibaba Cloud - אחד הדברים שפיתחנו זה מוצר AutoML
- [גם כאן - 401 AutoML at outbrain with Assaf Klein]
- ולפעמים היינו לוקחים מודל, שיש לו Benchmark, שכן קיים לו Benchmark . . .
- אבל אגב - זה מאוד קשה, ואני חושב שזה רק נהיה יותר ויותר קשה.
- זאת אומרת, ככל שאתה לוקח מודל, שמטרה שלו היא לעשות קלסיפיקציה (Classification), אז אתה כן יכול להצליח
- וגם שם יש קושי, אגב - כי מה ה-Benchmark שלך? אם הוא זהה, אם יש איזה קורלציה (Correlation) או מתאם חזק ל-Benchmark של הלקוח
- אבל לפחות יש איזשהו Benchmark . . . .
- ואפילו זה נהיה יותר קשה - כי אתה לא עובר קלסיפיקציה (Classification), הGenerative AI כאילו מייצר תוכן . . . .
- אז יש איזשהו Benchmark - ועכשיו אנחנו רוצים לעדכן מודל
- ונאמר שיש מספר אחד - נקרא לו כרגע “Accuracy“ - והוא עולה מ-81 ל-82 . . . .
- אז הוא עולה מ-81 ל-82 - עבור ה-Benchmark שלנו . . .
- ואולי עבור אחרים הוא יורד . . . .
- אגב, אולי יש את אותו Sample - יש שבעה Sample-ים, שעכשיו הפכו מ-Negative, כאילו משהו שה-Accuracy לא טוב, ל-Accuracy טוב - אבל יש שניים אחרים שנפגעו
- ובסך הכל - השתפר.
- אז נוצר מצב, שאתה עכשיו משתמש במודל הזה שלנו, של Alibaba Cloud - ואנחנו סיפרנו לך את ה-Benchmark שהשתמשנו בהם
- והשתנתה תכונה מסוימת - אולי לטובה, אולי לרעה . . . .
- וזה קושי מאוד מאוד גדול - הולך וגדל - בגלל התכונות של המודלים האלה.
- אז זה, למשל, אתגר אחד, כדוגמא.
(רן) כן, דרך אגב - גם בעולם התוכנה יש את התופעה המוכרת הזאת, שעם באגים ידועים אתה יודע להתמודד, ואם תיקנו חמישה באגים ידועים - אבל הוסיפו באג חדש - אתה בבעיה . . . . כי עם הבאג החדש . . . את הבאג החדש הזה אתה כבר לא מכיר, ואתה לא יודע איך להתמודד איתו.
- (איתמר) אגב, אני רוצה לספר, ותגידו לי אם זו אולי יותר מדי חפירה בנקודה הזאת - זו לא בעיה חדשה, כביכול . . . .
- יש מאמר, דווקא מאיזו אוניברסיטה באוסטרליה [!Oi Oi Oi] - אני אומר כי זה דווקא כזה די נדיר בתחום שלנו, למי שמכיר
- שהם עקבו - אני לא יודע אם במכוון - אבל הם עקבו במשך שנה אחרי API-ים של Machine Learning Pre-BC, בפורצ'ארט-GPT [?]
- הם עקבו אחרי מודלים של Azure, של AWS ו-GCP - ועם אותו Sample לאורך זמן - והראו איך ה-Predictions משתנים . . . .
- עכשיו, אנחנו מדברים על מודלים עוד יותר . . . שיש להם Temperatures
- כאילו, שאפילו במרחק של שנייה אתה יכול לקבל מודל אחר
- אז איך בכלל תמדוד, כשדברים משתנים לך מתחת לידיים?
- זה משהו שאתה חווה . . . .
- אני רק כן, כאילו, אולי לפני שנעבור, אתן עצה, כאילו מיטיגציה (Mitigation)
- אז כאילו, ההצעה הטריוויאלית זה קודם כל למצוא דרך למדוד את זה . . . .
- אבל דווקא אני רוצה לתת עצה שהיא קצת יותר כאילו, לא רק ב-Monitoring של זה, אלא זה איך להתמודד עם השינויים האלה
- אז בגדול, המודלים האלה - ככל שאתה שואל אותם שאלות יותר ספציפיות, ככל שהשאלות יותר ממוקדות, אז ככה גם אם עוברים שינויים, בדרך כלל השינויים בתשובה הם ב-Variance קטן
- אגב, גם דיברנו על זה, שגם באותו רגע, בלי שהשתנה המודל, יכולת לקבל תשובה אחרת, בגלל ה-Temperatures
- אז לשאול שאלות יותר מוקדות.
- אז למשל, אחד השונ-אים (Differences . . . .) - אתה צריך את המילה הזאת, היא קשה לי - בין Code Generator ל-Code Integrity
- אנחנו ב-Codium.ai בונים את ה-Code Integrity Solution, ולא Code Generation, שנותן לך פתרון כלשהו
- אנחנו Code Integrity
- אז להבדיל מ-Code Generation, כשאתה כאילו נותן לו איזשהו Prompt, והוא מוציא לך, פשוט קורא ל-LLM ומוציא תשובה כלשהי
- אנחנו, עבור בדיקה של איזשהו חתיכת-קוד, עושים בין 10 ל-12 קריאות למודל.
- וכל שאלה היא מאוד מאוד מפוקסת (Focused)
- עד כדי כך, שאנחנו אפילו יכולים לקרוא למודלים שונים - ועדיין לקבל תשובות די דומות, בגלל שהשאלה היא מאוד ממוקדת.
- (רן) סוג של גידור . . .
- (איתמר) כן, בדיוק.
21:25 זמן וכסף
(אורי) אז 12 קריאות למודל . . .
- (איתמר) כן - כסף . . . .
(אורי) מה? לא, דווקא לא כסף - Latency . . .
(רן) ואתם משתמשים במודלים Online? זאת אומרת, אתם מביאים מתוך . . .
- (איתמר) כן, אז אנחנו משתמשים במגוון של מודלים
- ואולי, ככה, זה ישמע קצת אולי סותר את מה שאמרתי עכשיו, אם תבחינו בסתירה שעכשיו אני הולך להציג על העיצה שהרגע נתתי - אנחנו משתמשים במגוון של מודלים.
- בגלל ה-Properties - יש Properties למודלים האלה
- וכן - מודלים שיש להם יש להם חוזקות ב-Properties אחרים
- וזה לא ש-GPT-4, אגב, הוא הכי טוב על כל ה-Properties האלה
- אני אתן לכם, למשל, דוגמא אולי ל-Property שיפתיע אתכם, לפחות
- לאחרונה, אגב, שמעתי פחות אנשים מופתעים - כנראה זה התחיל להיות יותר מקובל, אבל אני כן מכיר שזה מפתיע
- שבעצם, GPT-3.5, בהרבה מאוד משימות תכנות, יותר טוב מ-GPT-4
- ואגב, זה מאוד תלוי איך אתה שואל את השאלה
- האם אתה שואל שאלה של תכנות שהיא על Reasoning, כשבזה נגיד GPT-4 ממש טוב
- או שיש לך שאלה מאוד ממוקדת - ועכשיו אתה מבקש את הקוד עבור הבעיה המאוד ממוקדת
- ושבזה אולי 3.5 יהיה יותר טוב
- אז אנחנו בעצם משתמשים במגוון מאוד רחב של מודלים, ועכשיו רק . . .
- לכל אחד ה-Properties שלו
- ואגב - יש Properties של Obedience - כמה אתה “מסוגל להקשיב להוראות”, ולבצע אותן בדיוק, As-is
- זה לאו-דווקא להבין אותן - אלא לא רק להבין, אלא גם בביצוע של זה.
- אז זה חשוב, כי אנחנו בכל Integrity, אנחנו לא מנסים להביא לך איזה Boilerplate של קוד
- אם ביקשת משהו - יש לך או אפשרות - ככה או ככה, ואתה תתקן לבד.
- אני רוצה לתת לך את הביטחון, שה-Test-ים שנתנו לך באמת בודקים את מה שהקוד שלך אמור לעשות
- אז חשוב לנו ה-Quality.
- לגבי ה-User Experience - זו באמת נקודה, הייתי רוצה להגיד “הייתה”, כי אני מרגיש שאנחנו לא שמענו הערות כבר כמה . . . חודשיים-שלושה, על Latency, אז זה קצת בעבר.
- אבל כן, זו הייתה נקודה בעייתית.
- ובעצם, אנחנו עושים Applying לשיטה שנקראת Chain of Thought - זה לא Buzzword! אל תספור לי את זה . . .
- זו שיטה אמיתית, שבה אתה משרשר . . . אגב, זו אחת הסיבות שקוראים לדעתי ל-LangChain - ה-Framework המפורסם של התחום - “Chaining”,
- כאילו - זה משרשר סדרה של תשובות של LLM אחת אחרי השנייה.
- ובעצם, אנחנו משתמשים בתשובות הביניים כדי להתחיל “להתניע” - להחזיר ערכים למפתח או למפתחת
- [זה מזכיר במידה מסויימת מנגנון של Out-of-Order Execution במעבדים . . . .]
- עכשיו, אני אתן את הדוגמה הכי כאילו-בנאלית - שהיא לא מה שאנחנו עושים:
- גם ChatGPT, אם תחכה לסוף התשובה ואז תפלוט את זה - גם יהיה לך משעמם . . . .
- זו אחת הסיבות שהם גם רוצים לתת לך, לדעתי, “Intelligence” - או “הרגשה של Intelligence” וש”משהו נבנה”
- אבל גם כדי שתוכל להתחיל לקרוא . . .
- אז תחשוב על אותו דבר אצלנו - רק ברמה של “תהליך חשיבתי”
- זאת אומרת, שכשאני מייצר לך Test-ים
- דבר ראשון, אני עושה אנליזה ל-Behavior של הקוד
- אוקיי, יש שלב של אנליזה
- זה כמו שפת BDD כזאת - Behavior-Driven Development
- יש כאילו . . . . אני נותן לך את התוצר-ביניים - אני אומר לך “הנה כל ה-Behavior של הקוד”
- ועכשיו, אני מתחיל לייצר Test-ים עבור Behavior שאני . . . .
- אז לא הכל - אבל את לא מעט מתוצרי-הביניים אנחנו פולטים החוצה, ונותנים למשתמש להבין איך זה פועל
- אבל גם לשנות - זאת אומרת למשל, אם יש Behavior מסוים שנראה שלא כוסה, אז אנחנו נותנים להשלים במהלך התהליך, וכו’.
(רן) כן, אז דיברנו על אתגר אחד, שזה כשה-API משתנה לך או שהתוצאות יכולות להשנות לך, ככה, “מתחת לרגליים”, וטכניקה אחת שהזכרת זה . . . אני קראתי לזה “גידור”, אתה קראת לזה “תיהיה ספציפי” - תעשה הרבה קריאות ויותר “תהנדס את זה”, אל תיתן, כאילו . . . גם אם זה עבד לך פעם אחת “בפוקס” ב-Prompt, אל תסמוך על זה - תייצר הרבה Prompt-ים שונים, ,שתמש במספר מודלים, ולפעמים צריך לעשות להם Chaining וכו'. אבל זה רק אתגר אחד . . .
עכשיו, אנחנו בטח לא נספיק להגיע להכל, אבל בוא נבחר עוד איזה ככה, אחד-שניים.
מה האתגר הבא שאתה מכיר, מהניסיון שלך, כשרוצים לעשות אינטגרציה לטכנולוגיות-AI בתוך מוצרי-תוכנה?
- (איתמר) כן, אז זה אולי אתגר שהוא אולי קצת פחות מפתיע, אולי, מהקודם שדיברתי עליו . . .
- אני אתן לו בהתחלה כותרת, שלדעתי הרבה מכירים - זה Hallucinations . . .
- (איתמר) נכון, סליחה - הזיות.
- זאת אומרת שכביכול יצאה תשובה - שהיא “לא אמיתית”, או לא נכונה . . . .
(רן) המאמר המפורסם של Facebook [Meta!] על למה נכון לאכול זכוכית, למשל, וכו’ . . . למי שלא מכיר את הרפרנס - אז Facebook הוציאו כלי שכותב מאמרים מדעיים, ובתור ניסיון אמרו לו להסביר למה זה נכון לאכול זכוכית -
והוא כתב מאמר-מדעי מדהים, על למה זה נכון לאכול זכוכית . . . .
כמובן שהכל בולשיט והכל אשליות - “הזיות”, סליחה! - אז כן, זו מחלה שקיימת. [והמסקנה המתבקשת - Meta takes new AI system offline because Twitter users are mean]
- (איתמר) מה שרציתי לשים עליו דגש - כי זה כן, כאילו, חשוב לשים לדגש - זה הזיות שיכולות לפגוע.
- עכשיו, “לפגוע” - יש כל מיני, ולכל מוצר הפגיעה יכולה להיות שונה.
- אבל כן - אני רק, בגלל שאין מה לעשות, הדלקת לי את הצורך רגע, לפטפט על . . . קצת לנסות להבין את ה-Hallucinations, ואיך יכול להיות ש . . .
- היה שם . . . “הוא” המציא מאמר או הסבר ללמה זה הגיוני לאכול זכוכית וכדומה . . .
- אז אני חושב שחשוב להבין, שבסופו של דבר, השאלה - ה-Prompt - יש בתוכה המון Knowledge
- כאילו - Information, knowledge ואפילו Intelligence.
- בעצם, אני טוען . . . . רגע, אני אקח אפילו צעד אחורה - אני טוען, שחלק מההתלהבות שלנו מ-ChatGPT
- נכון? - הרגע הזה, כשהסתכלנו על “החייזר הזה” ואמרנו “איך הוא כל כך intelligent?!”
- אז אני חושב שלא שמנו לב, שבעצם אנחנו . . . .
- לא כולנו ישבנו וחשבנו על פילוסופיה, שבעצם - בשאלה יש את רוב האינטליגנציה. אני לא צוחק . . .
- [כן, טוב - Saint Douglas אמר את זה קודם . . . התשובה, אגב, היא 42]
- זאת אומרת, לא סתם, אני . . .
(רן) זה הסוף של . . . איך קוראים לו? הקוסם הזה, ליאור . . . מנור? לא . . . [“מהנדס מחשבות” - והאמת, אני די משוכנע שכתר ראיתי משרות כאלה . . . .]
- עזוב, בוא נלך לאלברט איינשטיין [יאללה] . . .
- אני ארשה לעצמי רגע, אם היתה לי שעה, כאילו, אם היתה לי שעה לפתור בעיה, אז קודם כל, אני יושב 55 דקות להבין טוב מאוד את הבעיה [if he only had one hour to solve a problem he would spend 55 minutes defining the problem and the remaining 5 minutes solving it routinely].
- זאת אומרת, הרבה דברים . . . כאילו, אם עכשיו תשאל “תסביר לי מה ההבדל בין צפרדע לאבן”, אז זה ייתן איזשהו הסבר. זה כאילו . . .
- אבל אם עכשיו אתה תבוא ותגיד לו עכשיו . . . בוא נלך על משהו טיפה יותר אינטליגנטי, לא לאכול זכוכית, או לא בין צפרדע לאבן . . .
- אתה רוצה לדבר עם ה-ChatGPT על דברים מהותיים, כמו מה ההבדל בין אינטליגנציה ו-knowledge. אוקיי?
- עכשיו, אם אתה יודע לשאול את השאלה, כאילו,”בצורה טובה” - אתה תקבל תשובות “סופר-אינטליגנטיות”
- אבל אם אתה תשאל שאלה טיפשית - אתה תקבל תשובות טיפשיות . . . .
- בעצם איך ש-LLM עובד, זה בהינתן השאלה, אוקיי? בהינתן ה-Prompt - זו לא חייבת שאלה, זה יכול להיות . . . .
- בהינתן ה-Prompt - מה התשובה “שהכי Likely לענות על זה?” . . .
- זה בעצם איך שהמודלים האלה עונים.
- אז יש המון Knowledge ב . . . סליחה, המון אינטליגנציה, ואפילו הרבה ממנה, לא רק ה-Knowledge.
- האינטליגנציה היא בשאלה. תשאל שאלות מפגרות - תקבל תשובות מפגרות.
(אורי) האם הוא גם משתפר בין שאלה לשאלה? זאת אומרת, השאלה שרן שאל אותך עכשיו - השתפרת כתוצאה מהשאלה שלו? וכשאני אבוא לשאול שאלה, אתה תהיה יותר חכם?
- (איתמר) אחת הסברות היא ש . . . . השאלה מי - האם זה ChatGPT או לא?
- אבל אחת הסברות שאומרים ש-GPT נהיה Dumber, כאילו, סליחה, נהיה יותר טיפש, זה בגלל שאומרים שהוא אומן על ה-Data עכשיו שהגיע מכל האנשים שהשתמשו . . .
- (רן) . . . וכולנו נהינו יותר טיפשים . . . .
- (איתמר) . . . . וכולנו לאט לאט מתכנסים . . . . הרי, אם בסוף אתה נותן ל-Machine Learning ללמוד Data של עצמו, אז ככה אחת אפשרויות שזה Model Collapse, כאילו, לכלום . . . .
- [הרחבה מומלצת באחלה פרק של עושים טכנולוגיה - הבינה המלאכותית ממלאת את העולם בזבל]
- אבל רגע אחד - אני רוצה להסב את השאלה שלך, וזה גם יעזור לי לסיים את הפואנטה הקודמת: אתה שואל שאלה . . . אתה שואל שאלה, ואתה אומר לו “אתה בטוח שאתה צודק?” . . . .
- ואיזה קטע! הוא פתאום מתקן . . . .
- אוקיי . . . ואתה אומר “איזה יופי! איך הוא חכם!” . . . .
- אבל . . . או “זה”, או “היא” . . .
- אבל מה הקטע? שבעצם העובדה שאתה ערערת - אתה נתת אינפורמציה נוספת . . . .
- אתה שאלת - “האם אתה בטוח שאתה צודק?”
- כאילו, וזה בעצם כל מה ששאלת זה - יש בזה עוד אינפורמציה . . .
- זה כמו שאני חושף לך עוד קלף בפוקר, או . . . . וכדומה.
- (אורי) עירערת לו את הביטחון עצמי . . . .
- (איתמר) נכון, אבל בעצם נתת אינפורמציה - חשפת אינפורמציה נוספת . . .
(רן) יש את החידה המפורסמת בהסתברות - של שלושה וילונות, אתה בוחר אחד, ואז אומרים לך . . . חושפים אחד -האם תחליף? [אמ;לק - כן: Monty Hall problem]. אז גם פה, נתת עוד אינפורמציה, שאלת אותו “?Are you sure“, ואז פתאום “הוא” אומר “רגע, אולי אני בעצם לא כל כך בטוח . . . .”
- (איתמר) כן. חידה מדהימה - Monty Python, אם אני לא . . . .? [לא, עד כמה ש”Monty Python” יכולה להיות תשובה לא נכונה, שזה לא הרבה]
- (איתמר) כן, כן, אני צוחק - זו חידה סופר-קריטית, סופר חשובה לנקודה הזאת. היא באמת, כאילו . . .
- אתה - יש שלושה וילונות, ובאחד יש מכונית [!], ובשניים דחליל ועז [!!]
- אתה בוחר אחד - ואז חושפים לך או את העז או את הדחליל
- ואומרים לך “אתה רוצה להחליף?” . . . .
- אם אתה מחליף, אז אתה עובר מ-33% ל-50% - זה שווה ממש לחשוב על זה, אם אתם לא מכירים את החידה . . . .
- (רן) טיפ שלנו - תחליפו . . . [אמ;לק - נוסף כאן עוד מידע שלא היה קודם, כי מי שחשף את העז ידע שהיא שם…]
- (איתמר) כן, ממש שווה . . . אם לא חשבתם, זה ממש . . .
- אז זה אותו דבר. ועכשיו, מה מעניין? נגיד שהוא, נגיד שהוא . . . נגיד שה-ChatGPT כן צדק, ועוד פעם תגיד לו “אתה בטוח שצדקת?” - יכול להיות שהוא יחליף את זה . . .
- זאת אומרת, האינטליגנציה של “לדעת לשאול את השאלה”, אם עוד פעם . . . אתה כבר ידעת לקבל את התשובה השנייה ולהגיד “זה נכון”, ולא המשכת לשאול.
- אבל אם לא היה לך את האינטליגנציה, והיית שואל עוד פעם “אתה בטוח שצדקת?”, יש סיכוי ש”הוא” היה אומר “אופס! סליחה, טעיתי!” - והיה ממשיך לתת לך תשובות לא נכונות . . . .
- אז . . . ב-Bottom-line, רציתי להגיד - אם אני מקפל רגע הרבה חלונות, הרבה Brackets . . .
- יצאנו מכל הסיפור הזה, ההבעיה של Hallucinations
(אורי) . . . אתה עולה ב-Stack . . . .
- (איתמר) אז אני חוזר למקור, אני מקפל הרבה כדי שנחזור חזרה . . . . אז זו היתה השאלה של, אוקיי, Hallucinations . . . .
- אבל Hallucinations שיכולים להזיק
- לפעמים אולי קוראים לזה . . . אפשר לקרוא לזה “Mission-Critical Hallucinations”
- אפשר למצוא לזה כל מיני שמות מהעולמות הישנים . . .
- ופה, אני חושב שמאוד כן חשוב לשים Guardrails על Hallucinations מסוימים.
- למשל, בואו ניקח את העולמות שלנו - מה קורה אם עכשיו אני מייצר Test, שיכול לייצר נזק
- או שטסט ש . . . בואו ניקח פחות, Test ש . . .
- (רן) . . . .שכורה Bitcoin . . .
- (איתמר) . . . . כן, כן . . . או Test . . .
- ניקח שלב אחד אחורה - Test שפשוט גורם לכל ה-Test-ים שלי לא לרוץ, ואז המוצר שלי יהיה פחות איכותי.
- זאת אומרת, אחד ה-Feature-ים אצלנו במוצר - זה אחד ה-Feature-ים האהובים גם עלינו, גם על ה-User-ים - זה שאחרי שה-Test-ים נוצרים, אתה בתוך המוצר שלנו יכול להריץ אותם
- חלקם עוברים, חלקם נכשלים
- אגב - בכוונה, ואני יכול להסביר למה . . .
- מתבצעת אנליזה אוטומטית, Agent-wise - כאילו זה Chain-of-Thought כזה - על הכישלון של ה-Test
- ואז, על בסיס הכישלון - מתקנים את ה-Test, או מתקנים את הקוד, אוקיי? . . .
- אפשר לצלול על זה ל-Double-click אם אתם תגידו לי
- וכל הרעיון הזה הוא שאם היה Test אחד “סורר”, יכול להיות שהוא יהרוס את הכל
- בוא נגיד ה-Feature הזה, שכבר לא יהיה לו UI או UX - אז זה סופר קריטי.
- ואז יש גם את הדברים היותר חמורים - אז זה פה אני מוציא . . . . לדוגמא, אם תסתכלו על Wordtune, אז אתה לא רוצה שזה יקלל אותך, נכון?
- של AI21, או משהו כזה
- צריך ואפשר לשים כל מיני Guardrails
- זה סופר-קריטי, כאילו, להילחם ב-Hallucinations [ד”ש לדון קישוט?] והדרכים האלה.
(רן) כן, ופה אנחנו קצת היינו על הגבול שבין Hallucinations ל-Safety - וגם Safety זה סיפור גדול בכל הסיפור הזה, אגב ללעוס זכוכית . . .
אז כן - אבל הדברים פה הם . . . . כן, לגמרי נמצאים שם על הגבול . . .
33:53 מה ההבדל?
(רן) אבל אנחנו, ככה, מתקרבים לקראת יותר הסוף - ורציתי שוב להנחית את החללית [איזה תותחים ההודים!] . . . .
אז היינו ככה ב-30 אלף רגל, אוקיי, לא חייבים ל . . .
(אורי) . . . רציתי לשאול אותך האם אתה בטוח? . . . .
(רן) אוקיי . . . עכשיו כבר לא . . . Not anymore . . .
אבל כן, זאת אומרת, רציתי רגע לחזור לדבר על המוצר - עכשיו אני מפתח, ואני שואל את עצמי האם אני רוצה להתקין את ה-Extension הזה או לא. ויכול להיות שאני מכיר כלים אחרים בעולם של Code Generation . . .
והשאלה שאני שואל זה - מה ההבדל? אוקיי? . . . זאת אומרת, האם לא ניתן לייצר Test-ים באמצעות Copilot, או כלים אחרים ל-Code Generation?
בעצם, איזו ייחודיות יש ל-Codium על פני הכלים האחרים, שהם יותר גנריים - שאולי לא ספציפית מייצרים Test-ים, אבל כן מייצרים קוד? זאת אומרת, אתה תמיד יכול לעבור ולכתוב Test- ואז לתת לו “להשלים את החסר” . . .
- (איתמר) מעולה - אז הייתי רוצה לחלק את התשובה לשתיים:
- בחלק השני, אני רוצה להשוות בין מוצר של AlphaCode של של DeepMind, אם אתם מכירים
- אחד מארגוני ה-AI הכי חזקים בעולם
- שעל Context שנקרא CodeForces, אם אתם מכירים - הוא מגיע ל-45 Percentile
- זה נחשב “Mid-seniority”
- לעומת GPT-4, שמגיע ל-5th percentile from the bottom . . .
- שזה נחשב “Newbie”
- וההבדל ביניהם זה שב-AlphaCode - יש להם רכיב, יש להם Agent ספציפי, שמתמקד ב-Code Integrity, ב-Testing, אוקיי?
- והוא שונה מהרכיב של ה-Code Generation
- זה החלק השני של התשובה . . . .
- (איתמר) כן . . . לא, לא! סליחה . . . - CodeForces זו תחרות לתוכניתנים . . . .
- בוא נתמקד בחלק הזה, ורק בזה - בשביל המחשה של מה אנחנו עושים שונה.
- אז CodeForces זו תוכנית, או “תחרות לתוכניתנים”, אתם יכולים . . . כל כמה זמן יש שם את התחרות . . . .
(רן) . . . וכל מיני אנשים מתמודדים - ובין השאר יש גם מכונות . . .
- (איתמר) נכון, ויש שם Rating - כמו שיש Rating בשחמט, למי שאוהב את זה . . . .
- ואתה מתחרה כאילו מול המחשב יותר מאשר מול לאנשים - ובסוף יש לך איזשהו Rating.
- ו-OpenAI התחרו עם GPT-4 על ה-Context הזה, של CodeForces
- (רן) והגיעו ל-5% התחתונים . . . .
- (איתמר) התחתונים!
- להבדיל, אגב, מ-GRE ו-Medicine ו-History . . .
- (רן) . . . ששם ב-85% העליונים . . .
- (איתמר) בעליונים! כאילו, יש רק 15% יותר טובים מהם, של אנשים.
- ופה יש 95% . . . איך זה יכול להיות?! הרי אנחנו נורא אוהבים להשתמש ב-Copilot וב-ChatGPT
- למי שמרשה - ומי שלא - עושה את זה גם ככה, נכון? . . . .
- אז איך זה יכול להיות?
- אז יש לנו פה . . . .
(רן) אז (1) - בתחרות עצמה יש Bias - כי מי שבא להתמודד, הוא כבר כנראה ממש טוב . . .
- (איתמר) נכון, אבל הם עשו איזשהו . . .
(רן) . . . .אבל עדיין - הם מגיעים נמוך.
- (איתמר) נכון, אז הם עשו איזשהו Rating . . . כאילו, ב-Rating שלהם הם נחשבים “Newbie”’, ממש ככה.
- אבל סבבה - גם אם לא, אז בוא נסתכל, כי הנקודת-ייחוס שלי אגב . . . . זו נקודה טובה, אבל נקודת-היחוס שלי זו מערכת אחרת, שנקראת AlphaCode
- ו-AlphaCode זה, למי שמכיר - DeepMind, שיצאו עם AlphaGo, שניצחה תחרויות של Go וגם את אלוף העולם
- וגם את AlphaFold, על כיפול פרוטאינים (חלבונים, Proteins) וכל מיני דברים כאלה
- ועכשיו, לפני שנה או חצי שנה, הם הגישו גם כן . . . התחרו - והם עשו פי-9 יותר טוב מ-GPT-4 . . .
- עכשיו, יש להם פחות או יותר שני רכיבים . . . זה לא רכיב, זה שתי תתי-מערכות במערכת שלהם -
- ב-Codey - לפני שבועיים, כי הקראת קודם את התאריך, אז אפשר לתת נקודת-ייחוס
- [תכל’ס Feature חשוב בפרקים בתקופה הזו . . . .]
- אז יצא מודל של קוד ב-GCP, שנקרא Codey, אז משתמשים . . .
- אבל ממול זה יש מערכת - זה לא בדיוק מודל . . . .
- כמו שאמרתי לכם, גם אצלנו המערכת היא לא Per-se קריאה למודל - “תחזיר תשובה”
- מה ש-Code Generation עושה . . .
- יש שם מערכת שלמה של Analysis - גם Static וגם Dynamic וכל מיני דברים כאלה, וכמה קריאות למודלים
- אז יש להם מערכת כזאת.
- והשילוב שלהם ביחד גרם לניצחון הגדול, זה מה שאני אומר
(רן) זה כמו “סיעור-מוחות” - שני אנשים יושבים בחדר: אחד נותן תשובה ראשונית, השני משפר אותו - ואז הם עושים אולי שיחה ביניהם . . . זה מה שקורה שם.
- (איתמר) ממש ככה . . . אמרת לי בהתחלה, שיש פה בחוג המאזינים אולי גם כמה Data Scientists שמקשיבים לנו, חוץ ממפתחים . . . .
- אז ב-2016 או 2018, היתה מערכת שנקראת Generative Adversarial Network (GAN)
- בעצם היתה שם מערכת של Generative שמייצרת תוכן - ו-Adverse שבודק אותו
- אחת שמדפיסה כסף - ואחת שאומרת האם זה מזויף
- וביחד הם מצליחים עוד לשפר אחד את השני.
- אז אתה חושב, שאנחנו קצת מחזירים את ה-Concept הזה
- לא אנחנו - AlphaCode הראו את זה
- שבעצם, יש מערכת שמייצרת קוד - ושנייה שבודקת
- וביחד, יש פה ממש “סגירה של Loop”, שגורם לקוד שהולך ומשתפר . . .
(רן) סימביוזה . . . .
- (איתמר) בדיוק,
(רן) הנה עוד Buzzword! . . .
- (איתמר) מדהים . . . אבל זה חלק מה-Buzzwords האלה, שלא נחשבים לגמרי Buzzwords, כי הן Program-fit . . . .
(רן) כי זה מביולוגיה, זה בסדר . . .
- (איתמר) כן, זה כמו Program-fit, שהוא Buzzword אבל הוא גם אמיתי כזה . . . . אז סיביוזה, סבבה.
- אז המודלים ה-Generative-יים - אין להם, בפשטות שלהם היום - אין להם את המנגנון הזה, של “הפידבק החוזר”
- וזה מה שאמור . . . .
- אז לצורך העניין, הרבה מאוד מהלקוחות שלנו, בין אם זה מפתחים חינמיים או Enterprise Teams וכו’ - אז הם משלבים את שני הכלים האלה, ביחד.
- לנו לא משנה אם בנאדם כתב את הקוד או Generative Tool, כמו Copilot וכו’ כתבו את הקוד
- אנחנו נעזור לתת את אותו Adversarial, כביכול
- אז זה שוני מאוד גדול
- ב-Stack, ב-UX/UI, ב-Output-ים . . . .
- אגב, רק שלא ישמע - יש לנו עוד דרך ארוכה להשתפר
- יש מקומות שאנחנו חזקים יותר, כמו ב-Backend, מאשר ב-UI Per-se
- ויותר ב-Component Testing מאשר Integration Testing . . .
- רק כדי לסבר את האוזן רגע, לא . . .
39:27 סיכום - וסיפור קצר . . .
(רן) כן, טוב - אז אנחנו ממש ככה לקראת הסוף, ויש מלא דברים שרצינו לדבר עליהם ולא הגענו לדבר עליהם . . .
א' -יש עוד מלא אתגרים . . .
(אורי) . . . ונראה לי גם חסמנו את כמות ה-Buzzwords היומית . . .
(רן) הגענו ל-Cutoff שלנו, כן . . . .
אז גם בנושא של איך לשלב טכנולוגיות AI בתוך מוצרי-תוכנה, לא דיברנו בכלל על איך זה לפתח כלי למפתחים, איך זה לעבוד עם IDEs שונים, והאתגרים ההנדסיים שקורים שם - אז אולי נצטרך לדבר שוב, איתמר, אבל בכל אופן, תודה רבה שבאת.
ממש לפני סיום - כמה מילים על החברה: איפה אתם נמצאים, פיזית? האם אתם מחפשים לגייס? מה עוד היית רוצה שאנשים ידעו עליכם?
- (איתמר) מעולה, אז קודם כל אנחנו יושבים במגדלי חג'ג' ברחוב הארבעה.
- ואנחנו 20 איש - וגדלים.
- אנחנו מגייסים הרבה . . . . אני מקווה שלא ישמע יותר מדי פלצני, אבל הרבה לפי, כאילו, Talent.
- מחפשים כאילו אנשים חזקים, כי אנחנו מאמינים שהבנץאדם עושה את התפקיד ולא התפקיד עושה את הבנאדם.
- ויחד עם זאת - יש Job Descriptions שפתוחים
- אבל במקום לתאר אותם, אני רוצה דווקא לספר איזה סיפור מאוד קצר:
- אז אור הילטש, אני לא יודע אם אתם מכירים, אני מניח שכן
- [אפשר להתחיל כאן - פרק #275 – אור הילטש ודאטא נדל"ני]
- חוץ מזה שהוא חבר אז הוא גם “אושיה”, אז אני מניח שאתם מכירים . . .
- אז הוא עשה לי שיתוף ב-Screenshot, שיש איזו קבוצה של CTO ו-VP R&D בישראל
- כאלה מוצלחים - אז אני לא שם . . .
- (רן) לא יודע - אני שם, אז אני לא בטוח לגבי ההצלחה . . . .
- . . . אז הוא עשה לי Screenshot, והראה שמישהו כתב “שמעתם על החברה הזאת, Codium.ai - החצופים האלה, שבנו מוצר שנראה שבינתיים הולך להם די טוב - ואין להם CTO ו-VP R&D! איך יכול להיות, איך זה יכול להיות? יכול להיות שאתם קצת מיותרים?” וכו’ . . .
- אז כן, למרות שיש לנו בצוות, לדעתי, ארבעה CTO-ים לשעבר או VP R&D לשעבר
- אנחנו, למשל ה-Founder-ים - אני לקחתי תפקיד, עברתי מ-CTO ל-CEO, מאתגר את עצמי בזה
- השותף שלי הוא ה-CPO . . . .
- אז אין לנו כרגע למשל VP R&D - ואנחנו פתוחים . . . .
- זה לא משהו דחוף, אנחנו מסתדרים די טוב
- אבל מאוד מאוד מאמינים שבסופו של דבר, למרות שעד כאן הלך לנו די טוב, אנחנו כן פתוחים למשל ל-VP R&D וגם ל-CTO.
- אז מי שרוצה לאתגר את עצמו איתנו - מוזמן לבוא ולהתקשר אליי.
(רן) יש מי שכותב Test-ים? הכי חשוב . . .
- (איתמר) כן, בטח . . .
- קודם כל, אתה יודע - חייבים . . . אנחנו משתדלים להשתמש במוצר של עצמנו
- גם במוצר שהשקענו בו את רוב הזמן, שזה ה-Extension או Plugin ב-IDE
- אבל גם אותו מוצר שמתחבר ל-GitHub ול-GitLab, שעושה לך את ה-Gateway האחרון וכדומה
- (רן) . . . שנקרא PR Agent
- (איתמר) שנקרא PR Agent . . . הוא Open Source, אגב - אפשר להשתמש בו ב-Hosted הזה שלנו
- וזה עושה לך Automation של Description, של Review
- כדי שבסוף יהיה לך קל To Streamline the Process
- [רק אומר ש-Whisper תמלל את המשפט הזה ככה - “כדי שבסוף יהיה קל ל-Streamline את הפרוסס” . . . תחשבו על זה מה שאתם רוצים]
- אנחנו משתמשים בזה בעצמנו
- ויחד עם זאת, יש לנו כן - וזה אולי נקודה מעניינת, אבל נגמר לנו הזמן - יש לנו QA, אבל הוא מפתח . . .
- כי ממש . . . הוא חייב להיות, כי אנחנו בונים כלי מפתחים - אז הוא ממש משמש כמפתח,
- אבל יש לו גם תפקיד מעניין של “להתנסות על Open Sourcing”, וככה גם לעשות קצת Dev Advocate . . .
- אז יש לנו - למרות שאנחנו כלי למפתחים -Automation של Testing במובן מסוים
- אבל עדיין יש לנו Tester . . .
(רן) כמו שבחברת משחקים משלמים לך כדי לשחק - פה משלמים לך כדי לפתח . . . .
- (איתמר) נכון, כן, בדיוק.
תודה רבה איתמר! היה מרתק. להתראות.
האזנה נעימה ותודה רבה לעופר פורר על התמלול!