מאב טיפוס לייצור: צ'קליסט

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

בקצרה

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

לפני המשתמש האמיתי הראשון

#סעיףאיך לבדוק
1הקוד נמצא במאגר שלכם, לא רק בתוך הפלטפורמהיש מאגר GitHub או אחר על שמכם, וממנו נבנית אותה גרסה שרצה באתר
2אין סודות בקוד שרץ בדפדפןF12, חיפוש key, secret, token. כל מה שנמצא, חוץ מהמפתח הציבורי של Supabase, עובר לשרת ומבוטל.
3השרת בודק גישה לנתוניםמשתמש שני מנסה לפתוח רשומה של מישהו אחר על ידי החלפת מספר בכתובת. ב-Supabase מופעל RLS בכל טבלה.
4מסד הנתונים בייצור נפרד מהבדיקותניסויים ונתוני בדיקה לא מגיעים למסד שבו חיים הלקוחות
5גיבוי משוחזרלא "גיבויים נעשים", אלא שגיבוי שוחזר בפועל פעם אחת והנתונים נבדקו

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

בחודש הראשון

#סעיףאיך לבדוק
6אתם רואים שגיאות לפני הלקוחמחובר איסוף שגיאות (למשל Sentry), וההתראות מגיעות לאדם חי
7שינויי סכמה מנוהלים בגרסאותכל שינוי בטבלאות הוא קובץ מיגרציה במאגר, לא עריכה ידנית בקונסולת הייצור
8התראות תשלום מאומתותה-webhook בודק את החתימה של חברת הסליקה, והתראה חוזרת לא יוצרת תשלום שני
9ההוצאה על AI מוגבלתאם האפליקציה קוראת למודלים: יש מגבלה למשתמש, תקציב כולל והתראה על חריגה
10המיילים מגיעיםלדומיין מוגדרים SPF ו-DKIM, ומיילים של הרשמה ואיפוס סיסמה לא נופלים לספאם

עם הגדילה

#סעיףאיך לבדוק
11הגנה מפני שימוש לרעההגבלת קצב על הרשמה, כניסה ופעולות יקרות
12עומסהשאילתות הנפוצות במסד משתמשות באינדקסים; רשימה לא טוענת את כל הטבלה
13תלויותכל חבילה קיימת ומתוחזקת, קובץ נעילת הגרסאות נמצא במאגר, ופגיעויות ידועות נסגרו
14חוק ופרטיותמדיניות הפרטיות תואמת את מה שהמערכת אוספת בפועל; בישראל אלה הדרישות של תיקון 13
15אדם שמכיר את המערכתמישהו מלבד עוזר ה-AI יכול להסביר איך המערכת בנויה ואיך מעלים תיקון בלילה

למה דווקא בסדר הזה

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

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

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

אם חסרים סעיפים

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

שאלות נפוצות

אפשר להעלות לייצור אפליקציה שנבנתה ב-Lovable או ב-Bolt?

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

מה הכי מסוכן באב טיפוס של AI לפני השקה?

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

צריך לכתוב את אב הטיפוס מחדש מאפס?

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

כמה זמן לוקחת ההכנה לייצור?

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

מה עושים אם האפליקציה כבר עובדת עם לקוחות?

מתחילים בסעיפים 2, 3 ו-5, בסדר הזה: סודות, גישה, גיבוי. הם סוגרים את מה שאי אפשר לתקן בדיעבד.

מאיפה להתחיל

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

דברו איתי

קשור: פרויקט vibe coding, בדיקת אבטחה לקוד AI, אבחון קוד AI

SLAtech LTD