האנטומיה של פרומפט טוב לקוד
פרומפטפרומפט(Prompt)פרומפט (prompt) הוא ההוראה שאתם נותנים ל-AI בשפה טבעית — מה לעשות, באיזה הקשר ובאילו אילוצים. בתכנות עם AI, איכות הפרומפט קובעת ישירות את איכות הקוד: בקשה מעורפלת מחזירה ניחוש, בקשה מדויקת מחזירה תוצאה שמתאימה לפרויקט. (prompt) טוב לקוד בנוי מארבעה חלקים: הקשר (לאיזה קוד זה שייך), חוזה (מה הקלט ומה הפלט המדויק), אילוצים (מה אסור ומה מותר), ופורמט פלט (איך התשובה צריכה להיראות). כל חלק שאתם משמיטים, ה-AI ממלא בניחוש. ארבעת החלקים יחד הופכים בקשה מעורפלת לבקשה שה-AI באמת מבין — ומבצע נכון מהפעם הראשונה.
מאת צוות Core-Code · עודכן ב-2026-06-03.
למה בכלל מבנה? מה רע ב"תכתוב לי פונקציה"?
מבנה חשוב כי פרומפט מעורפל מכריח את ה-AI לקבל עשרות החלטות במקומכם — איזה קלט הפונקציה מקבלת, מה היא מחזירה, באיזה קובץ היא יושבת, ואילו ספריות מותר לה. כל החלטה כזו היא ניחוש, וכל ניחוש הוא נקודת כשל. בקשה מובנית מצמצמת את מרחב הניחושים עד שכמעט לא נשאר בו מקום לטעות.
קחו דוגמה אמיתית של לפני/אחרי. לפני: "תכתוב לי פונקציה שמחשבת הנחה". זה נשמע ברור, אבל ה-AI לא יודע: הנחה באחוזים או בשקלים? על מה — פריט בודד או עגלה שלמה? מה הקלט בדיוק? איפה הקוד גר? הוא ינחש את הכול. אחרי:
בקובץ cart.js הקיים, כתוב פונקציה applyDiscount(cart, percent)
שמקבלת אובייקט עגלה ומספר אחוז (0–100), ומחזירה את הסכום הסופי כמספר.
בלי ספריות חיצוניות. אם percent מחוץ לטווח — זרוק שגיאה.
ההבדל אינו אורך — הוא בהירות. מעניין שזה לא ייחודי לקוד: מחקר GEO מפרינסטון מצא שהוספת נתונים ומקורות מפורשים לתוכן העלתה את הסיכוי שמנוע AI יצטט אותו בכ-41% (Aggarwal et al., KDD 2024). הלקח זהה — כשנותנים ל-AI מידע ספציפי במקום עמום, הוא משתמש בו טוב יותר. פרומפט מובנה הוא בדיוק זה: מידע ספציפי במקום עמום.
לעומק (למתקדמים): מודל שפה דוגם את ההמשך מתוך התפלגות הסתברותית רחבה. כל פרט שאתם מקבעים — שם פונקציה, טיפוס קלט, איסור ספרייה — "מקצץ" את הזנב של ההתפלגות ומרכז את ההסתברות סביב הפתרון שהתכוונתם אליו. ארבעת החלקים (הקשר, חוזה, אילוץ, פורמט) הם ארבעה צירים שונים של קיצוץ. לכן הם משלימים זה את זה ולא חופפים: כל אחד מצמצם ממד אחר של אי-הוודאות.
איך מרכיבים פרומפט שלם, חלק אחרי חלק?
מרכיבים פרומפט שלם בשכבות: מתחילים מהפעולה הגרעינית, ואז מוסיפים הקשר שמצמיד אותה לקוד הקיים, חוזה שמגדיר קלט ופלט, אילוץ שמונע גלישה, ולבסוף פורמט פלט שקובע איך התשובה תיראה. כל שכבה עונה על שאלה אחרת שה-AI היה שואל — ולכן חוסכת ניחוש.
בואו נבנה ביחד פרומפט אמיתי לפונקציה שמאמתת כתובת אימייל. בכל שלב בחרו את החלק שמוסיף את השכבה הנכונה:
בונים פְּרוֹמְפְּט שלב אחר שלב
המטרה: פונקציה שמאמתת אימייל. נבנה אותה שכבה-שכבה — הקשר, חוזה, אילוץ, ופורמט פלט.
כתוב פונקציה שמאמתת כתובת אימייל...
ראיתם מה בנינו? פעולה גרעינית, ועליה ארבע שכבות: הקשר → חוזה → אילוץ → פורמט. זו בדיוק אותה משמעת של גבולות נכונים ל-AI — רק שכאן פירקנו אותה לארבעה רכיבים שאפשר לבדוק אחד-אחד. שימו לב שכל שכבה גם תואמת להפרדת אחריות (SoC): כל חלק בפרומפט אחראי על החלטה אחת בלבד.
איזה חלק חסר? תרגול זיהוי
הדרך המהירה לשפר פרומפט היא לזהות איזה מארבעת החלקים חסר. כשבקשה "לא יוצאת טוב", כמעט תמיד אפשר להצביע על רכיב שהושמט — בדרך כלל החוזה או האילוץ. נסו לזהות מה משלים את הבקשה הבאה:
השלימו את הפְּרוֹמְפְּט נכון
בקובץ api.js, כתוב פונקציה fetchUser(id) שמביאה משתמש מהשרת...
שמתם לב? התשובה הנכונה לא הוסיפה אורך סתם — היא הוסיפה את החלקים החסרים: חוזה ברור ואילוץ ממוקד. זה ההבדל בין "עוד טקסט" לבין "עוד בהירות".
עוגן מהיר לזיכרון: ארבעת החלקים
כדי שהמבנה יישאר אצלכם, שווה לעגן אותו במשפט אחד שאפשר לשלוף בכל פרומפט. השלימו את שמות ארבעת החלקים לפי הסדר שבנינו:
השלימו את החסר
בחרו את הטוקן הנכון לכל חלל. בחירה שגויה פשוט נסו שוב — אפשר להמשיך עד שמשלימים הכול.
context, contract, constraints, output-format — בעברית: הקשר, חוזה, אילוצים ופורמט פלט. ארבע מילים, ובכל פעם שפרומפט "לא יוצא", עברו עליהן ושאלו: איזה חלק שכחתי?
עכשיו יש לכם שלד שאפשר להניח עליו כל בקשה: ארבעה חלקים, כל אחד עונה על שאלה אחרת. בשיעור הבא נראה את הצד השני של אותו מטבע — לא רק מה אתם כותבים בפרומפט, אלא ניהול ההקשר שה-AI רואה מסביב לו. אתם בכיוון מצוין.
שאלות נפוצות
מה הם החלקים של פרומפט (prompt) טוב לקוד?
פרומפט טוב לקוד בנוי מארבעה חלקים: הקשר (לאיזה קוד זה שייך), חוזה (מה הקלט ומה הפלט המדויק), אילוצים (מה אסור ומה מותר), ופורמט פלט (איך התשובה צריכה להיראות). ככל שכל חלק ברור יותר, ה-AI מנחש פחות והקוד מדויק יותר.
מה ההבדל בין פרומפט קצר לפרומפט טוב?
פרומפט קצר מתאר רק מה רוצים; פרומפט טוב מתאר גם את ההקשר, את החוזה, ואת מה שאסור. קוצר אינו מטרה — בהירות היא המטרה. לרוב פרומפט מובנה של שלוש-ארבע שורות מביא תוצאה טובה בהרבה ממשפט אחד מעורפל.
צריך לכתוב חוזה (קלט/פלט) אם הבקשה פשוטה?
כן, וזה משתלם במיוחד בבקשות פשוטות. חוזה של שורה — "מקבלת מערך מספרים, מחזירה מספר" — לוקח חמש שניות לכתוב וחוסך סבב תיקונים שלם. בלי חוזה, ה-AI בוחר את הקלט והפלט במקומכם, ולא תמיד כמו שחשבתם.
קשור
סיימתם את השיעור?
סמנו כהושלם כדי לעקוב אחרי ההתקדמות שלכם במסלול.