מתכנת עייף מאשר קוד שנוצר בעזרת AI ומעלה אותו לפרודקשן

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

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

"תעשה לי"

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

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

כל שחכמתו מרובה ממעשיו

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

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

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

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

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

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

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

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

אז מי אחראי?

המשתמש אומר: "אני רק כתבתי בקשה." המתכנת אומר: "ה־AI כתב את הקוד." החברה אומרת: "המודל לא תמיד צפוי." וה־AI עצמו כמובן לא נושא באחריות.

ה־AI קיבל יכולת, האדם ויתר על חלק מהשליטה — אבל האחריות לא באמת עברה לאף אחד.

השבוע התפטר חוקר ה־AI ג'ייקוב קוקסון (Jacob Coxon) מ־Anthropic, לאחר שעבד קודם גם ב־OpenAI, ויצא באזהרה חריפה על המרוץ למערכות חזקות יותר ועל סכנת אובדן השליטה. אפשר להתווכח עם התחזיות החריפות שלו, אבל בשביל הבעיה הזאת לא צריך לחכות ל־AI "על־אנושי". הפער בין מה שהמערכות מסוגלות לעשות לבין מה שבני אדם מסוגלים להבין ולפקח עליו כבר נמצא אצלנו היום. מקור: JDN.

תקן אחריות AI

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

ואולי הכי חשוב: האם האדם שאישר את המערכת באמת מבין אותה — או שהוא רק בדק שהיא רצה בלי שגיאות?

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

לא מספיק שהמכשיר נדלק

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

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

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

מדברים הרבה על היום שבו AI יהיה "על־אנושי". אבל הבעיה מתחילה הרבה קודם — ברגע שבו היכולת שלנו גדולה מההבנה שלנו, וברגע שבו, בשם הנוחות, אנחנו מתרגלים לומר: "תעשה לי."

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