פרומפט הוא הקלט שנותנים למודל AI כדי לומר לו מה להפיק. ב-ChatGPT, ב-Claude או ב-Gemini, זו ההודעה שמקלידים בתיבה, ועוד כל מה שמצרפים אליה: קובץ, צילום מסך, שגיאה מודבקת. המודל קורא את הפרומפט וכותב תשובה שממשיכה ממנו. אין לו שום חלון אחר אל מה שאתם רוצים, ולכן הפרומפט הוא כל הבקשה.
המילה מגיעה מהמשמעות היומיומית שלה באנגלית: to prompt someone פירושו לתת למישהו סימן לדבר או לפעול. פרומפט AI הוא הסימן. הוא יכול להיות שאלה, הוראה, בלוק טקסט עם משימה מצורפת, או תיאור של תמונה.
מה נכנס לפרומפט
שאלה של שורה אחת היא פרומפט תקין, ולתשובה של שורה אחת היא לעתים קרובות מספיקה. ככל שהבקשה נעשית ספציפית יותר, פרומפט נוטה לאסוף את אותם כמה חלקים:
- המשימה: מה לעשות, בדרך כלל פועל. להסביר, לכתוב, לתקן, לסכם, לתרגם, להשוות.
- הקשר: עובדות שהמודל לא יכול לנחש. מי אתם, מה אתם כבר יודעים, בשביל מה התוצאה.
- קלט: החומר לעבוד עליו. הקוד, המייל, הטבלה, המאמר.
- פורמט: הצורה של התשובה. רשימה, טבלה, שלוש פסקאות קצרות, JSON.
- מגבלות: גבולות. מספר מילים, מילים להימנע מהן, חלקים שאסור לשנות.
ההבדל בין פרומפט חלש לחזק הוא רק לעתים רחוקות ניסוח מתוחכם. הוא האם החלקים האלה נמצאים שם. "כתוב פונקציה שממיינת רשימה" משאיר למודל לנחש את השפה, את הנתונים ואת הסדר. הוסיפו את שלוש העובדות האלה והניחושים נגמרים. איך לכתוב פרומפט עובר על כל חלק עם דוגמה שאפשר להפעיל ולכבות.
דוגמאות לפרומפטים
פרומפטים נראים שונה לפי מה שרוצים לקבל בחזרה. עברו בין הלשוניות כדי לראות פרומפט לכתיבה, אחד לקוד ואחד ללמידה, כל אחד עם תשובה טיפוסית.
היי, ציפיתי לקבל את הדוח ביום שני ועדיין לא קיבלתי אותו. אני צריך אותו עד סוף היום כדי לשלוח את המספרים ללקוח בזמן. אפשר לעדכן אותי מתי הוא יהיה מוכן? תודה.
פרומפטים לתמונות עובדים באותה צורה, אבל התשובה היא תמונה. מחוללי תמונות, כולל אלה שמובנים בחלק מאפליקציות הצ'אט, מגיבים הכי טוב לתיאור של הנושא, הסביבה, הסגנון והמסגור:
איור בצבעי מים של רובוט קטן שמשקה צמחים במרפסת בעיר עם הזריחה, אור רך וחם, צילום רחב.
כל פרט מוריד בחירה שהמודל היה עושה בשבילכם. השמיטו את "צבעי מים" ואולי תקבלו תצלום; השמיטו את "צילום רחב" ואולי המרפסת תיחתך מהתמונה.
פרומפט, תשובה ו-system prompt
בצ'אט טיפוסי עם מודל AI מעורבים שלושה חלקי טקסט, וכדאי להקפיד על השמות שלהם:
- הפרומפט (נקרא גם הודעת המשתמש) הוא מה שאתם שולחים לבקשה הזו.
- התשובה (נקראת גם response או completion) היא מה שהמודל כותב בחזרה.
- ה-system prompt הוא סט של הוראות קבועות שחל על כל השיחה. האפליקציה או המפתח קובעים אותו, ואתם יכולים להוסיף לו דרך הגדרות כמו הוראות מותאמות אישית או הוראות פרויקט.
הבלוק שלמטה מראה את שלושתם. ה-system prompt קובע כלל פעם אחת, והתשובה עוקבת אחריו למרות שהמשתמש לא חוזר עליו אף פעם.
כמעט! הנה רמז אחד: הריצו print(list(range(1, 4))) והשוו את הפלט לשני המספרים שהעברתם ל-range.
מה אתם שמים לב, ומה הייתם משנים בלולאה?
בלי ה-system prompt, מודל כנראה היה מגיש את התיקון, range(1, 11), מיד. ה-system prompt שינה את ההתנהגות לכל הודעה בצ'אט. System prompt מסביר איפה קובעים אחד ומה לשים בו.
הפרומפט הוא יותר מההודעה האחרונה שלכם
בשיחה, המודל לא זוכר תורות קודמים כמו שאדם זוכר. בכל פעם ששולחים הודעה, האפליקציה שולחת למודל את ה-system prompt ואת השיחה עד עכשיו, עם ההודעה החדשה שלכם בסוף. הטקסט המשולב הזה הוא מה שהמודל באמת מגיב אליו.
יש לזה שתי השפעות מעשיות. ראשית, הודעות קודמות ממשיכות לעצב תשובות מאוחרות יותר: אם אמרתם "השתמש ב-TypeScript" לפני עשר הודעות, ההוראה הזו עדיין בתוקף. שנית, יש גבול לכמות הטקסט שהמודל יכול לקלוט בבת אחת, והוא נמדד בטוקנים. כששיחה גדלה מעבר לו, האפליקציה צריכה למחוק או לדחוס חלקים ישנים או לבקש מכם לפתוח צ'אט חדש, והוראות מתחילת הצ'אט עלולות להפסיק להשפיע. טוקנים וחלון הקשר מסביר איך הגבול הזה עובד.
פרומפטים הם לא שאילתות למסד נתונים
לבדו, מודל לא מחפש שום דבר. הוא מייצר את התשובה פיסת טקסט קטנה אחת בכל פעם, ובוחר כל פיסה על סמך הפרומפט והדפוסים שלמד באימון. (אפליקציות עם חיפוש באינטרנט או כלים לקבצים מביאות קודם חומר ומוסיפות אותו לפרומפט; המודל עדיין כותב מתוך הטקסט שמולו.) בגלל זה אותו פרומפט יכול לתת תשובות קצת שונות בשתי הרצות, ובגלל זה מודל יכול לטעון משהו שקרי בביטחון מלא כשהפרומפט שואל על עובדה שאין לו.
משם נובעים שני הרגלים. הכניסו לפרומפט עצמו את העובדות שהתשובה צריכה להישען עליהן, כמו המסמך, המספרים או הודעת השגיאה, במקום לצפות שהמודל יכיר אותן. ובדקו כל עובדה, נתון או ציטוט בתשובה לפני שאתם משתמשים בהם.
שאלות נפוצות
מה זה פרומפט ב-AI?
פרומפט הוא הקלט שנותנים למודל AI: השאלה, ההוראה או החומר שמקלידים, ולפעמים תמונות או קבצים שמצרפים. המודל קורא את הפרומפט ומייצר תשובה שממשיכה ממנו. כל מה שהמודל יודע על הבקשה שלכם מגיע מהפרומפט ומהשיחה שמסביבו.
מה המשמעות של המילה prompt?
באנגלית יומיומית, to prompt someone פירושו לתת למישהו רמז או דחיפה לומר או לעשות משהו. ב-AI, פרומפט הוא הטקסט שנותן למודל את הדחיפה להפיק תשובה, קטע קוד או תמונה. בעברית משתמשים במילה האנגלית כמו שהיא, פרומפט; לפעמים מתרגמים אותה ל-"הנחיה", אבל "פרומפט" הוא המונח הנפוץ.
מה דוגמה לפרומפט טוב?
"הסבר מה זה dictionary ב-Python למישהו שמכיר רשימות אבל לא dictionaries. השתמש בדוגמה אמיתית אחת ושמור על פחות מ-100 מילים." הוא מציין את המשימה, את הרמה של הקורא, מה לכלול ומה האורך. גרסה חלשה יותר של אותה בקשה היא פשוט "הסבר dictionaries", שמשאירה למודל לנחש את כל זה.
האם פרומפט זה אותו דבר כמו שאלה?
שאלה היא סוג אחד של פרומפט. פרומפט יכול להיות גם הוראה ("שכתב את המייל הזה"), בלוק של חומר עם משימה מצורפת (שגיאה מודבקת ועוד "למה זה נכשל?"), תיאור של תמונה ליצירה, או תחילת טקסט שהמודל ימשיך.
מה ההבדל בין פרומפט ל-system prompt?
הפרומפט הוא ההודעה שאתם שולחים לבקשה אחת. System prompt הוא סט נפרד של הוראות שחל על כל השיחה, כמו "אתה מורה פרטי, לעולם אל תיתן את הפתרון המלא". מפתחים קובעים אותו דרך ה-API; באפליקציות צ'אט, הוראות מותאמות אישית והוראות פרויקט ממלאות את אותו תפקיד. ראו system prompt.