מפתח לקח מודל שפה בעל 350 מיליון פרמטרים, ביצע לו כוונון עדין (fine-tuning), ופרסם אותו כעוזר בינה מלאכותית (AI) פונקציונלי לחלוטין שרץ בתוך כל דפדפן אינטרנט מודרני — ללא קריאות לשרת, ללא מפתחות API וללא חשבון ענן.
הפרויקט מספק את המשקולות (weights) של המודל יחד עם דף אינטרנט סטטי, מה שמאפשר לסוכן לבחור כלים, לקשור ארגומנטים, לפתור התייחסויות כמו "השני" ולסרב לענות כשחסר לו מידע — וכל זאת בזמן שהנתונים שלכם נשארים במכשיר שלכם.
איך נבנה הסוכן המבוסס על דפדפן
נקודת ההתחלה הייתה משפחת ה-LFM2.5 של LiquidAI, ובמיוחד גרסאות ה-230M וה-350M פרמטרים.
במקום לדחוס קטלוגי מוצרים או טבלאות מחירים לתוך המודל, המאמן לימד אותו דפוסים של אינטראקציה. הסוכן לעולם אינו מכיר SKU ספציפי; הוא לומד איך:
- לבחור את הכלי המתאים לבקשה מסוימת.
- לקשור את הארגומנטים והמזהים הנכונים לאותו כלי.
- לפרש התייחסויות מעורפלות ("תריסר", "השני").
- למשוך טקסט חיצוני ולהשתמש בו כדי לענות על שאלות.
- לסרב כאשר המידע הנדרש חסר.
- לשמור על שיחה בנושא.
סט הכלים הוא סטטי בכוונה: list_items, get_item, search_knowledge, add_to_cart, remove_from_cart, clear_cart, checkout, ו-navigate. הקפאת רשימת הכלים מונעת מהמודל לשנן מזהי כלים ושומרת על נתוני הכוונון העדין (fine-tuning) קטנים.
שלוש בחירות הנדסיות שומרות על המערכת קלה:
- רשימת כלים קפואה – המודל רואה רשימה קבועה של פעולות, ולכן הוא אינו זקוק לאוצר מילים גדול של שמות כלים.
- RAG ככלי – יצירה מוגברת בשליפה (RAG) פועלת כמו כל פונקציה אחרת. הסוכן קורא ל-
search_knowledgeכדי להביא טקסט, ואז מכניס את הטקסט הזה ישירות לתגובתו, ובכך נמנע מצינור שליפה (retrieval pipeline) נפרד שעלול להוסיף שיהוי (latency) ועומס זיכרון. - פענוח מוגבל דקדוקית – במהלך היצירה, המפענח (decoder) עוקב אחר דקדוק פשוט שמכריח את הפלט להיכנס למבנה תקין של קריאת כלי. המגבלה הזו מבטלת בזבוז של טוקנים ומפחיתה פקודות לא תקינות.
האימון השתמש בזיקוק נתונים סינתטיים (synthetic data distillation). המחבר הגדיר 18 "מתכוני אינטראקציה", שכל אחד מהם מתאר חילופי דברים טיפוסיים בין משתמש לעוזר. מודל "מורה" גדול יותר יצר את צד השפה הטבעית, בעוד שסקריפט דטרמיניסטי ייצר את הפורמט המדויק של קריאת הכלי. הרצת הכוונון העדין צרכה כ-30 מיליון טוקנים והסתדרה על גבי GPU בודד עם 16GB של זיכרון.
למה עיבוד על המכשיר (on-device) חשוב
- פרטיות – כל הנחיות המשתמש (prompts) נשארות בזיכרון הדפדפן. שום טלמטריה לא עוזבת את המכשיר, מה שחשוב עבור שאילתות רגישות.
- יכולת עבודה לא מקוונת – מכיוון שהמודל נשמר במטמון (cached) מקומית, העוזר עובד ללא חיבור לאינטרנט, מה שפותח אפשרויות לעבודה בשטח או לנסיעות.
- עלות – אספקת קבצי מודל סטטיים מבטלת את הצורך בשרתי הסקה (inference servers) מבוססי GPU חוזרים או בעמלות API לכל קריאה.
- נגישות – ניווט מבוסס קול בממשקי אינטרנט מורכבים הופך למעשי במכשירים בעלי מפרט נמוך, מה שמרחיב את טווח ההגעה של אפליקציות אינטרנט למשתמשים המסתמכים על טכנולוגיות מסייעות.
היתרונות הללו מעבירים את השיח מ-"האם מודל ענק יכול לענות על זה?" ל-"כמה קטן מודל יכול להיות ועדיין לספק סיוע מועיל?".
מגבלות פוטנציאליות
מודל בגודל כזה אינו יכול לשמור עובדות אנציקלופדיות. כאשר משתמש מבקש מחיר של מוצר ספציפי או כותרת חדשותית עדכנית, העוזר או ששולף את המידע באמצעות search_knowledge או מסרב בנימוס. עיצוב זה מגן על הפרטיות אך גם קושר את המערכת לאיכות ולרעננות של מקור הידע החיצוני שלה.
מה כדאי לעקוב אחריו בהמשך
הדמו הציבורי נמצא בכתובת URL פשוטה של GitHub Pages, וקוד המקור זמין באופן פתוח.
בשורה התחתונה: על ידי לימוד LLM בגודל צנוע לעקוב אחר דקדוק כלים קשיח ועל ידי התייחסות לשליפה (retrieval) כאל פונקציה נוספת, מפתחים יכולים לספק עוזר AI מועיל שחי כולו בדפדפן — ומציע פרטיות, שימוש לא מקוון ואפס עלויות ענן מבלי להקריב יכולות שיחה בסיסיות.
