איך שמרתי על Velocity כשמוצר ה-AI שלי התחיל להסתבך

סדרת פוסטים: AI בפועל

זה הפוסט הראשון בסדרה ארוכה שתסקור use-cases ויכולות מעולמות ה-AI. נתחיל מהפשוטים והמוכרים (כמו הפוסט הזה על Workflow עם v0 ו-Cursor) ונמשיך למורכבים יותר, כולל Agents, Multi-Agent Systems, ו-Autonomous Workflows. המטרה: להבין מתי להשתמש במה, ואיך לעשות את זה נכון.

הקדמה: הדילמה של היום שאחרי ה-MVP

לבנות MVP זה קל, במיוחד בעידן ה-v0. אבל האתגר האמיתי מתחיל כשהמוצר "תופס", הפידבקים זורמים, ואתה מוצא את עצמי מפחד לגעת בקוד של עצמך. בפוסט הזה אני רוצה לשתף את ה-Workflow שעזר לי לעבור מהמהירות המטורפת של v0 לעומק ההנדסי של Cursor, מבלי לאבד את השפיות או את ה-Velocity.

שלב 0: החזון – לרוץ מהר בלי לשבור (יותר מדי)

הכל התחיל מצורך אישי: מחולל README מקצועי למנהלים (Managers) ול-ICs. רציתי Wizard פשוט שמוביל את המשתמש בתהליך אפיון, ומייצר Markdown מוכן להפצה. המטרה שלי הייתה ברורה: ערך מקסימלי למשתמש במינימום זמן. רציתי להפיץ את זה, לראות אנליטיקס ב-Vercel ולשמור נתונים ב-Supabase – וכל זה לפני שכתבתי שורת לוגיקה מורכבת אחת.

README Generator Vision

שלב 1: ירח הדבש עם v0 ו-Vercel

בחרתי ב-v0 כנקודת הזינוק. יש קסם ביכולת להגיד ל-AI "תבנה לי Wizard כזה" ולראות אותו קורם עור וגידים ב-Next.js Native. בזכות האקו-סיסטם של Vercel, הכל התחבר לי בשניות: הדיפלוימנט פייפליין, ה-Analytics והאינטגרציה המובנית ל-Supabase (שהקימה לי טבלאות וחיברה Connection Strings בלי שכתבתי שורת לוגיקה). תוך שעתיים היה לי URL חי.

למה לא השקעתי בארכיטקטורה מראש? כי בשלב ה-Discovery, ה-ROI הוא המלך. כל דקה שהייתי משקיע ב-Type Safety מורכב הייתה באה על חשבון הפידבק מהמשתמשים. v0 נועד ל-Iterations ויזואליים מהירים, וזה בדיוק מה שעשיתי.

Vercel Dashboard Integrationv0 Visual Iteration

שלב 2: הקיר – למה ה"וייב קודינג" הופך לחוב טכני?

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

מה קורה שם מבחינה טכנית?

זה נובע בעיקר ממגבלות ה-Context Window וה-Attention Mechanism של מודלי שפה גדולים. כשהקוד ב-v0 נהיה ארוך ומורכב, ה-LLM מתקשה "להחזיק" את כל התלויות בזיכרון העבודה שלו. הוא מתחיל לייצר "רעש", משכפל לוגיקה (Copy-Paste) בין מסלולים במקום לייצר אבסטרקציות, ומתעלם מחוקי TypeScript כדי "לרצות" את המשתמש ולהציג תוצאה ויזואלית מהירה.

שלב 3: תכנון הספרינט – צלילה ל-Plan Mode

כאן עברתי ל-Cursor והפעלתי את ה-Plan Mode. זה הרגע שבו הפסקתי לבקש קוד והתחלתי לבקש תוכנית.

מה זה בכלל Plan Mode?

בניגוד ל-Chat או ל-Autocomplete רגיל, Plan Mode פועל כ-Agent. הוא מבצע ניתוח "Read-only" על כל ה-Filesystem, ממפה תלויות בין קבצים, ובונה Spec (תוכנית עבודה) מפורט לפני שהוא נוגע בשורת קוד אחת. זה יעיל במיוחד כשצריך לבצע Refactoring רוחבי שמשפיע על מספר קבצים במקביל.

Cursor Plan Mode in action

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

שלב 4: עבודה צעד-אחר-צעד (השיטה הבראנצ'ית)

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

שלב 5: מבחן ה"סניורים" – ביקורת עמיתים של AI

אחרי ה-Refactoring המסיבי, שאלתי את Cursor שאלה קשה: "אם נכנסים עכשיו 5 סניורים לצוות – הם יהיו מרוצים? הוולוסיטי שלהם יהיה גבוה? מה הציון שאתה נותן לקוד שלך?". הוא נתן לעצמו 7.5 מתוך 10, והפירוט שלו היה המקום שבו ראיתי עומק הנדסי אמיתי:

  • Configuration system (9/10): מקור אמת אחד.
  • Generic components (8/10): אבסטרקציות שחסכו 80% כפילות.
  • Inconsistent patterns (6/10): זיהוי לוגיקת ניווט שטרם אוחדה.
  • Testing gap (4/10): זיהוי חוסר בבדיקות אוטומטיות.
AI Self-Rating Scoreboard

שלב 6: החוקה – .cursorrules

כדי שהסדר יישמר, ביקשתי מ-Cursor לבנות לעצמו את ה-.cursorrules על בסיס כל השיחה שלנו והשינויים הארכיטקטוניים שביצענו.

הגדרנו יחד את ה-Styles והמגבלות: No Hardcoding (הכל דרך ה-Config), הפרדה מוחלטת בין לוגיקה ל-UI, וחובת נורמליזציה לנתונים ישנים. מעכשיו, ה-AI לא רק "כותב" – הוא אוכף את הארכיטקטורה של עצמו.

Cursor Rules Configuration

ה-Takeaways שלי אליכם:

  1. v0 ל-Validation, Cursor להנדסה: אל תנסו לבנות ארכיטקטורה מושלמת ב-v0.
  2. תכננו ספרינט עם ה-AI: השתמשו ב-Plan Mode כדי לייצר Spec ולנהל סיכונים.
  3. עבדו קטן: בראנצ'ים, בדיקות חוזרות, ומינימום שינויים בכל פעם.
  4. ארכיטקטורה מאפשרת טסטים: Refactoring הוא ההשקעה הכי טובה שלכם בביטחון העתידי של המוצר.

לעוד מוצרים וסדנאות מבית Lead By Nature

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

לעמוד הבית