כשהכלי לבניית אפליקציות עם בינה מלאכותית מאבד את החוט: להחזיר את הבנייה למסלול בלי להתחיל מחדש
יש תחושה ספציפית שאנשים מתארים אחרי כמה שעות של בנייה עם כלי לבניית אפליקציות עם בינה מלאכותית. השעה הראשונה נהדרת. אתם משרטטים רעיון, אתם צופים בדבר מרכיב את עצמו לנגד עיניכם, אתם לוחצים מסביב באפליקציה הבנויה-למחצה שלכם ומחייכים. ואז איפשהו סביב השעה השלישית, הדברים מתחילים להחליק. הבינה המלאכותית מתקנת את הבאג שדיווחתם עליו, אבל העמוד שמעליו נראה עכשיו אחרת. אתם מבקשים ממנה לבטל, והיא משנה משהו אחר. עד השעה החמישית אתם לא בטוחים מה שמור ומה לא, ואתם מתחילים לתהות אם פשוט כדאי לכם להתחיל מחדש.
לא כדאי. הכלי לא נשבר; הוא איבד את החוט. זה מצב מאוד ניתן לתיקון, ואתם לא צריכים לפוצץ את הפרויקט כדי לצאת ממנו.
מה “לאבד את החוט” באמת אומר
כשכלי מפיק תוצאות טובות, זה כי שני דברים מיושרים: יש לו תמונה ברורה של מה שאתם רוצים, ויש לו תמונה ברורה של איך האפליקציה נראית כרגע. רוב מערבולות הבנייה הגרועות נובעות מאחד מהשניים שנעשה מטושטש.
זה קצת כמו לבקש מחבר לעצב מחדש חדר דרך הטלפון. אם הוא יכול לראות את החדר והוא מבין את המטרה, הוא נהדר. אם הוא זוכר את החדר מתמונה ששלחתם לפני שעתיים, והמטרה השתנתה שלוש פעמים מאז, הוא יתחיל להזיז דברים לפינות שכבר לא קיימות. הבינה המלאכותית באותו מצב. היא עובדת לפי תמונת מצב, ותמונת המצב שלכם התיישנה.
בדרך כלל תשימו לב לזה דרך אחד משלושה סימנים.
סימן 1: הבינה המלאכותית כותבת מחדש את אותו דבר
אתם מבקשים מהבינה המלאכותית לתקן את כפתור ההתחברות. היא כותבת מחדש את כפתור ההתחברות. אתם מבקשים ממנה לתקן את אותו כפתור התחברות שוב — אותו ניסוח, אותה הנחיה — והיא כותבת אותו מחדש שוב, קצת אחרת. עוד שני סבבים והכפתור עכשיו בצבע שלישי וחי בחלק אחר של העמוד.
זה סימן לסחף זיכרון. הבינה המלאכותית הפסיקה להשתמש בעבודה הקודמת שלה כבסיס ומתחילה מחדש מהתיאור שלכם בכל תור. הגרסה החדשה לא תמיד גרועה יותר, היא פשוט שונה, וזה אותו דבר כמו גרועה יותר אם כבר התחלתם לאהוב את הישנה.
כשזה קורה, הטריק הוא לעגן אותה. הפסיקו לתאר את השינוי במונחים מופשטים (“תעשה את כפתור ההתחברות יותר נקי”) והתחילו לתאר אותו במונחים שהבינה המלאכותית יכולה להתאים מול מה שבאמת על המסך (“הכפתור כרגע כתוב עליו ‘התחבר’, ממורכז, וכחול — תשמור את כל השלושה, רק תעגל את הפינות”). אתם מוסרים לבינה המלאכותית תמונת מצב טרייה. הדבר שעקבית עוזר ללא-מתכנתים לצאת מהלולאה הזו הוא משפט שאומר “כרגע הוא עושה X — תשנה רק את Y.”
סימן 2: כל תיקון שובר משהו אחר
אתם מדווחים על טופס הרשמה שבור. הבינה המלאכותית מתקנת את הטופס. אתם מרעננים את העמוד והפריסה של לוח הבקרה זזה. אתם מבקשים ממנה להחזיר את לוח הבקרה. טופס ההרשמה נשבר שוב.
זו המערבולת שמפחידה אנשים להתחיל מחדש, וזו הסיבה הכי נפוצה שבניות נזנחות ב-80% הושלמו. מה שקורה מתחת הוא שהבינה המלאכותית נוגעת בקבצים או רכיבים שמשפיעים על יותר מהאזור שעליו ביקשתם. מייסד שראיתי לאחרונה ביקש מהבינה המלאכותית “לתקן את הצבעים בעמוד הבית” וקיבל סרגל ניווט שונה בכל מקום — כי הסגנונות שמפעילים את שניהם חיו באותו מקום, והבינה המלאכותית תיקנה את שניהם בבת אחת. היא חושבת שהיא מתקנת דבר אחד; היא בעצם עורכת שניים.
התיקון מכני. בקשו מהבינה המלאכותית, בשפה פשוטה, לשנות רק את הקובץ או העמוד או הרכיב שאכפת לכם ממנו, ולהשאיר את כל השאר בשקט. רוב הכלים מכבדים את האילוץ הזה כשאתם מגדירים אותו. “תערוך רק את עמוד ההרשמה. אל תיגע בפריסה של לוח הבקרה, אל תוסיף קבצים חדשים, אל תארגן מחדש שום דבר.” אם הבאג בקוד משותף — נניח, העיצוב שמפעיל גם את הטופס וגם את לוח הבקרה — הבינה המלאכותית תגיד לכם. זה מידע שימושי, וזו נקודת התחלה הרבה יותר טובה מניחוש.
הדבר השני שעוזר כאן: הפסיקו לצבור תיקונים. אם הבנייה במצב שבור-למחצה, קחו ניצחון קטן, שמרו אותו, והמשיכו. כלים יכולים להחמיר בעיות במהירות כי לכל הנחיה יש את המצב השבור-למחצה הקודם כקלט. נקודת שמירה נקייה שוברת את השרשרת הזו.
סימן 3: הבינה המלאכותית שואלת אתכם את אותן שאלות
לפני שלושה תורים היא שאלה איזה מסד נתונים אתם רוצים. אמרתם Postgres. עכשיו היא שואלת שוב, אבל ממוסגר אחרת — “האם הנתונים האלה צריכים להישמר בין סשנים?” — ואתם מבינים שהיא נסחפת בחזרה לאותה החלטה.
זה בדרך כלל אומר שהבינה המלאכותית איבדה את ההקשר הפרויקטלי. היא עובדת עם ההודעות האחרונות, לא עם הבחירות הארכיטקטוניות שעשיתם קודם. אתם לא יכולים באמת להאשים אותה; בני אדם עושים את אותו דבר בפגישות ארוכות. אבל התוצאה היא שתמשיכו להתדיין שוב על היסודות בזמן שאתם מנסים לבנות את הקומה השנייה.
הדרך החוצה היא לכתוב תדריך פרויקט קצר בשפה פשוטה ולהדביק אותו בחזרה כשהבינה המלאכותית מתחילה להיסחף. שניים או שלושה משפטים מספיקים: “זו אפליקציית ווב להזמנת שיעורי גיטרה. המורים מנהלים את הזמינות שלהם. התלמידים מזמינים משבצת זמן, משלמים, ומקבלים מייל אישור. תשתמש ב-Postgres לאחסון וב-Stripe לתשלומים.” הפסקה הזו היא הדבר שהבינה המלאכותית הכי צריכה לשמור קרוב, וזה הדבר שהיא הכי הרבה שוכחת. התייחסו לזה כמו לפתק על המקרר.
ספר משחקים קטן לצאת מהתקיעות
כשאתם נתקלים באחד משלושת הסימנים האלה, הנה מה שנוטה לעבוד, בסדר. אתם לא צריכים לעשות את הכול; הצעד הראשון שמתקן את הסימפטום הוא בדרך כלל מספיק.
שמרו את מה שעובד. לפני כל דבר אחר, ודאו שהחלקים של האפליקציה שלכם שעדיין עובדים שמורים כגרסה או checkpoint. לרוב הכלים זה מובנה; אם לשלכם לא, צלמו מסך והעתיקו את ההתנהגות הגלויה לתוך פתק. אתם הולכים לרצות נקודת ייחוס.
תנו שם למטרה במשפט אחד. בקול, בכתב, איפשהו. “אני מנסה לגרום לטופס ההרשמה לקבל מייל וסיסמה ולשלוח הודעת ברוכים הבאים במייל.” אם אתם לא יכולים לתת לזה שם במשפט אחד, זה חלק מהסיבה שהבינה המלאכותית נסחפת — היא משקפת את העמימות שלכם עצמכם בחזרה אליכם.
בודדו את החלק השבור. אמרו לבינה המלאכותית באיזה עמוד, רכיב, או פיצ’ר מותר לה לגעת. היו ספציפיים. “תערוך רק את טופס ההרשמה. אל תשנה שום דבר אחר.” אם אתם לא יכולים לתת שם למה שבור במדויק, בקשו מהבינה המלאכותית לסכם מה היא שינתה לאחרונה; זה לעיתים קרובות מעלה את החלק הנע האמיתי.
עגנו את השינוי למה שיש שם עכשיו. תארו את המצב הנוכחי ואת מצב היעד. “כרגע מוצגת הודעת שגיאה אדומה מתחת לשדה הסיסמה. אני רוצה שהודעת השגיאה הזו תיעלם כשהמשתמש מתחיל להקליד שוב.” לפני-ואחרי קונקרטי מנצח כוונה מופשטת.
קחו את הניצחון ועצרו. החלק הכי קשה בכל הרשימה הזו. כשהבנייה חזרה למצב עובד, שמרו והתרחקו לכמה דקות. אל תנסו מיד לתקן את הדבר הבא. בניות שצוברות ארבעה או חמישה תיקונים ברצף נוטות להיכנס למערבולת נוספת. בניות שמתקנות דבר אחד, שומרות, ועוצרות נוטות שלא.
מתי זה באמת הזמן להתחיל מחדש
לפעמים הצעד הנכון באמת הוא להתחיל מאפס, ושווה לדעת את הסימנים. אם הפרויקט שלכם עשה הרבה פיבוטים — הרעיון המקורי כבר אינו הרעיון האמיתי, והאפליקציה משקפת שלוש או ארבע גרסאות שונות של “מה זה” — התחלה נקייה עם הנחיה חדשה מהירה יותר מלהתיר. אותו דבר אם שכללתם כל כך הרבה זמן שאתם לא באמת יודעים מה בפרויקט יותר. עלות שקועה תגיד לכם להמשיך. העצמי-של-מחר שלכם יודה לכם על האיפוס.
אבל זה החריג. הגרסה היומיומית של “הבנייה הזו הולכת הצידה” ניתנת לתיקון בחמש דקות אם אתם יודעים מה לחפש. הבינה המלאכותית לא שכחה איך לבנות אפליקציות. היא פשוט שכחה איזו מהן אתם בונים.
אם עברתם אחת מהמערבולות האלה — הלולאות, התיקונים המתגלגלים, אותן שאלות שוב ושוב — נסו לכתוב את מטרת הפרויקט במשפט אחד איפשהו שתוכלו להדביק בחזרה. זה הרגל קטן שמקצר את הרגע התקוע הבא.