Smart Websites
ארכיטקטורת AI Server-Driven UI: איך לשנות UI בזמן אמת ללא פריסת קוד
מדריך מעשי ליישום ארכיטקטורת Server-Driven UI מונעת AI. למדו איך להזרים מתוך LLM מבנה JSON סגור שמרונדר לרכיבי React בלייב, ללא עדכוני קוד או Deployment.
TL;DR
ארכיטקטורת Server-Driven UI מונעת AI מאפשרת ל-LLM להחזיר מבנה JSON המגדיר את רכיבי הממשק, ולהרכיב דף דינמי ומותאם אישית בלייב – ללא צורך בעדכון קוד או Build חדש.
לפני כחצי שנה ישבתי עם אורי, יזם שמנהל מערכת לניהול נכסים בתל אביב. הוא רצה להציג לכל משתמש שמוציא דוח נכס ממשק שונה לחלוטין: למשקיע זהיר להראות גרף תשואה בולט, ולרוכש דירה ראשונה להבליט מחשבון משכנתא. הבעיה? המפתחים שלו ירקו דם. כל שינוי קטן בממשק דרש שינויי קוד, בדיקות QA וגרסה חדשה ב-GitHub.
אמרתי לו שאין שום סיבה לבנות עשרות דפים קשיחים מראש. במקום זה, אפשר לתת למודל שפה לקבוע מה להציג, בזמן שרכיבי ה-React הקיים באתר מרנדרים את התוצאה בשידור חי.
מה זה בעצם AI Server-Driven UI?
בשנים האחרונות התרגלנו שגרסת האתר נקבעת מראש בזמן ה-Build. הלקוח (הדפדפן) מוריד את קובצי ה-JavaScript, ופונה לשרת רק כדי לקבל נתונים יבשים.
- הגדרה · AI Server-Driven UI
ארכיטקטורת פיתוח שבה מודל שפה (LLM) מחליט אילו רכיבי ממשק להציג ובאיזה סדר, ומחזיר את ההחלטה כקובץ JSON מובנה. הדפדפן מקבל את ה-JSON ומרנדר מתוכו רכיבים מתוך ספריה סגורה ומאושרת מראש.
זה עובד פשוט.
ה-LLM לא מעצב. הוא לא כותב CSS. הוא מתפקד כבמאי. הוא מקבל את בקשת המשתמש, מנתח אותה, ומחזיר רשימת הוראות: "שים למעלה כותרת מסוג X, מתחתיה מחשבון מסוג Y, ובתחתית כפתור פעולה מסוג Z".
איך השרשרת עובדת בפועל?
כדי שהמנגנון יעבוד ללא תקלות, אנחנו חייבים להפריד לחלוטין בין מוח ההחלטות (ה-LLM) לבין שכבת התצוגה (ה-Design System).
| שלב | מנוע קלאסי | AI Server-Driven UI |
|---|---|---|
| מקור ההחלטה | קוד React קשיח | JSON דינמי מ-LLM |
| גמישות ממשק | נדרש Deploy לכל שינוי | שינוי מידי לפי הקשר השאילתה |
| רמת אבטחה | גבוהה קלאסית | גבוהה (באמצעות Schema Validation) |
| זמן פיתוח לרכיב חדש | שעות עד ימים | דקות (הוספה ל-Registry בלבד) |
תהליך העבודה נראה כך:
- המשתמש מבצע פעולה או שואל שאלה.
- השרת שולח את הבקשה ל-LLM יחד עם הגדרת JSON Schema נוקשה (באמצעות Structured Outputs או Zod).
- המודל מחזיר JSON קריא המכיל שמות של רכיבים ופרמטרים.
- הדפדפן מחפש את השמות ב-Component Registry הפנימי שלו ומציג אותם.
0.4s
זמן תגובה ממוצע להרכבת UI מותאם בעזרת Structured Outputs
מקור: Gartner, 2026
אבטחה ומניעת הזיות: חוקי הברזל
טעות נפוצה של מפתחים בראשית הדרך היא לבקש מה-AI לייצר קוד HTML או JSX חופשי. זה אסון אבטחה.
קוד חופשי הוא חור אבטחה.
אם תיתנו ל-LLM פתח פתוח, אתם מזמינים מתקפות XSS, עיצובים שבורים וחוויה מרוסקת במובייל.
לעולם אל תריצו eval() או אל תזריקו HTML חופשי שנוצר על ידי AI. השתמשו אך ורק ברכיבים מוגדרים מראש מתוך ספרית הקומפוננטות שלכם.
כדי למנוע הזיות, מגדירים Zod Schema סגור. אם המודל מנסה להחזיר רכיב שלא קיים ב-Registry, השרת דוחה את התשובה עוד לפני שהיא מגיעה למשתמש.
- הגדרת רכיבים קשיחה ומוגבלת
- תיקוף שדות נוקשה בשרת
- נטרול אפשרות להזרקת סקריפטים
דוגמה מעשית: הרכבת הצעת מחיר בלייב
דמיינו אדם שנכנס לאתר של סוכנות בניית אתרים בתל אביב ומבקש: "אני צריך חנות אונליין קטנה למוצרי קרמיקה בירמיהו, עם חיבור לסליקה".
במקום לשלוח אותו שטופס יצירת קשר גנרי, המערכת מעבירה את הבקשה ל-LLM. המודל מבין שמדובר באי-קומרס מקומי ומחזיר את ה-JSON הבא:
{
"components": [
{
"name": "PricingHeader",
"props": { "title": "הצעת מחיר מותאמת לחנות קרמיקה", "location": "תל אביב" }
},
{
"name": "FeatureList",
"props": { "items": ["קטלוג מוצרים", "מסלקה מקומית", "חיבור למשלוחים"] }
},
{
"name": "ROI_Calculator",
"props": { "defaultAverageOrder": 250 }
}
]
}
הלקוח בדפדפן מקבל את המבנה הזה. ללא רענון עמוד, ה-React Registry מתרגם את התשובה לסדרת רכיבים מעוצבים, נגישים ומאובטחים.
המשתמש מקבל בדיוק את הממשק שהוא צריך באותו רגע.
💡
ה-AI לא מחליף את מעצב ה-UI. הוא הופך למנהל במה שבוחר איזה רכיב עיצובי להעלות לבמה ומתי.
סיכום
ארכיטקטורת AI Server-Driven UI מייצרת נקודת מפגש חדשה בין פיתוח תוכנה לחוויית משתמש. היא מאפשרת לאתרים ולאפליקציות להיות דינמיים באמת, ללא הגדלת החוב הטכנולוגי או סיכון האבטחה של המערכת.
כשבונים את זה נכון עם ספרית רכיבים חזקה ו-Schema קשיח, מקבלים את הטוב מכל העולמות: מהירות של קוד מקומפל יחד עם גמישות של אינטליגנציה מלאכותית.
שאלות נפוצות
כל מה שעוד רצית לדעת
מה ההבדל בין SDUI קלאסי ל-AI SDUI?
האם יש פגיעה בביצועים או בזמני טעינה?
איך מונעים מה-AI להרוס את העיצוב של האתר?
כתב
אדיר בן יעקב · Adir Ben Yaakov
מקים JustBetterSite, סוכנות בניית אתרים ושיווק דיגיטלי בתל אביב. מתמחה ב-GEO (Generative Engine Optimization) — בנייה של אתרים שמופיעים בתשובות של ChatGPT, Claude, Perplexity ו-Gemini, לא רק בגוגל.
עוד עליי →להמשך הקריאה
מאמרים קשורים
Smart Websites
6 צעדים להרצת גרפיקה ו-AI חלק בלי לתקוע את האתר
מדריך מעשי להעברת חישובי AI ואנימציות מורכבות ל-OffscreenCanvas ו-Web Workers. שומרים על ה-Main Thread פנוי ועל 60fps נקי בגרפיקה מתקדמת.
המשךSmart Websites
איך למנוע תקיעות במסך כשה-AI מזרים טקסט במהירות: ניהול Backpressure ב-UI
הזרמת תשובות AI במהירות גבוהה עלולה לחנוק את ה-DOM ולגרום לתקיעות זיכרון. למדו איך להשתמש ב-ReadableStream ו-requestAnimationFrame לבניית ממשק נטול קפיצות.
המשךSmart Websites
איך לחבר את ה-PWA שלכם לתפריט השיתוף בנייד עבור עוזר ה-AI
מדריך מעשי להטמעת Web Share Target API באפליקציית PWA. למדו איך לאפשר למשתמשים לשתף טקסט, קישורים ותמונות מכל אפליקציה בנייד ישירות למנוע ה-AI באתר שלכם.
המשך