Rebuild
אפליקציית סדנה חיה שמעמידה משימות במבחן לחץ מול AI
- נבנתה ביום אחד
- קהל חי
- 7 איטרציות של פרומפט
מה זה
המשתתפים סורקים קוד QR ומגישים מהטלפון שלהם משימות לימודיות שעיצבו מחדש. ההגשות מופיעות על קיר המנחה, מקובצות לפי שכבות גיל. אפשר להעביר כל אחת מהן מבחן לחץ שמנסה לבצע את המשימה כמו שתלמיד עם AI היה עושה, ומחזיר הכרעה: האם העיצוב המחודש החזיק. האפליקציה נבנתה ביום אחד, למפגש של כל צוות ההוראה בבית ספר.
הבעיה
אי אפשר להגיד לחדר מלא אנשי מקצוע שהעבודה שלהם פגיעה ולצפות שיאמינו לך. צריך לתת להם לגלות את זה בעצמם. האפליקציה הופכת טיעון לראיה, שהקהל מייצר על החומר שלו עצמו, בזמן אמת. זו השיטה, והיא ניתנת להעברה: כל ארגון שמתווכח בתוכו על AI יכול לקבל את החומר שלו, וקיר.
החלק הקשה
ההנדסה שמתחת לקיר. מבחן הלחץ רץ בצד השרת עם הרשאות service-role, ומופעל רק בפעולה יזומה של המנחה; הכרטיסים על הקיר הציבורי נשארים ללא סימון. תפיסה מסוג compare-and-set מבטיחה ששתי הפעלות בו-זמניות לא יקראו למודל פעמיים, וחותמת זמן של התחלה משחררת שורות תקועות בלי משימה מתוזמנת. כל הכרעה נושאת את גרסת הפרומפט שהפיקה אותה, אחרי שבעה סבבי כיול, כך ששיפור הפרומפט אף פעם לא חוסם הרצה מחדש של הגשה ישנה. שער קריאוּת מפנה ג׳יבריש לתוצאה ניטרלית ומוציא אותו מהספירה, כך שהגשה אחת של בדיחה לא יכולה לעוות את הנתונים של החדר. כותרת הסיכום מציגה תמיד את המכנה, N נבדקו מתוך הסך הכול, כי הבדיקה וולונטרית, ומדגם חלקי שמוצג כשלם הוא שקר.
האילוץ. לתוכנה חיה מול קהל אין ניסיון שני, ולכן כל תרחיש כשל היה צריך להיות מנוטרל כבר בשלב התכנון. בקרת הגישה צומצמה בכוונה. למשתמשים אנונימיים יש הרשאת INSERT בלבד, וכל כתיבה של הכרעה וכל מחיקה עוברות דרך פונקציית שרת, עם client מסוג service-role שנוצר בתוך ה-handler, כך ששום דבר לא היה צריך הגדרה, או יכול היה להשתבש, ביום עצמו. הגיליון שבית הספר שומר הוא גיליון מעוצב; הספרייה המתבקשת משמיטה בשקט עיצובים וחלוניות מוקפאות בגרסת הקוד הפתוח שלה, ולכן היא הוחלפה. כל נתוני המפגש נמחקים מעצמם אחרי 48 שעות.
סטאק טכנולוגי
- סטאק טכנולוגי
-
- TanStack Start
- Supabase
- Gemini 2.5 Flash
- ExcelJS