• בלוג
  • עמוד 2
  • שלוש ביקורות שמצאתי ברשת נגד פיתוח בעזרת AI

שלוש ביקורות שמצאתי ברשת נגד פיתוח בעזרת AI

30/04/2025
ai

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

1. פגיעה במיומנות

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

בין הדברים שעלו:

  1. אחרי שימוש בכלי השלמה מבוססי AI שכחתי איך לכתוב אפילו פונקציה בסיסית.

  2. התרגלתי לתת ל AI לפתור בעיות וכך הפסקתי להנות מתכנות.

  3. קבלת החלטות קטנות במהלך כתיבת הקוד עוזרת לי לקבל החלטות גדולות לגבי הארכיטקטורה ולהרגיש את המערכת.

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

2. תמונת מציאות חלקית

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

גישת התשובה האחת בעייתית ממגוון סיבות:

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

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

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

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

3. חוב טכני

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

פעם בצוותים אנושיים היינו מדברים על אנשים שכותבים Quick and Dirty ולכן אחרי שנה או שנה וחצי המוצר נתקע וכמו כדור גדול של בוץ אי אפשר לשנות אותו או להוסיף פיצ'רים חדשים.

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

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

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