במאמר הזה
יש טענה שנשמעת הרבה לאחרונה: המודלים כבר כל כך חזקים, שאין טעם להשקיע בכתיבת פרומפטים. בפועל, ההפך הוא הנכון. ככל שהמודלים משתפרים, הפער בין פרומפט בינוני לפרומפט טוב מתורגם ישירות לפער בתוצאה: מודל חזק עם הנחיה מעורפלת ייתן תשובה סבירה, ומודל חזק עם הנחיה מדויקת ייתן תוצר שאפשר להכניס לתהליך עסקי בלי לגעת בו.
OpenAI מפרסמת מדריכים רשמיים להנדסת פרומפטים, גם בתיעוד למפתחים וגם ב-Cookbook שלה. המדריכים האלה מבוססים על ניסיון מצטבר ועל מחקר, והם רלוונטיים לכל מי שעובד עם מודלי שפה: ממי שכותב מייל ב-ChatGPT ועד צוותים שבונים אוטומציות וסוכני AI. ריכזנו כאן את חמשת העקרונות החשובים ביותר, עם דוגמה קצרה של לפני ואחרי לכל אחד.
1. להיות ספציפיים וברורים
העיקרון הראשון במדריך של OpenAI הוא לכתוב הוראות ברורות. המודל לא קורא מחשבות: אם לא ציינתם אורך, קהל יעד, טון או מה לכלול ומה להשמיט, הוא ינחש. וכשמודל מנחש, מקבלים ממוצע של האינטרנט במקום את מה שרציתם.
לפני: "כתוב לי פוסט על המוצר החדש שלנו."
אחרי: "כתוב פוסט לינקדאין באורך 120 עד 150 מילים על מערכת ניהול המלאי שלנו.
קהל היעד: מנהלי תפעול ברשתות קמעונאות.
טון: מקצועי אבל לא מכירתי.
כלול נקודה אחת על חיסכון בזמן ספירת מלאי, וסיים בשאלה לקוראים.
אל תשתמש בסימני קריאה."
ההבדל הוא לא באורך הפרומפט אלא בכמות ההחלטות שאתם מקבלים במקום המודל. כל פרט שלא הגדרתם הוא החלטה שהמודל יקבל בשבילכם.
2. לתת למודל הקשר ותפקיד
ב-API של OpenAI יש הפרדה בין הודעות מערכת (system או developer) לבין הודעות משתמש, וזה לא במקרה. הודעת המערכת מגדירה מי המודל, מה תחום האחריות שלו ובאיזה מידע הוא אמור להשתמש. בנוסף, OpenAI ממליצה לצרף לפרומפט טקסט ייחוס רלוונטי: מסמכים, נתונים או מדיניות פנימית, כדי שהמודל יענה מתוך המקורות שלכם ולא מתוך הידע הכללי שלו.
לפני: "ענה ללקוח ששואל על מדיניות ההחזרות."
אחרי (הודעת מערכת): "אתה נציג שירות של חנות ריהוט ישראלית.
ענה בעברית, בנימוס ובקצרה.
הסתמך אך ורק על מדיניות ההחזרות המצורפת למטה.
אם התשובה לא מופיעה במדיניות, כתוב שתעביר את הפנייה לנציג אנושי.
[כאן מודבק נוסח המדיניות המלא]"
ההנחיה "אם אינך יודע, אמור שאינך יודע והפנה הלאה" היא אחת ההגנות הפשוטות והיעילות ביותר מפני תשובות מומצאות.
3. לדרוש פורמט פלט מובנה
כשהפלט של המודל מוזן למערכת אחרת, לטבלה, לאוטומציה או לקוד, אי אפשר להסתפק בטקסט חופשי. OpenAI תומכת ביכולת שנקראת Structured Outputs, שמכריחה את המודל להחזיר JSON לפי סכימה מוגדרת. אבל גם בלי API, עצם ההגדרה של מבנה הפלט בפרומפט משפרת דרמטית את העקביות.
לפני: "סכם את שיחת המכירה הזאת."
אחרי: "סכם את שיחת המכירה הזאת בפורמט הבא בדיוק:
שם הלקוח:
צורך מרכזי:
התנגדויות שעלו: (רשימה)
שלב הבא מוסכם:
רמת בשלות לרכישה: גבוהה / בינונית / נמוכה
אל תוסיף טקסט מעבר לשדות האלה."
פלט מובנה גם קל יותר לבדיקה: אפשר לוודא אוטומטית שכל השדות קיימים, במקום לקרוא כל תשובה ידנית.
4. להראות דוגמאות במקום להסביר
העיקרון שמכונה few-shot learning מופיע בכל מדריך של OpenAI: במקום לתאר במילים את הסגנון או הפורמט הרצוי, מציגים למודל שניים או שלושה זוגות של קלט ופלט לדוגמה. המודל מזהה את התבנית ומחקה אותה, לעיתים טוב יותר מכל הסבר מילולי.
לפני: "כתוב תיאורי מוצר קצרים וקליטים."
אחרי: "כתוב תיאור מוצר לפי הסגנון בדוגמאות:
מוצר: כיסא ארגונומי דגם A
תיאור: הגב שלכם עובד קשה. הכיסא הזה עובד בשבילו.
מוצר: שולחן עמידה חשמלי
תיאור: יושבים כשנוח, עומדים כשצריך. בלחיצת כפתור.
מוצר: מנורת שולחן עם דימר
תיאור:"
שימו לב שהדוגמאות מגדירות בפועל אורך, טון ומבנה, בלי שנכתבה אף מילת הסבר. כשקשה לכם לנסח מה בדיוק אתם רוצים, כנראה שקל יותר להראות את זה.
5. לפרק משימות מורכבות ולתת למודל לחשוב
שני עקרונות מהמדריך הרשמי מתחברים כאן לאחד. הראשון: לפצל משימות מורכבות לתתי משימות פשוטות, כי מודלים טועים יותר כשמבקשים מהם לעשות הכול בבת אחת. השני: לתת למודל זמן לחשוב, כלומר לבקש ממנו לעבוד שלב אחרי שלב ולהציג את הדרך לפני המסקנה, במקום לקפוץ ישר לתשובה.
לפני: "בדוק אם הצעת המחיר הזאת כדאית לנו."
אחרי: "נתח את הצעת המחיר המצורפת בשלבים:
שלב 1: פרט את כל רכיבי העלות שמופיעים בהצעה.
שלב 2: השווה כל רכיב לתקציב שהגדרנו למטה.
שלב 3: סמן חריגות או סעיפים לא ברורים.
שלב 4: רק אחרי השלבים הקודמים, תן המלצה מנומקת: לאשר, לדחות או לחזור למשא ומתן."
כשמודל נדרש להראות את שלבי העבודה, קל יותר לאתר איפה הוא טעה, וקל יותר לסמוך על המסקנה כשהיא נשענת על ניתוח גלוי ולא על תחושת בטן של אלגוריתם.
מהפרומפט הבודד אל האוטומציה והסוכנים
חמשת העקרונות האלה חשובים בצ'אט יומיומי, אבל הם הופכים קריטיים כשעוברים לעולם של אוטומציות עסקיות וסוכני AI. הסיבה פשוטה: בצ'אט, אם התשובה לא טובה, מנסחים מחדש ומנסים שוב. באוטומציה שרצה מאות פעמים ביום אין מי שינסח מחדש. הפרומפט הוא הקוד.
כך זה נראה בפועל בפרויקטים שאנחנו בונים:
- ספציפיות והקשר הופכים להודעת מערכת קבועה שמגדירה לסוכן את התפקיד, את הגבולות ואת מקורות המידע המותרים.
- פלט מובנה הוא מה שמאפשר לחבר את המודל למערכות אחרות: CRM, מערכת פניות, מסד נתונים.
- דוגמאות משמשות לקיבוע סגנון וטון אחידים, כך שכל תשובה שיוצאת מהמערכת נשמעת כמו הארגון שלכם.
- פירוק לשלבים הוא הבסיס לארכיטקטורת סוכנים: במקום פרומפט ענק אחד, שרשרת של צעדים קטנים שכל אחד מהם ניתן לבדיקה ולניטור בנפרד.
העצה המעשית שלנו: קחו תהליך אחד שאתם כבר מריצים מול מודל שפה, ועברו עליו עם חמשת העקרונות כרשימת ביקורת. הגדירו תפקיד, הוסיפו הקשר, קבעו פורמט, צרפו דוגמה אחת טובה, ופרקו לשלבים. ברוב המקרים תגלו שהשיפור לא דורש מודל חדש או תקציב חדש. הוא דורש רק הנחיה טובה יותר.
ואם אתם רוצים לקחת את זה צעד קדימה, לאוטומציות וסוכנים שעובדים בשבילכם סביב השעון, זה בדיוק מה שאנחנו עושים ב-Agentic-dev. דברו איתנו.
ספרו לנו על תהליך אחד בשיחה של 30 דקות. נגיד לכם בכנות אם סוכן יכול לעשות אותו.


