שפות, מסגרות פיתוח ובחירת סטאק
שבעה שירותים לרשימת משימות
אליס, מנהלת חשבונות, ביקשה מ־AI אפליקציית משימות פשוטה למשפחה. עשר דקות אחר כך התוכנית כללה שירות מסד נתונים, שירות אימות זהות, שירות אימייל, תור, פלטפורמת אירוח, אחסון קבצים וכלי ניטור. לכל אחד היה צריך חשבון משלו וכרטיס משלו. אשתה הציצה מעבר לכתף ושאלה למה רשימת קניות צריכה שבע חברות. לאליס לא הייתה תשובה, וה־AI כבר התחיל לפתוח את החשבון הראשון.
- JavaScript ו־TypeScript שולטים באינטרנט וברבים מכלי ה־AI. Python מוביל בנתונים ובאוטומציה. Java ו־C# נפוצים בשרתים ובחברות גדולות. Go מתאים לשירותי רשת פשוטים.
- ספרייה היא ארגז כלים שאתם קוראים לו. מסגרת פיתוח כמו Next.js, Django או Spring קובעת היכן דברים נמצאים וקוראת לקוד שלכם.
- היצמדו לכלים נפוצים שרבים משתמשים בהם. כל שירות נוסף הוא עוד חשבון, תשלום ונקודת כשל.
- ה־Lab של הקורס משתמש ב־TypeScript ו־Next.js. האפליקציה שלכם יכולה להשתמש בסטאק אחר — כתבו את הבחירה ואת הסיבה ב־AGENTS.md.
כל שירות נוסף צריך מטרה מוגדרת
עשה ואל תעשה
- לפני הוספת שירות, שאלו איזו בעיה הוא פותר כאן.
- כתבו את בחירות הסטאק ואת הסיבות ב־AGENTS.md, כולל השפה.
- אם ה־AI בוחר שפה שלא ביקשתם, עצרו ובחרו במכוון.
- אל תתנו ל־AI להוסיף שירות שאינכם יכולים להסביר את מטרתו.
- אל תניחו שכל אפליקציה שנבנית עם AI חייבת להיות ב־JavaScript.
השפות העיקריות
אפליקציות נכתבות בהרבה שפות: JavaScript ו־TypeScript לאינטרנט ולהרבה כלי AI, Python לנתונים ואוטומציה, Java או Kotlin לאנדרואיד ולהרבה שרתים, C# לשרתי .NET ולאפליקציות Windows, Swift לאייפון, ו־Go לשירותי רשת פשוטים. הרעיונות בשיעור הזה — שפה, framework, stack — זהים בכל בחירה. ה־Lab והדוגמאות בקורס משתמשים ב־TypeScript (קבצי .ts) כי כל דפדפן מריץ JavaScript, ורוב כלי ה־vibe coding בוחרים בזה כברירת מחדל. זו בחירת הוראה, לא כלל למוצר שלכם. אם אתם רוצים Python, Java או C#, אמרו את זה לפני שה־AI בונה את השלד.
ספרייה או מסגרת פיתוח
ספרייה היא ארגז כלים שהקוד שלכם שולף ממנו. מסגרת פיתוח הפוכה: היא קובעת איפה כל דבר נמצא, והיא זו שקוראת לקוד שלכם. דוגמה: import { format } from "date-fns" זו קריאה לספרייה; Next.js שמחליט ש־app/page.tsx הוא route זה framework. React היא מסגרת לבניית חלקים בעמוד; Next.js בנויה עליה ומוסיפה עמודים, קוד שרת וניתוב בפרויקט אחד. Django ו־Flask ממלאות את התפקיד הזה ב־Python, Spring ב־Java ו־ASP.NET ב־C#. כשהקורס אומר Next.js, הוא מתכוון לשלד הזה. מסגרת פיתוח מהירה ביום הראשון. אחר כך היא יכולה להפוך למאבק, כשרוצים משהו שהשלד שלה לא נבנה בשבילו.
בחרו משהו משעמם
בחרו כלים פופולריים ומשעממים. דוגמה: לפני שמוסיפים Redis "כי אולי נצטרך תור," שאלו איזה מסך שבור זה מתקן היום. כל שירות נוסף הוא עוד חשבון, עוד חשבונית ועוד דבר שיכול ליפול. לפני שה־AI מוסיף אחד, שאלו איזו בעיה הוא פותר כאן, וכתבו את התשובה ב־AGENTS.md.
ביטויים רגולריים
Regex זו שפה קטנה שמתארת צורה של טקסט (למשל: "בדיוק חמש ספרות"). כשה־AI כותב אחד כזה, בקשו רשימה קצרה של קלטים שהוא אמור לקבל ושל קלטים שהוא אמור לדחות. את התבנית עצמה אין צורך לקרוא.
קראו את התיקייה הראשית של הפרויקט שלי ואמרו באיזו שפה הוא כתוב, וציינו איזה קובץ גילה לכם את זה. אחר כך כתבו את הסעיף Stack ב־AGENTS.md: שורה אחת לכל אחד מאלה: שפה, framework, נתונים, אחסון והתחברות, ולכל אחד הסבר למה. הוסיפו רשימה בשם Not in this stack עם דברים שהחלטנו בכוונה לוותר עליהם. אל תוסיפו שום כלי חדש בלי לשאול. שאלו אותי על כל דבר שלא החלטתי.
דוגמה
תסתכלו רק על שורש הפרויקט שלי ותגידו באיזו שפה האפליקציה כתובה, ואיזה קובץ הוכיח את זה. אחר כך תגידו מה הפקודה שמפעילה את האפליקציה בפיתוח, ואם היא מתאימה לשפה שמצאתם.
הדביקו את ההנחיות לסוכן מתוך תיקיית פרויקט. כשההנחיה אומרת "הפרויקט הזה", הכוונה לאפליקציה שבונים בתרגול או לאפליקציה שכבר יש לכם. עדיין אין פרויקט? קראו עכשיו והדביקו אחר כך, בתרגול.
לפני שאתם בונים משהו, הציעו שני stacks לאפליקציה הזו. אחד יכול להיות TypeScript ואחד Python, Java או C#. לכל stack ציינו שפה, framework, איפה שומרים את הנתונים, איפה זה רץ ואילו שירותים שוכרים, כמה זה עולה בחודש ב־100 משתמשים, ודבר אחד שהוא מקשה לעשות. ובסוף המליצו על אחד.
פרטו כל שירות וכל ספרייה שהפרויקט הזה משתמש בהם. לכל אחד, תגידו במשפט אחד איזו בעיה הוא פותר באפליקציה. סמנו את אלה שאתם לא מצליחים להצדיק, וכמה עבודה ייקח להסיר אותם.
הסבירו את ה־regex הזה חלק אחרי חלק במילים פשוטות, ואז תנו חמישה קלטים שהוא מקבל וחמישה שהוא דוחה, כאלה שאולי יפתיעו אותי. כתבו להם בדיקה והריצו אותה.