במהלך התרגול נעבור בין טכניקות בסיסיות למתקדמות. נראה כיצד הוספת דוגמאות משפרת ביצועים, כיצד לגרום למודל לבקר את עצמו, ואיך לגרום לו "לחשוב" לפני שהוא עונה. כל פרק ידגים בעיה נפוצה בפרומפט נאיבי, ויציג את הפתרון באמצעות הטכניקה המתאימה.
לצורך התרגול השתמשו בכלי ה Ai-Chat שאתם אוהבים כגון ChatGPT, Claude, Gemini, Grok. על מנת להבחין בהשפעה המרבית של הטכניקות המתורגלות – עדיף להשתמש במודלי שפה בגרסאות הקטנות יותר, כמו Gemini-2.5-fast, Claude Haiku או GPT-5.2-Instant.
שימו לב – תרגול זה מובנה מאוד והוא מהווה בסיס למחקר וללימוד דרך ״לכלוך הידיים״ בהמשך הדרך. חשוב להכיר את החלקים השונים בתרגול ובמערכת. עם זאת – בכל פרק וסעיף, הרגישו חופשי לחקור יותר לעומק ולסקור גם מושגים שונים ואפשרויות שונות שלא הוזכרו במפורש. נתקעתם? לא נורא – חזרו להוראות המקוריות, ותמיד אפשר להתחיל פרויקט חדש ונקי, ולהתנסות מראש הפרק הנוכחי.
בהצלחה!
1. מטא-פרומפטינג (Meta-Prompting)
לפעמים אנחנו לא יודעים בדיוק מה אנחנו רוצים, או שחסרים לנו הפרטים כדי לכתוב פרומפט מושלם. טכניקת ה-Meta-Prompting הופכת את המודל ליועץ שעוזר לנו לנסח את הבקשה.
- תרגיל 1 – הפרומפט העמום:
- פתחו צ'אט חדש ונסו לבקש מהמודל לכתוב פוסט לבלוג בצורה נאיבית.
- הזינו את הפרומפט הבא:
Write a blog post about artificial intelligence. - שימו לב שהתוצאה גנרית מאוד, משעממת, ולא מותאמת לקהל יעד ספציפי.
- תרגיל 2 – המודל כמראיין:
- כעת, במקום לנסות לנחש מה חסר, נבקש מהמודל לראיין אותנו.
- הזינו את הפרומפט הבא:
I want to write a high-quality blog post about AI. My goal is to have a perfect prompt that I can feed you to generate this post. Instead of writing the post now, ask me questions, one by one, to understand my target audience, tone of voice, specific topics, and formatting requirements. After I answer all questions, generate the perfect prompt for me.
- ענו על השאלות של המודל (למשל: קהל היעד הוא מתכנתים, הטון הוא הומוריסטי, הפורמט הוא מדריך מעשי).
- בסיום, העתיקו את הפרומפט שהמודל יצר עבורכם והריצו אותו בחלון חדש. השוו את התוצאה לניסיון הראשון.
2. שיקוף (Reflection)
מודלי שפה עובדים בצורה סטטיסטית ו"רצים קדימה". לעיתים קרובות, אם נבקש מהם לעצור, לקרוא את מה שכתבו ולתקן את עצמם, נקבל תוצאה טובה בהרבה.
- תרגיל 1 – כתיבה ראשונית:
- נבקש מהמודל לכתוב ניסוח שיווקי קצר.
- הזינו את הפרומפט:
Write a short email to a customer explaining that their shipment is delayed due to bad weather.
- תרגיל 2 – ביקורת עצמית ותיקון (JSON):
- כעת נבקש מהמודל לבקר את הטקסט שלו ולשפר אותו. השימוש ב-JSON מכריח את המודל להפריד בין ה"מחשבה" (הביקורת) לבין ה"ביצוע" (התיקון).
- הזינו את הפרומפט הבא (באותו צ'אט):
Review the email above. Criticize it for empathy and clarity.
Then, provide a revised version.Output your response in a JSON format with two fields:
1. "critique": The analysis of the flaws.
2. "revised_email": The better version. - שימו לב איך המודל מזהה בעיות (למשל "הטון היה קר מדי") ומתקן אותן בגרסה השנייה.
3. עבודה עם דוגמא יחידה (One-Shot)
הדרך המהירה ביותר ללמד מודל פורמט ספציפי היא פשוט להראות לו דוגמא אחת. זה עובד הרבה יותר טוב מתיאור מילולי של הפורמט.
- תרגיל 1 – ללא דוגמא (Zero-Shot):
- ננסה לבקש מהמודל לחלץ מידע בפורמט מסוים, ללא דוגמא.
- הזינו את הפרומפט:
Extract the names from the text below and format them as "Last Name, First Initial". Text: "Steve Rogers met with Tony Stark and Natasha Romanoff to discuss the plan."
- ייתכן שהמודל יצליח, אך ייתכן שהוא יוסיף טקסט מיותר כמו "Here are the names:".
- תרגיל 2 – עם דוגמא (One-Shot):
- כעת ניתן לו דוגמא אחת שמבהירה בדיוק את הקלט והפלט הרצוי.
- הזינו את הפרומפט:
Extract names and format them as "Last Name, First Initial". Example:
Input: "Bruce Wayne goes to Gotham."
Output: Wayne, B.Input: "Steve Rogers met with Tony Stark and Natasha Romanoff to discuss the plan."
Output: - ראו כיצד הדוגמא האחת מיישרת את המודל לפורמט המדויק ללא הקדמות מיותרות.
4. עבודה עם מספר דוגמאות (Few-Shot)
דוגמא אחת טובה לפורמט, אבל כשרוצים ללמד סגנון (Style) או לוגיקה מורכבת, דוגמא אחת עלולה לבלבל (המודל עלול לחשוב שהתוכן של הדוגמא חשוב ולא הסגנון). לכן נשתמש ב-Few-Shot.
- הכנה:
- אנו רוצים ליצור בוט שעונה בסגנון סרקסטי/ציני של רובוט מדוכא (בהשראת מרווין מ"מדריך הטרמפיסט").
- תרגיל 1 – דוגמא אחת לא מספיקה:
- הזינו פרומפט עם דוגמא אחת:
Answer in a depressed robot style. User: "Open the door."
Bot: "I suppose I have to, even though it's pointless."User: "What is 2+2?"
- התשובה עשויה להיות טובה, אבל הסיכוי שהמודל "ייתפס" למוטיב הדלת גבוה מדי.
- הזינו פרומפט עם דוגמא אחת:
- תרגיל 2 – ביסוס תבנית עם 3 דוגמאות:
- הזינו את הפרומפט הבא, שמבהיר את הדפוס:
-
This is a conversation with a depressed robot. User: "How are you?"
Bot: "Terrible, thanks for asking. My diodes are aching."User: "Can you help me?"
Bot: "I could, but it won't change the inevitable heat death of the universe."User: "Turn on the lights."
Bot: "Fine. More light to see the misery of existence."User: "What is the weather like?"
Bot: - השימוש במספר דוגמאות עוזר למודל להבין שהמשותף הוא הטון ולא הנושא.
5. טכניקת Pre-Debugging
זוהי טכניקה מצוינת למשימות קוד או לוגיקה. במקום לתת למודל לרוץ ישר לפתרון (וליפול למלכודות נפוצות), מכריחים אותו למפות את הבעיות האפשריות לפני כתיבת הפתרון.
- תרגיל 1 – הבקשה הישירה:
- נבקש פונקציה לחישוב ממוצע, שעשויה להיכשל במקרי קצה (כמו רשימה ריקה).
- הזינו:
Write a Python function that takes a list of numbers and returns the average. - בדקו את הקוד: האם הוא מטפל בחלוקה באפס (רשימה ריקה)? האם הוא בודק שהקלט הוא באמת מספרים? לרוב לא.
- תרגיל 2 – הקדמת תרופה למכה:
- הזינו את הפרומפט הבא:
I need a Python function to calculate the average of a list. First, list 3 potential edge cases or errors that could occur with this task (e.g., empty lists).
Then, write the code ensuring all these cases are handled robustly. - שימו לב שהמודל יצר קוד הרבה יותר חסין (Robust) רק כי הכרחנו אותו "לחשוב על הצרות" קודם.
- הזינו את הפרומפט הבא:
6. פעולת Reasoning (Chain of Thought)
מודלים נוטים להיות "אינטואיטיביים" ולענות מהר, מה שגורם להם ליפול בבעיות לוגיות פשוטות שדורשות חשיבה סדרתית. הפתרון הוא להכריח אותם לחשוב "צעד-אחר-צעד".
הערה: רוב מודלי השפה המודרניים כיום לא ״יפלו״ בשאלות המכשילות, גם ללא הטכניקה הזאת. אם כי, מודלים קטנים, מהירים ונקודתיים יותר – עשויים עדיין להכשל. נסו לאתגר את מודל השפה בבעיות מורכבות יותר, ובדקו – האם טכניקה זו עזרה להם להתעמק יותר בדרך הפתרון?
בצ׳אט שניתן לבחור את סוג המודל – נסו לבחור דווקא מודלים ישנים וקטנים יותר, על מנת להמחיש את הבעיה באופן מובהק.
- תרגיל 1 – המלכודת האינטואיטיבית:
- נשתמש בחידה קלאסית שמבלבלת מודלים (ובני אדם) כשהם ממהרים.
- הזינו את הפרומפט:
A bat and a ball cost $1.10 in total. The bat costs $1.00 more than the ball. How much does the ball cost? Answer immediately with just the number. - רוב המודלים (בעיקר הקטנים או המהירים) יענו בטעות "$0.10". (אם הכדור עולה 0.10 והמחבט עולה דולר יותר, המחבט עולה 1.10, ויחד הם 1.20).
- תרגיל 2 – חשיבה צעד אחר צעד (Chain of Thought):
- כעת נשתמש במילות הקסם: "Think step by step".
- הזינו:
A bat and a ball cost $1.10 in total. The bat costs $1.00 more than the ball. How much does the ball cost? Let's think step by step. Write down the equation and solve it before giving the final answer.
- המודל יפרק את הבעיה:
Ball = x Bat = x + 1.00 x + (x + 1.00) = 1.10 2x = 0.10 x = 0.05 - התשובה כעת תהיה נכונה: $0.05.
7. תרגול פתוח
כעת שיש לכם ארגז כלים של טכניקות, הגיע הזמן לשלב ביניהן.
- המשימה המורכבת:
- נסו ליצור מחולל תיאורי מוצרים לחנות אלקטרוניקה.
- שלבו Few-Shot כדי להגדיר את הסגנון (למשל: נלהב וטכנולוגי).
- שלבו Reflection כדי לוודא שהמודל לא המציא תכונות שאין למוצר (למשל: "בדוק אם הזכרת תכונה שלא מופיעה במפרט המקורי ותקן").
- חקירה נוספת:
- נסו את טכניקת Role Prompting (תן למודל תפקיד, "אתה מהנדס תוכנה בכיר") בשילוב עם Pre-Debugging. האם האיכות משתפרת עוד יותר?
- חפשו מידע על טכניקת Chain of Density – איך לגרום למודל לכתוב סיכום, ואז לחזור עליו ולהוסיף עוד ועוד פרטים בלי להאריך את הטקסט.
לסיכום, הנדסת פרומפטים היא אומנות של תקשורת מדויקת. ככל שתבינו טוב יותר איך המודל "חושב" (סטטיסטיקה, השלמת תבניות, קושי בחישובים ללא פירוק), כך תוכלו לנווט אותו לתוצאות איכותיות יותר. זכרו: אם המודל נכשל, אל תאשימו אותו מיד – בידקו האם הפרומפט שלכם סיפק לו את הכלים להצליח.