הסרטון הזה מסתכל על פרומפטינג בשרשרת מחשבה ועל פרסונות של מומחים. נשווה בין מה שהמחקרים מצאו לבין הטענות שאנשים משמיעים על הטכניקות האלה. אחר כך נבדוק שינוי בפרומפט מול בנצ'מרק. זאת הגישה שתשתמשו בה במעבדה כדי לגלות מה עוזר בבעיות שבחרתם.
בסרטון הקודם עיצבנו את מה שהמודל עונה. הטכניקה הבאה נוגעת לדרך שבה הוא מגיע לשם. ניקח בעיה מילולית קטנה. עט עולה שני דולר. מחברת עולה שלושה דולר יותר מהעט. ואנחנו רוצים לדעת כמה עולות שתי מחברות ועט. התשובה שמוצגת כאן היא שמונה, וזה שגוי. זה ממחיש מה יכול לקרות כשמודל נותן תשובה בלי עבודת ביניים מועילה.
עכשיו אנחנו מבקשים ממנו לחשוב שלב אחר שלב במקום. עט עולה שני דולר, מחברת עולה חמישה דולר, ופעמיים חמש ועוד שתיים זה שנים עשר דולר. בדוגמה הזאת, כתיבת שלבי הביניים מובילה לתשובה הנכונה. כשמבקשים מהמודל לכתוב את השלבים, קוראים לזה פרומפטינג בשרשרת מחשבה. השלבים עדיין דורשים בדיקה, אבל הם נותנים למודל יותר מרחב לעבוד על הבעיה.
מחקרים הראו שזה עובד. דוגמאות פתורות שכוללות את שלבי החשיבה שלהן משפרות את התוצאות במשימות חשיבה. למעשה, מחקר נוסף מצא שגם בלי לתת דוגמאות, הוספה של שורה אחת, "let's think step by step", משפרת את הדיוק באותו מודל. בגלל זה think step by step נעשה נפוץ כל כך. אבל הרעיון לא נשאר טריק של פרומפטינג. הוא הוטמע במודלים שאנחנו משתמשים בהם היום.
מודלי חשיבה מאומנים לכתוב עבודת ביניים לפני התשובה הסופית. עבודת הביניים הזאת בנויה מטוקני חשיבה, והיא המשך ישיר של פרומפטינג בשרשרת מחשבה. הגדרת החשיבה או המאמץ קובעת כמה ממנה המודל עושה, אז אין צורך בביטוי קבוע כדי להפעיל אותה.
הצעה נפוצה נוספת היא לתת למודל פרסונה, למשל you are an expert Python developer. הרעיון מאחורי זה הוא שלהגיד למודל שהוא מומחה יגרום לו לענות כמו מומחה. אז השאלה הכנה היא, האם זה באמת מחזיק כשמודדים?
חלק מהמחקרים מצאו שיפורים. קונג ועמיתיו השתמשו בפרומפטים של משחק תפקידים עם ChatGPT ושיפרו ציונים בבנצ'מרקים של חשיבה. במבחן של בעיות מילוליות באלגברה, הדיוק עלה מבערך חמישים וארבעה אחוז לשישים וארבעה אחוז. למה תפקיד עשוי לעזור? זכרו שהמודל למד לנבא טקסט מתוך דוגמאות שכוללות גם תשובות טובות וגם רעות. הסבר אפשרי אחד הוא שבקשה למומחה מזיזה את הסתברויות הטוקן הבא לכיוון תבניות של כתיבה זהירה של מומחה. זה מנגנון מוצע, לא ערובה לחשיבה טובה יותר. במודלים מודרניים יותר, שלבי אימון מאוחרים גם מזיזים את מודל השפה לכיוון תשובות איכותיות, אז לפרסונה אולי נשאר פחות להוסיף. השלב המאוחר הזה מתרחש אחרי שהמודל למד לנבא טקסט, ובו מכווננים את המודל לעקוב אחרי הוראות.
אפשר להפוך את ההוראה לקונקרטית יותר. "תפעל כמפתח Python בכיר, תעדיף את הספרייה הסטנדרטית, ותכתוב קוד עם טיפוסים" נותן למודל דרישות מסוימות לעקוב אחריהן. הפרטים המועילים כאן הם ההיקף והסגנון של העבודה. אפשר לבדוק אם הקוד משתמש בספרייה הסטנדרטית וכולל טיפוסים, בלי קשר לתווית של המומחה.
תשתמשו בתפקיד כדי להגדיר איזה סוג עבודה אתם רוצים. אותו קוד יקבל סקירה שונה מכל אחד מהתפקידים האלה. סקירת קוד לקורס של שנה ראשונה פירושה הסברים פשוטים, שמתמקדים במה שיבלבל מתחילים. סוקר UX מסתכל על מה שהמשתמש רואה, כמו הודעות שגיאה ותוויות. מפתח בכיר מסתכל על הארכיטקטורה, ועל כמה קל יהיה לתחזק את הקוד. תואר מרשים יותר, כמו world-class genius programmer, לא מתאר עבודה אחרת. אולי זה עבד בעבר על מודלים מוקדמים יותר, אבל היום זה כנראה לא יעזור הרבה.
הרבה פרומפטים נכתבים פעם אחת ומשמשים פעם אחת. אחרים משמשים שוב ושוב, בתוך skill, או נשלחים מהתוכנה שלכם בכל בקשה. בפרומפט כזה, משתלם להתייחס לפרומפטינג כאל פעילות הנדסית: לעשות שינוי ולמדוד את ההשפעה שלו. הדבר הראשון שאתם צריכים הוא בנצ'מרק. זה אוסף של פרומפטים לבדיקה עם תשובות מוסכמות או כללי ניקוד. תחליטו מה נחשב נכון לפני שמריצים את ההשוואה, ותכתבו את זה. במקרה הראשון, התשובה המוסכמת היא שתים עשרה, ואנחנו מחליטים מראש שגם "שנים עשר דולר" נחשב נכון. תשמרו את האוסף הזה קבוע לאורך ההשוואה.
כשהבנצ'מרק מוכן, תשנו דבר אחד בפרומפט. ככה תדעו מה גרם לכל הבדל בציונים.
תריצו את כל האוסף כמה פעמים, עם אותו מודל ואותן הגדרות. הרצה אחת יכולה לצאת במקרה, כי המודל דוגם את התשובות שלו.
ואז תשוו את הציונים. תשמרו את השינוי אם הוא עוזר לאורך ההרצות, ותבטלו אותו אם לא. תבדקו גם אילו מקרים השתנו, כי ציון כולל גבוה יותר יכול להסתיר כישלון חדש.
כשהמודל עצמו משתנה, תריצו שוב את אותו בנצ'מרק בלי לשנות את הפרומפט. מה שעזר למודל אחד אולי כמעט לא יעזור למודל אחר.
הלולאה הזאת היא המיומנות שנשארת לאורך זמן. היא נותנת לכם עדויות גם כשהכלים משתנים, במקום ביטוי שמישהו ממליץ עליו.
פרומפטינג בשרשרת מחשבה עזר במחקרים שראינו, ומודלי חשיבה כבר משלבים אותו בתוכם כטוקני חשיבה. אז תבדקו מה בקשה נוספת לשלבים משנה אצלכם.
פרסונה יכולה לתאר תפקיד או סגנון. ההשפעה שלה על הדיוק תלויה במודל ובמשימה, אז תווית של מומחה עדיין דורשת בדיקה.
עכשיו יש לכם דרך להעריך עצות על פרומפטינג: לבחור בנצ'מרק, לשנות דבר אחד, ולהשוות הרצות חוזרות. במעבדה, תשתמשו בתהליך הזה כדי לגלות מה עוזר ואיפה נשארים כישלונות.
זה הסרטון האחרון לשבוע הזה. נתראה במעבדה, ובהצלחה עם הפרומפטים.