Асистент дизайну, який працює на вашому пристрої - Ні акаунт, No Server
Помічник PinePaper на прикладі AI перетворює запит на реальну сцену за допомогою мовної моделі, яка повністю працює в браузері. Тут архітектура — обмежені виклики інструментів, два провайдери та чесний рахунок чого може і не обійтися.
Приміщення
Більшість інструментів дизайну AI надсилайте запит на сервер, запустіть велику модель і відправте код назад. Для чого потрібен обліковий запис, мережевий круглий план, і довірте, що ваша робота-в-прогрес переходить в будь-яку іншу інфраструктуру.
Ми хотіли знати, як далеко інший екстремальний йде: А конструктор, де модель працює на власній машині.* Немає акаунту. Немає завантаження. Підказка ніколи не залишає браузера. Це тепер живе в редакторі PinePaper як експериментальний *AI / Code → Асистент вкладка, і це повідомлення є чесним обліковим записом, як це працює і де він падає коротким.
Чому не просто запитати модель для коду?
Ми можемо самі зателефонувати одержувачу і узгодити зручний час. Ми спробували його. Не вдалося.
Маленькі моделі — ті, які підходять на ноутбуці — мають *без знання конкретного додатку API. Запитайте модель 0.5-2B для виклику PinePaper.create() і він імпровізує: ключ метод не читається ( SVG-style fill, де API очікує color), метод, який він уявляв, аргументи у неправильній формі. Введіть номер мобільного, який Ви вказали при укладаннi договору з банком - для ідентифікації.
Так ми не запитуємо код. Ми попросимо до****
[
{ "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 MCP сервер поширюється на зовнішні агенти — але випромінюється моделлю, що працює локально, і виконаний на полотні через невеликий диспетчер.
Виготовлення недійсного виходу
Ключовий рух - ** Замість захоплення моделі виробляє дійсну форму, ми протипоказаємо що токени це навіть дозволено випромінювати:
- На Chrome's вбудований Prompt API (Gemini Nano), ми проходимо JSON Schema в якості обмеження відповіді. Модель може виготовити тільки об'єкти, що посвідчують схему - з
additionalProperties: false, будь-яким аргументом, що schema не визначено, є буквально непередбачуваним. - WebLLM (відкрита модель, що працює на WebGPU), ми Прикріпіть граматику*** через XGrammar. граматика диктує структуру; модель лише заповнюється значеннями.
Як виробляють однакову форму інструментів. Невеликий ремонт переходить, після чого справляється в найближчий варіант крихітної моделі все ще робить — скидати name, аргументи без їх обгортки — шляхом налаштування інструмента від форми аргумента. Результатом є те, що "зніміть зелений петагон" стає реальний виклик create_item замість помилки.
Два провайдера, один договір
РџРμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμС‚РμР»РμР»РμР»РμР»РμР»РμР»РμР»РμллРμР»РμР»РμР»РμллРμллРμР»РμР»РμллРμллРμлллллллллллРμлллллллллллллллллллРμРμРμРμРμРμллРμРμллллллллРμллРμРμРNo
- Browser AI — вбудований Chrome Gemini Nano* (
window.LanguageModel). Модельні кораблі з браузером; немає нічого для завантаження з нас. Це найнадійніший на шляху розробки сьогодні, тому що JSON-schema constraint є дешевим і добре підтримується. - PinePaper AI — WebLLM, що працює в моделі Qwen2.5 в будь-якому браузері WebGPU. Завантажує модель один раз (заплановано після цього), потім працює в автономному режимі.
- Languages* — неанглійські підказки переведені на англійську мову на-розробнику (через вбудований перекладач браузера), адже маленькі моделі орієнтовані на код англійською мовою. Створена сцена є однаковою незалежно від мови підказки.
Користувач забирає двигун; все внизу — обмеження, виконавець, полотно — ідентичний.
Редагування, не просто генерувати
Одноразовий генератор не є помічником. Для підтримки «зробити зірку червоний», модель повинна знати, що вже на полотні. Отже, кожен поворот, ми подаємо його компактним знімком поточних елементів — їх повік, види та кольори — точно так само, як серверний чат буде. "Зробити зірку червоний" потім вирішить реальний виклик modify_item проти ідентифікатора виробу. (І тому, що невелика модель іноді відноситься до "сірко" коли це означає зірку, виконавець вирішує нечітки посилання на живе полотно.)
Журнал бесіди зберігаються ** на вашому пристрої*** у місцевому зберіганні. Ніщо про це відправлено в будь-який час — якщо ви явно оптимізуєте, щоб поділитися невдалими підказками, які допомагають нам покращити підказки та граматику.
Коли невелика модель недостатньо — ескалати
Ось чесна частина: *a 0.5–2B модель є найслабшим ярусом. Зміцнений декодування гарантує повна структура, але модель все ще має підібрати правильний інструмент і сенсаційні значення, і це не завжди не завжди. Запитайте на пентагон і підвидачену модель дає вам шестигранну; запитайте двічі на "червоний" і він може запустити генератор замість.
Ми можемо самі зателефонувати одержувачу і узгодити зручний час і місце вручення квітів, а якщо необхідно, то збережемо сюрприз. Після того, як кілька невдалих спроб, помічник пропонує ** до Хмарної моделі** — однотонний, той же полотно, набагато більш здатний модель — і ви продовжуєте точно, де ви залишили. Низький рівень, вільний і приватний, з одним клацанням шляху до високої чіткості, коли вам потрібно.
Що ми навчимося
- Концентрати збиті підказки. Підказка на заземлену систему; граматика/шмама, яка не дає ніякого виходу. Єдиний найбільший стрибок надійності прибув з обмеженого розшифрування, не від кращого підказка.
- Розмір моделі домінує. Зійшовши від 0.5B до 1,5B моделі помітно поліпшується, як часто помічник забирає правильний інструмент. Немає підказки, що перетворює крихітну модель в смарт.
- ** Повна граматика може бути занадто велика.** Наша перша граматика закодована every можлива операція — включаючи обмежену довжину втечу люка для довільного коду малювання. Він був настільки великим, що протипоказаний декодування закріпив сторінку. Компактна граматика, що охоплює загальні операції, є правильним за замовчуванням; повна поверхня оптимізується.
- Run від основної нитки. Модель, що виконує навігацію на нитку UI, запускає сторінку. WebLLM працює в Web Worker, тому редактор залишається відповідальним, коли модель завантажує та генерує.
Що далі
Це експериментальне і вдосконалення. На дорожню карту:
- Покриття інструменту в обмеженому шляху* — більше операцій PinePaper, які виражаються без вільного місця втечу.
- Larger on-device моделі, як каталоги моделі WebGPU ростуть, розмір завантаження торгів для надійності.
- Ущільнювач вальвальної петлі — за допомогою опційно-збійних звітів, щоб виміряти які підказки про подорож моделей на приладі та затвердити граматику проти них.
- А гладка на-розробці → Хмарний відключення, тому ескалація відчуває себе таким чином, щоб перетворювати якісний диал, а не переключаючи інструменти.
Лінія: той самий декларативний інструмент словника приводить модель на будь-якій стороні межі браузера. Зовнішній агент викликає ці інструменти над MCP; модель on-device викликає однакові форми локально. Один контракт, агенти, де вони працюють.
AI / Code → Асистент. Це безкоштовно, працює на вашому пристрої, і не потребує облікового запису.*
Ready to create?
Start making animated GIFs, videos, and graphics — free, no signup.
Open PinePaper Editor