עוזר עיצוב שפועל במכשיר שלך - אין חשבון, No Server
עוזר AI של AI הופך מהיר לתוך סצנה אמיתית באמצעות מודל שפה שפועל לחלוטין בדפדפן שלך. הנה האדריכלות - כלי מוגבל קורא, שני ספקים, וכן חשבון ישר על מה מודל זעיר יכול ולא יכול לעשות.
ההנחה
רוב כלי עיצוב AI שולחים את המהירות לשרת, להפעיל מודל גדול ולשלוח קוד בחזרה. זה צריך חשבון, רשת עגולה ואמון כי העבודה שלך- in-progress מעבירה את התשתית של מישהו אחר.
רצינו לדעת כמה רחוק הולך השני קיצוני: ** עוזר עיצוב שבו המודל פועל על המכונה שלך. לא חשבון. לא להעלות. הסיבה לעולם לא עוזבת את הדפדפן. עכשיו זה חי בעורך של PinePaper כטייס ניסיוני **AI / Code - עוזר **, ופוסט זה הוא חשבון ישר על איך זה עובד ואיפה הוא נופל קצר.
למה לא רק לבקש את המודל לקוד?
הגישה הברורה היא לשאול את מודל ה- on-device לכתוב JavaScript נגד API של API ולנהל אותו. ניסינו את זה. זה נכשל רע.
מודלים קטנים - אלה שמתאימים למחשב נייד - אין להם ידע על API של אפליקציה מסוימת. שאל מודל 0.5-2B כדי להתקשר PinePaper.create() והוא אינו מבטיח: מפתח השיטה לא קורא (SVG בסגנון fill שבו API מצפה color), שיטה שהיא דמיינה, טיעונים בצורת הלא נכונה. הפלט* נראה כמו קוד, ועושה את הדבר הלא נכון.
אנחנו לא מבקשים קוד. אנו מבקשים רשימה מוגבלת של שיחות כלים: **
[
{ "name": "pinepaper_set_background_color", "arguments": { "color": "#0F0F1A" } },
{ "name": "pinepaper_create_item", "arguments": { "itemType": "star", "x": 400, "y": 300, "radius": 90, "color": "#E74C3C", "animationType": "pulse" } }
]
אותו אוצר מילים PinePaper's MCP Server חושף לסוכנים חיצוניים - אך נפלט על ידי מודל פועל באופן מקומי, והוצא להורג על הבד באמצעות משגר קטן.
ייצור לא חוקי בלתי אפשרי
הצעד העיקרי הוא **מחוסן מחוספס. במקום לקוות שהמודל מייצר צורה תקפה, אנו מגבילים את מה שמצביע על כך שהוא אפילו יכול להיפלט: *
- ב-Chrome's Built-in Prompt API (Gemini Nano), אנו עוברים JSON Schema כאמצעי מניעה. המודל יכול רק לייצר אובייקטים אישורי הschema - עם
additionalProperties: false, כל טיעון שהschema לא מגדיר הוא פשוט בלתי ניתן לייצג. - WEBLLM** (מודל פתוח פועל על WebGPU) צור דקדוק *EBNF באמצעות XGrammar. הדקדוק מכתיב את המבנה; המודל ממלא רק את הערכים.
שניהם מייצרים את אותה צורת דיבור כלי. תיקון קטן עובר אז להציל את השליחים ליד מודל זעיר עדיין עושה - name שנפל, טיעונים ללא העטיפה שלהם - על ידי הפניית הכלי בצורת הטיעון. התוצאה היא ש"נסיגה של עטון ירוק" הופכת לקריאה אמיתית של create_item במקום טעות.
שני ספקים, חוזה אחד
AI אינו דבר אחד - תלוי בדפדפן:
- Browser AI - Chrome's Built-in Gemini Nano (
window.LanguageModel). הדוגמניות עם הדפדפן, אין מה להוריד מאיתנו. זהו הנתיב אמין ביותר כיום, כי ה- JSON-schema הוא זול ונתמך היטב. - PinePaper AI - WebLLM פועל מודל Qwen2.5 בכל דפדפן WebGPU. הוא מוריד מודל פעם אחת (כצפוי לאחר מכן), ולאחר מכן רץ במצב לא מקוון.
- Languages - הפניות לא-אנגלית מתורגםות לאנגלית על-הדק הראשון (באמצעות המתרגם המובנה של הדפדפן), מכיוון שהמודלים המוכווני הקוד הקטנים הם ממוקדים באנגלית. הסצנה שנוצרת זהה ללא קשר לשפה מהירה.
המשתמש בוחר את המנוע; כל דבר מטה-הזרם - המגביל, המפרק, הבד - זהה.
עריכה, לא רק מייצרת
גנרטור צילום אחד אינו עוזר. כדי לתמוך "לעשות את הכוכב האדום", המודל צריך לדעת מה כבר על הבד. אז כל סיבוב אנחנו מאכילים אותו תמונה קומפקטית של הפריטים הנוכחיים - העדים, הסוגים והצבעים שלהם - בדיוק כמו צ'אט בצד השרת. "לעשות את הכוכב אדום" ואז לפתור שיחת modify_item אמיתית נגד הדיד של הפריט. (ובגלל שמודל קטן מתייחס לעיתים ל-"The circle" כאשר זה אומר לכוכב, ה-executor פותר אזכורים מטושטשים נגד הבד החי)
יומן השיחה נשמר **על המכשיר שלך ** באחסון מקומי. שום דבר על זה לא נשלח בשום מקום - אלא אם כן אתה בוחר במפורש לשתף הפניות כושלות, אשר מסייע לנו לשפר את ההפניות והדקדוק.
כאשר המודל הקטן אינו מספיק – התגברות
הנה החלק הישר: *דגם 0.5-2B הוא השכבה החלשה ביותר. ערבויות מרתיעות - מבנה לא חוקי, אבל המודל עדיין צריך לבחור את הכלי הנכון ואת הערכים ההגיוניים, וזה לא תמיד יהיה. לבקש מטוגן ומודל תחת פיקוח נותן לך hexagon; לבקש פעמיים עבור "אדום" והוא עשוי להפעיל גנרטור במקום.
אז האדריכלות מתייחסת ל-device כשכבה * First*, לא היחידה. לאחר כמה ניסיונות כושלים, עוזר עוזר מציע ליד את כל השיחה למעלה למודל ה-Cloud Model – אותה כוונה, אותו הבד, מודל הרבה יותר מוכשר – ואתם ממשיכים בדיוק במקום שבו עזבתם. נאמנות נמוכה, חופשית ופרטית, עם מסלול אחד של לחץ על נאמנות גבוהה כאשר אתה צריך את זה.
מה למדנו
- ** המתחרים פוצצו מהר. ** מערכת מבוססת עוזר; דקדוק / סכמה שהופך את התפוקה הבלתי נגמרת לבלתי אפשרית עוזר הרבה יותר. הקפיצה הגדולה ביותר של האמינות הייתה מרתיעה מחוספסת, לא ממהירות טובה יותר.
- גודל מנדל עדיין שולט נסיעה מ-0.5B למודל 1.5B שיפרה באופן מודע את האופן שבו עוזר בוחר את הכלי הנכון. אין דרישה שהופכת מודל זעיר לדגם חכם.
- הדקדוק המלא יכול להיות גדול מדי הדקדוק הראשון שלנו מקודד כל פעולה אפשרית - כולל בריחה באורך מוגבל עבור קוד ציור שרירותי. זה היה כל כך גדול כי מחוספס מחוספס את הדף. דקדוק קומפקטי המכסה את הפעולות הנפוצות הוא ברירת המחדל הנכונה; פני השטח המלא הוא אופטימלי.
- רוץ אותו מהחוט הראשי מודל שעושה את ההקצאה על חוט UI להקפיא את הדף. WebLLM פועל ב- Web Worker, כך שהעורך ממשיך להגיב בעוד מודל נטען ומייצר.
מה הבא
זה ניסיוני ושיפור. על מפת הדרכים:
- ** כיסוי כלים במסלול המחוספס - יותר ממבצעי PinePaper ניתנים לביטוי ללא פלטה חופשית.
- Larger on-device מודלים כמו קטלוג מודל WebGPU גדל, נפח הורדה המסחר עבור אמינות.
- ** הלולאה חזק יותר - באמצעות דוחות כישלונות אופטימליים למדידה אשר מזרזים את המודלים על הדלפק ומקשה עליהם את הדקדוק.
- ** חלק יותר ב-Device, Cloud Handoff**, כך שהסלמה מרגישה כמו לסובב את חיי התקשורת האיכותיים ולא להחליף כלים.
קו דרך: אותו אוצר מילים כלי הבהרתי מניע מודל משני צד של גבול הדפדפן. סוכן חיצוני קורא כלים אלה על פני MCP; מודל על-יד קורא את אותם הצורות באופן מקומי. חוזה אחד, סוכנים בכל מקום שבו הם רצים.
נסה את זה בעורך - פתח AI / Code - Help. זה חינם, רץ על המכשיר שלך, ולא צריך חשבון
Ready to create?
Start making animated GIFs, videos, and graphics — free, no signup.
Open PinePaper Editor