הנדסת פרומפטים

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

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

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

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

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

בשנת 2022, שוחררו לציבור מודלי למידת מכונה המשמשים ליצירת תמונות באמצעות טקסט, כאשר הפופולריים שבהם הם DALL-E 2, Stable Diffusion, Midjourney ו-Photoleap של חברת לייטריקס הישראלית. העובדה שמודלים אלו מייצרים תמונות כתגובה לקלט טקסטואלי, יצרה קטגוריה חדשה של הנדסת פרומפטים הממוקדת בטקסט לתמונה.

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

## אתגרי מדידה והערכה
לצד היתרונות והחסרונות הייחודיים של הנדסת פרומפטים, קיים אתגר משמעותי במדידה ובהערכה שיטתית של מידת האפקטיביות שלה. בניגוד למערכות תוכנה קונבנציונליות, בהן ניתן למדוד ביצועים באופן כמותי וחד-משמעי (לדוגמה, מהירות חישוב או צריכת זיכרון), הערכת איכות הפלט של מודלי בינה מלאכותית יוצרת היא מורכבת יותר. הקושי נובע מכמה סיבות:
* **סובייקטיביות:** איכות התוכן שנוצר על ידי AI, במיוחד בתחומים כמו יצירה אמנותית, טקסט או מוזיקה, היא לרוב סובייקטיבית ותלויה בפרשנות אנושית. מה שנחשב "איכותי" או "יצירתי" בעיני אדם אחד, יכול להיות פחות מוצלח בעיני אחר.
* **היעדר מדדי הערכה אוטומטיים:** למרות קיומם של מדדים אוטומטיים מסוימים (כמו BLEU לתרגום מכונה), הם אינם לוכדים את כלל ניואנסים של איכות, יצירתיות או דיוק, במיוחד בתוכן פתוח ולא מובנה.
* **התאמה למטרות מגוונות:** אותו פרומפט יכול לייצר פלט שמתאים למטרה אחת אך לא לאחרת. לדוגמה, טקסט שנוצר עשוי להיות יצירתי אך לא מדויק עובדתית, או להפך. קשה להגדיר "הצלחה" באופן אחיד לכל היישומים.
* **"הזיות" וטעויות עדינות:** מודלים גנרטיביים עלולים לייצר "הזיות" (Hallucinations) – מידע שנשמע אמין אך שגוי עובדתית. זיהוי טעויות אלו דורש לעיתים קרובות בדיקה אנושית קפדנית, במיוחד כשמדובר בנושאים מורכבים.
הערכה של הנדסת פרומפטים לרוב משלבת שיטות כמותיות ואיכותיות. היא כוללת בדרך כלל סקרי אנוש (Human Evaluation), שבהם בני אדם מדרגים את איכות הפלט של המודל על פי קריטריונים שונים. עם זאת, שיטות אלו יקרות, גוזלות זמן וקשה להרחיב אותן לקנה מידה גדול.

## שימושים זדוניים
**[[הזרקת פרומפט]]ים** היא תת-תחום בענף האקספלויט (ניצול פרצות אבטחה) וממוקדת במודלי למידת מכונה. התקפה בתחום זה נעשית כאשר משתמש זדוני מחדיר למודל פרומפט הגורם למודל לבצע פעולות שאינו אמור לעשות. אחד הסוגים הנפוצים של הזרקת פרומפטים נקרא jailbreak, במסגרתו "משכנעים" את המודל לספק תשובה שהוא לא תוכנת לספק, למשל על ידי העמדת פנים שהבקשה היא במסגרת "משחק תפקידים".
## קישורים חיצוניים

## הערות שוליים

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