Een ontwikkelaar nam een taalmodel met 350 miljoen parameters, verfijnde het en implementeerde het als een volledig functionele AI-assistent die in elke moderne webbrowser draait — geen serveroproepen, geen API-sleutels, geen cloudrekening.
Het project levert de gewichten van het model mee met een statische webpagina, waardoor de agent tools kan kiezen, argumenten kan koppelen, referenties zoals "de tweede" kan oplossen en weigert te antwoorden wanneer informatie ontbreekt — terwijl al je gegevens op je eigen apparaat blijven.
Hoe de browsergebaseerde agent is gebouwd
Het startpunt was de LFM2.5-familie van LiquidAI, specifiek de varianten met 230 M en 350 M parameters.
In plaats van productcatalogi of prijstabellen in het model te proppen, leerde de trainer het interactiepatronen. De agent kent nooit een specifieke SKU; het leert hoe het moet:
- De juiste tool kiezen voor een gegeven verzoek.
- De juiste argumenten en identificatoren aan die tool koppelen.
- Ambigue referenties interpreteren (“een dozijn”, “de tweede”).
- Externe tekst ophalen en gebruiken om vragen te beantwoorden.
- Weigeren wanneer de vereiste informatie ontbreekt.
- De conversatie on-topic houden.
De toolset is bewust statisch: list_items, get_item, search_knowledge, add_to_cart, remove_from_cart, clear_cart, checkout en navigate. Het vastzetten van de lijst voorkomt dat het model tool-ID's uit het hoofd leert en houdt de fine-tuning-data klein.
Drie technische keuzes houden het systeem lichtgewicht:
- Vastgelegde tool-lijst – Het model ziet een vaste lijst met acties, dus heeft het geen uitgebreide woordenschat aan toolnamen nodig.
- RAG als tool – Retrieval-augmented generation (RAG) werkt als elke andere functie. De agent roept
search_knowledgeaan om tekst op te halen en voegt die tekst vervolgens direct in zijn antwoord in, waardoor een aparte retrieval-pipeline die latentie en geheugenoverhead zou toevoegen, wordt vermeden. - Grammatica-beperkte decoding – Tijdens de generatie volgt de decoder een eenvoudige grammatica die de output dwingt in een geldige tool-call-structuur. De beperking elimineert verspilde tokens en vermindert foutieve commando's.
Voor de training werd gebruikgemaakt van synthetische datadistillatie. De auteur definieerde 18 interactie-recepten, die elk een typische uitwisseling tussen gebruiker en assistent beschrijven. Een groter “teacher”-model genereerde de natuurlijke taalzijde, terwijl een deterministisch script het exacte tool-call-formaat produceerde. De fine-tuning-sessie verbruikte ongeveer 30 miljoen tokens en paste op een enkele GPU met 16 GB geheugen.
Waarom on-device belangrijk is
- Privacy – Alle gebruikersprompts blijven in het geheugen van de browser. Er verlaat geen telemetrie het apparaat, wat belangrijk is voor gevoelige vragen.
- Offline-functionaliteit – Omdat het model lokaal is gecached, werkt de assistent zonder internetverbinding, wat mogelijkheden biedt voor veldwerk of reizen.
- Kosten – Het leveren van statische modelbestanden elimineert terugkerende kosten voor GPU-gestuurde inference-servers of API-kosten per aanroep.
- Toegankelijkheid – Spraakgestuurde navigatie van complexe webinterfaces wordt haalbaar op apparaten met lage specificaties, waardoor het bereik van webapplicaties wordt vergroot voor gebruikers die afhankelijk zijn van ondersteunende technologie.
Deze voordelen verschuiven de discussie van “Kan een gigantisch model dit beantwoorden?” naar “Hoe klein kan een model zijn en toch nuttige assistentie bieden?”
Potentiële beperkingen
Een model van deze omvang kan geen encyclopedische feiten onthouden. Wanneer een gebruiker vraagt naar een specifieke productprijs of een recent nieuwsbericht, haalt de assistent de informatie op via search_knowledge of weigert beleefd. Dat ontwerp beschermt de privacy, maar koppelt het systeem ook aan de kwaliteit en actualiteit van de externe kennisbron.
Wat je hierna kunt verwachten
De publieke demo is beschikbaar op een eenvoudige GitHub Pages-URL en de broncode is openbaar beschikbaar.
Conclusie: Door een LLM van bescheiden omvang te leren een strikte tool-grammatica te volgen en door retrieval te behandelen als een gewone functie, kunnen ontwikkelaars een nuttige AI-assistent leveren die volledig in de browser leeft — met privacy, offline gebruik en nul cloudkosten, zonder in te leveren op de kernvaardigheden van de conversatie.
