תחזוקת אפליקציות שנבנו עם בינה מלאכותית: מה שאף אחד לא מספר לכם על השבוע השני
בסוף השבוע הראשון עם Proyecta, אתם משחררים משהו אמיתי. זה עובד. המשתמשים שלכם (או הצוות שלכם, או העצמי העתידי שלכם) מתחילים להשתמש בו. ואז זה יום שני ולקוח שולח מייל: “אפשר להוסיף תפריט נפתח לסינון לפי אזור?”
ברוכים הבאים לתחזוקה. זה החלק בבנייה של אפליקציה עם בינה מלאכותית שאף אחד לא מדבר עליו, והחלק שבו רוב הפרויקטים או הופכים לנכס ארוך-טווח או נושרים בשקט מהצוק. החדשות הטובות הן שתחזוקת אפליקציה שנבנתה עם בינה מלאכותית היא חוויה שונה מתחזוקת קוד מסורתי. החדשות הכנות הן ש”שונה” לא אומר “חינם”.
מה תחזוקה באמת אומרת
כשמתכנתים מקצועיים אומרים “תחזוקה”, הם מתכוונים לארבעה דברים, פחות או יותר:
- הוספת פיצ’רים קטנים שאנשים מבקשים אחרי ההשקה.
- תיקון דברים שנשברו או שהיו שגויים מההתחלה.
- הדבקת הקצב עם שינויים מחוץ לאפליקציה שלכם — ספק תשלומים מעדכן את ה-API שלו, דפדפן חדש יוצא, צורת הנתונים שלכם משתנה.
- ניקיון כדי שבסיס הקוד לא יהפוך לאט-לאט לביצה.
עבור אפליקציה שנבנתה עם בינה מלאכותית, כל הארבעה עדיין קורים. מה שמשתנה הוא מי עושה אותם ואיך העבודה מרגישה.
החדשות הטובות: אפשר לדבר איתה
הנה החלק שאף אחד לא סיפר לכם כשהעתקתם-הדבקתם קוד ממדריכים ישנים. עם כלי לבניית אפליקציות עם בינה מלאכותית, אתם מתחזקים את האפליקציה באותה דרך שבה בניתם אותה: על ידי תיאור מה שאתם רוצים.
דוגמה אמיתית. מייסדת שאנחנו מכירים בנתה CRM קטן לפרקטיקת האימון שלה — לקוחות, פגישות, מעקב תשלומים, הכול. שלושה שבועות אחרי ההשקה, לקוחה הזכירה שהיא הייתה שמחה לראות כמה פגישות עשתה השנה. היא פתחה את האפליקציה, אמרה: “תוסיף מונה ‘פגישות השנה’ לכל כרטיס לקוח, ששואב מטבלת הפגישות שבה התאריך הוא ב-2026.” שתים-עשרה דקות לאחר מכן, זה היה באוויר. היא חזרה לאמן.
הסיפור הזה נשמע נורמלי עד שאתם נזכרים בחלופה: לפנות לפרילנסר, לחכות יומיים, לשלם 300 דולר, לבדוק PR שהיא לא הבינה לגמרי, ולהתפלל ששום דבר אחר לא נשבר. לולאת התחזוקה לא מהירה יותר כי הבינה המלאכותית חכמה יותר מהפרילנסר. היא מהירה יותר כי בלולאה יש פחות בני אדם.
החדשות הקשות יותר: דברים קטנים מצטברים
הנה החלק שתופס אנשים לא מוכנים. אפליקציות שנבנו עם בינה מלאכותית נראות קלות לשינוי כי להוסיף דברים זה קל. מה שלא קל הוא לשמור על כל הדבר קוהרנטי ככל שהוא גדל.
כמה דפוסים שאנחנו רואים משתבשים:
- הסבך המקרי. אתם מבקשים “תוסיף שדה הנחה לקופה”. שש גרסאות לאחר מכן, לוגיקת ההנחה חיה בשלושה מקומות, ורק אחד מהם נכון. שום דבר עדיין לא נשבר, אבל השינוי הבא הולך להיות מבלבל.
- הדרישה הנשכחת. הוספתם “משלוח חינם מעל 50 דולר” במרץ. במאי, אתם מבקשים מהבינה המלאכותית “לעשות מחדש את הקופה כדי לתמוך בכרטיסי מתנה”. היא עושה זאת. כלל המשלוח החינם נעלם. אף אחד לא שם לב במשך שבועיים.
- הסחף. האפליקציה שלכם התחילה כ”כלי בשבילי”. עכשיו הצוות שלכם משתמש בה. המודל המנטלי שהבינה המלאכותית עובדת לפיו הוא עדיין “בשבילי”, כי זה מה שאמרתם במקור. פיצ’רים חדשים מרגישים מוזר, ואתם לא מצליחים לשים על זה את האצבע.
אף אחד מאלה אינו כשל של כלי לבניית אפליקציות עם בינה מלאכותית. אלה כשלים של זיכרון ושל הקשר משותף — אותן בעיות שיש לצוות של מתכנתים אנושיים, רק בצורה אחרת.
איך לארגן את עצמכם
הצוותים שמצליחים בתחזוקה חולקים כמה הרגלים. הם בעיקר לא הרגלים טכניים. הם הרגלים לגבי איך אתם מתארים מה האפליקציה שלכם היא ומה השתנה.
שמרו מסמך “מה האפליקציה הזו”. עמוד אחד. הקהל, המטרות, החוקים (“משלוח חינם מעל 50 דולר”, “אנחנו לעולם לא שולחים מייל למשתמשים בימי ראשון”, “טלפון הוא המפתח הראשי, לא מייל”). כשאתם מבקשים מהבינה המלאכותית לשנות משהו, הדביקו את החוק הרלוונטי לתוך ההנחיה. אתם לא עוקפים את האינטליגנציה של הבינה המלאכותית; אתם מזינים לה את ההקשר שהיא לא יכולה לזכור.
תארו שינויים במונחים של התנהגות, לא קוד. “אני רוצה שמשתמשים יראו את סינון האזור שלהם נזכר בין הפעלות” היא בקשה הרבה יותר טובה מ”תוסיף localStorage לסינון”. הראשונה מתארת מה אתם רוצים; השנייה מכתיבה אחת מחמש-עשרה דרכים לעשות זאת, וכנראה לא הטובה ביותר.
עשו שינויים אחד בכל פעם. שני שינויים בהנחיה אחת אומר שאחד מהם עלול להיכשל בשקט ולא תדעו איזה. הדרך המהירה ביותר לתחזק אפליקציה עם בינה מלאכותית היא לשמור על האיטרציות שלכם קטנות מספיק כדי שתוכלו לדעת, במבט חטוף, אם התוצאה נכונה.
הסתכלו על מה שהשתנה. רוב הכלים מראים לכם תצוגה מקדימה. השתמשו בה. שלושים השניות שאתם מבלים בלחיצות מסביב כדי לאשר שהפיצ’ר החדש עובד וגם שהפיצ’רים הישנים עדיין עובדים הן הביטוח הזול ביותר שתקנו השנה.
מה אתם לא יכולים לעשות (וכנראה לא צריכים)
יש פיתוי, אחרי שבניתם אפליקציה עם בינה מלאכותית, לחשוב שהיא יכולה גם להפעיל את האפליקציה בשבילכם. היא לא יכולה, והפער אמיתי:
- היא לא תספר לכם כשמשהו נשבר בשקט. לוגים, ניטור, תורנויות כוננות — אלה עדיין דאגה נפרדת. רוב הכלים לא צופים באפליקציית ה-production שלכם כמו שמהנדס backend היה.
- היא לא יודעת על העולם מחוץ לאפליקציה שלכם. אם ספק תשלומים מוציא משימוש API, הבינה המלאכותית לא יודעת עד שאתם מספרים לה. הירשמו ליומני השינויים של הספקים שלכם. קראו את המייל שלכם.
- היא לא יכולה לקבל החלטות מוצר בשבילכם. האם להוסיף פיצ’ר, איזו פשרה לעשות, מה המשתמשים שלכם באמת רוצים — זה עדיין אתם. הבינה המלאכותית היא זוג ידיים מהיר מאוד; המוח הוא שלכם.
התמונה הריאליסטית
אחרי שישה חודשים עם אפליקציה שנבנתה עם בינה מלאכותית, רוב האנשים שאנחנו מדברים איתם נוחתים איפשהו ככה: הם מבלים אולי שעתיים עד ארבע שעות בחודש על שינויים, כמעט הכול בשיחה. השיפוצים הגדולים שהם פעם חששו מהם — “אני רוצה להוסיף קטע חדש לגמרי” — מרגישים כמו צהריים טובים אחד. הדברים המשעממים — “פורמט התאריך שגוי בייצוא” — מרגישים כמו הנחיה טובה אחת.
מה שאין להם הוא הרעש הרקעי המתמיד של בסיס קוד מסורתי: עדכוני תלויות, מעברי frameworks, טלאי אבטחה, הגדרות בנייה. הרעש הזה נספג לתוך הפלטפורמה. אתם משלמים לפלטפורמה כדי שתטפל בו, וזו עסקה הרבה יותר טובה מלשלם למתכנת כדי שיטפל בו.
אם אתם עומדים לבנות את האפליקציה הראשונה שלכם, הפוסט על מה צריכה להיות האפליקציה הראשונה שלכם שבניתם עם בינה מלאכותית שווה קריאה לפני שאתם מתחילים. ואם אתם כבר כמה שבועות פנימה ומרגישים חלק מהדפוסים שלמעלה, זה נורמלי. כתבו את מסמך ה”מה האפליקציה הזו” שלכם בסוף השבוע הזה. העתיד-שלכם, בעוד שלושה חודשים, מבקש לוח בקרה חדש, ישמח מאוד שעשיתם זאת.