הבלוג של ינון פרק

טיפים קצרים וחדשות למתכנתים

ארבע טעויות של AI ואיך לתפוס אותן בלי לקרוא את הקוד

20/09/2026

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

המשך קריאה

שומר סף

19/09/2026

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

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

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

וגם פה AI יכול לעזור.

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

ללמוד לראות ולהראות

17/09/2026

אי אפשר לתקן בעיה שלא רואים.

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

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

כלי Linter שרץ על הקוד ומוודא שהקוד כתוב לפי סטנדרט הוא התחלה.

סורק חולשות אבטחה שמוודא שהקוד לא כולל בעיות אבטחה ברורות יעזור לסוכן לראות את סעיף האבטחה.

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

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

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

היום למדתי: Cache וקלוד

16/09/2026

אנתרופיק שלחו לי אימייל לגבי סוכן שאני בונה:

"שמנו לב שהסוכן שלך לא מנצל מספיק את האפשרות לשמור פרומפטים ב Cache. אם תשמור Cache טוב יותר תוכל לחסוך 43% מהוצאות הטוקנים של הסוכן שלך"

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

איפה הקאץ'? אנתרופיק שומרת את המטמון ל-5 דקות וגובה מחיר גבוה יותר לטוקן בשביל להשתמש בשירות הנפלא. שווה אם הסוכן שלכם מנהל שיחות ארוכות עם לקוחות במסגרת חלון זמן של 5 דקות. אופוס למשל יעלה 5$ למיליון טוקנים או 6.25$ לאותם מיליון טוקנים כשמשתמשים ב cache של 5 דקות. מתקדמים יכולים להשתמש ב cache של שעה במחיר של 10$ לאותם מיליון טוקנים.

ההסבר המלא עם כל המחירים והקוד הרלוונטי זמין בדף שלהם כאן:

https://platform.claude.com/docs/en/build-with-claude/prompt-caching

ודוגמת קוד עם cache נראית כך:

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-5",
    max_tokens=1024,
    cache_control={"type": "ephemeral"},
    system="You are an AI assistant tasked with analyzing literary works. Your goal is to provide insightful commentary on themes, characters, and writing style.",
    messages=[
        {
            "role": "user",
            "content": "Analyze the major themes in 'Pride and Prejudice'.",
        }
    ],
)
print(response.usage.model_dump_json())

האמת של פיתוח תוכנה (זה לקח שבוע)

15/09/2026

פרויקט חדש. סוכן כותב קוד. כל פיצ'ר שאני מבקש עובד ומהר. מכונת הקסמים.

אחרי שבוע התחילו הבאגים.

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

כמה רחוק אפשר להגיע במערכת טלאי על טלאי? תלוי כמה גדולים הפיצ׳רים שאתם מבקשים. לי זה לקח שבוע וכעשרת אלפים שורות קוד להתחיל לראות את האשליה מתנפצת. לכם אולי זה ייקח קצת יותר או קצת פחות.

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

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

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

הזמנה לקורס מובילי AI בפיתוח תוכנה

14/09/2026

העבודה עם AI שינתה את הכללים. או לפחות כך זה הרגיש. כמעט כל פיצ׳ר במערכת אפשר לקבל היום בלחיצת כפתור, אבל והתוצאות בשטח? יותר מפתחים עובדים יותר קשה על מערכות פחות יציבות.

אין ספק שאנחנו מייצרים יותר קוד אבל שורות קוד מודדות כמות ולא ערך.

אין ספק שאנחנו פותרים יותר טיקטים, אבל כמה מהם נפתחו רק בגלל שטויות שה AI פספס?

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

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

לפני החפירות על הסילבוס זה הלינק לדף הקורס:

https://www.tocode.co.il/genai_course

תוכלו למצוא שם בצד שמאל למטה סוכנת AI ששילבתי ממש לכבוד הקורס הזה ושתעשה כמיטב יכולתה לענות על כל שאלה.

המשך קריאה

מ"טוב" ל"מעולה"

13/09/2026

התחלתי אפליקציית קונספט חדשה עם אסטרה 6. בינתיים התוצאה מדהימה (אשתף בקרוב) אבל יותר חשוב התהליך - המערכת נבנית בקצב מהיר בלי שקראתי שורת קוד אחת, הכל בממשק השיחה.

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

I fixed both issues. The service is running, and all 183 tests pass.

ובאמת הנושא תוקן והפיצ'ר החדש עובד.

אך יש עדיין שני פערים מורגשים בתהליך:

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

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

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

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

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

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

היציאה של שופיפיי מריאקט נייטיב והאם זה צריך להשפיע עלינו?

12/09/2026

שופיפיי הודיעו על מיגרציה של אפליקציות המובייל שלהם מריאקט נייטיב לאפליקציות נייטיב רגילות, סוויפט וקוטלין

https://shopify.engineering/back-to-native

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

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

עם React Native אפליקציית האייפון ואפליקציית האנדרואיד מפותחות על ידי אותו צוות ולכן שומרות על אחידות בחוויה ובפיצ'רים.

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

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

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

נקיון חג להרגלים ישנים (סיכום וובינר)

11/09/2026

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

ואני מאמין לקטע של החצי שנה כתיבה ושיפור קובץ CLAUDE.md. אבל השאלה האם זה היה הדבר היחיד שהשפיע?

מודלים חדשים מגיעים עם יכולות חדשות, הם רואים דברים שמודלים קודמים לא ראו. גרסאות חדשות של ה Harness מגיעות עם יכולות חדשות ומודלים שרצים בתוכן יראו דברים שבגרסאות ישנות הם לא ראו. אותם כללים שכתבתם ב CLADUE.md שהיו ממש נכונים לפני חצי שנה אולי כבר לא חשובים היום, יותר מזה, אולי הם מזיקים.

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

  1. קונטקסט ריק - הפקודה /context בקלוד קוד מראה את כל התוספים שתופסים מקום בקונטקסט. כשמפעילים את קלוד קוד במצב בטוח עם claude --safe-mode קלוד קוד לא טוען תוספים כלל ומתעלם מקובץ CLAUDE.md. נסו להפעיל את קלוד קוד במצב בטוח לאותה משימה שקודם הפעלתם במצב הרגיל ושימו לב לטוקנים. האם קיבלתם תוצאה דומה במחיר יותר נמוך? אם כן אולי שווה לנקות.

  2. פקודת /plugins בקלוד קוד מראה את כל הפלאגינים שמותקנים. לכו לטאב Installed ותוכלו לראות איזה תוספים לא היו בשימוש בזמן האחרון. אלה מועמדים טובים להסרה.

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

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

  5. שרתי MCP לא רק תופסים מקום בקונטקסט הם גם מכתיבים התנהגות. מספיק שיש לי את שרת ה MCP של כלי הפיתוח של כרום והסוכן ישתמש בו כדי לוודא בדפדפן כל שינוי, גם כשלא ממש צריך. נסו למחוק שרתי MCP ולהחליף אותם בכלי שורת פקודה שמותקנים על המכונה והוראה ספציפית להשתמש בכלים, בדוגמה של הדפדפן ראינו איך כשמתקינים agent-browser במקום devtools mcp הסוכן עובר להפעיל דפדפן רק לפי דרישה.

  6. קובץ CLAUDE.md שהשקעתם חצי שנה של עבודה בכתיבה שלו יכול להיות חוב טכני. בוריס צ'רני, היוצר של קלוד קוד, המליץ למחוק את הקובץ פעם בחצי שנה בגלל התקדמות של המודל. אפילו אם אתם חושבים שהקובץ כולל פרטים חשובים על שיטת העבודה האהובה עליכם אולי אחרי שתמחקו אותו תגלו שהסוכן ממילא מצליח לזהות את שיטת העבודה על בסיס הקוד הקיים.

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